Einrichtungen und Anlagen (Raumfahrt)

Dokumente 41 - 60 von 61
Erste Seite Vorherige Seite Seite 3 von 4 Nächste Seite Letzte Seite

Synergia: Driving Massively Parallel Particle Accelerator Simulations with Python

(0,25 MB)

Simulations of beam dynamics in particle accelerators have a wide range of computational requirements. The simplest calculations involve independent-particle tracking of a few thousand particles which can easily be accomplished on modern desktop computers. Calculations involving collective effects may require millions or even billions of particles and push the limits of modern supercomputers. We describe Synergia, a hybrid Python/C++ accelerator simulation package capable of dealing with the entire spectrum of beam dynamics simulations. We describe the motivations for the hybrid language design and discuss the issues that arise in the implementation. We also describe the most novel feature of our code, a hybrid C++/Python object serialization system, in detail. The same techniques are of general use in any domain by providing data and computationally intensive C++ frameworks with the advanced programming and user-friendly features of Python.
Verwandte Themen: Physik der Elementarteilchen und Felder Strukturmechanik Elektronik und Elektrotechnik Einrichtungen und Anlagen (Raumfahrt) Energieproduktion und Konversion

Compiling Python Modules to Native Parallel Modules Using Pythran and OpenMP Annotations

(0,24 MB)

High Performance Computing users traditionally rely on low-level, compiled language such as C or FORTRAN to perform compute-intensive tasks. As a consequence, it is a common situation to have High Performance Computing application written in a high-level language such as Python, calling native routines for compute-intensive tasks. To improve development speed and reduce maintenance costs, using a higher-level language like Python seems attractive. While it is usually associated with low performance, several solutions such as Cython, Numba, Parakeet or Pythran offer to automatically or semi-automatically turn Python functions into native ones. One of the key points required to match the performance of native applications is the ability to write parallel applications. This paper studies the addition of OpenMP directives, a popular model to describe parallelism in C/C++/FORTRAN applications, to Pythran, an automatic compiler from a subset of Python to C++. It shows that scientific Python applications annotated with OpenMP directives can be turned by an automatic compiler into native applications that run within the same order of magnitude than manually-written ones.
Verwandte Themen: Elektronik und Elektrotechnik Einrichtungen und Anlagen (Raumfahrt) Numerische Analyse
Erste Seite Vorherige Seite Nächste Seite Letzte Seite