Using OpenMP tasks for a 2D Vlasov-Poisson Application - Maison de la Simulation Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2019

Using OpenMP tasks for a 2D Vlasov-Poisson Application

Résumé

Loop-based parallelism is a common in scientific codes. OpenMP proposes such work-sharing construct to distribute works over available threads. This approach has been proved to be sufficient for many array-based applications. However, it is not well suited to express irregular forms of parallelism found in many kinds of applications in a way that is both simple and efficient. In particular, overlapping MPI communications with computations can be difficult to achieve using OpenMP loops. The OpenMP tasking constructs offer an interesting alternative. Dependencies can be specified between units of work in a way that ease the expression of the overlapping. Moreover , this approach reduces the need of costly and useless synchronizations required by the traditional fork-join model. Synchronizations can cause load imbalances between computing cores and results in scalability issues, especially on many-cores architectures. This study aims to evaluate the use of OpenMP task constructs to achieve an efficient and maintainable overlapping of MPI communication with computation and compare it to work-sharing-based versions. We evaluate the benefits and the overheads the OpenMP tasks exhibited throughout the specific setting of a hybrid MPI+OpenMP 2D Vlasov-Poisson application .
Fichier principal
Vignette du fichier
report.pdf (781.96 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01963113 , version 1 (14-01-2019)
hal-01963113 , version 2 (14-01-2019)

Identifiants

  • HAL Id : hal-01963113 , version 2

Citer

Jérôme Richard, Guillaume Latu, Julien Bigot. Using OpenMP tasks for a 2D Vlasov-Poisson Application. [Research Report] CEA Cadarache. 2019. ⟨hal-01963113v2⟩
210 Consultations
88 Téléchargements

Partager

Gmail Facebook X LinkedIn More