A new parallelization scheme for the Hermite interpolation based gyroaverage operator - Archive ouverte HAL Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2017

A new parallelization scheme for the Hermite interpolation based gyroaverage operator

Parallélisation de l’opérateur de gyromoyenne basé sur l’interpolation d’Hermite

Résumé

Gyrokinetic modeling is appropriate for describing plasma turbulence in the core of Tokamaks, and the gyroaverage operator is a cornerstone of this approach. In a gyrokinetic code the gyroaveraging scheme needs to be accurate enough, but also requires a low computational cost because it is often applied on the main unknown, namely the 5D guiding-center distribution function, as well as on several 3D fields. The current gyroaverage implementation used in the Gysela code has recently been improved, enhancing the precision of the operator thanks to Hermite interpolation. In the present paper, we describe a new parallelization scheme for the gyroaverage operator. It mainly avoids costly transpositions of the full 5D function using halo exchange instead. Though the computational cost remains the same, the communication one is much smaller. The overall algorithm is also improved by cleverly interleaving communications and computations, thus allowing for a reduction of communication costs and a more efficient thread parallelization. The execution time with this algorithm is up to twice as fast as the previous version. The benefit of an improved scheme providing the overlap of communications by computations is also shown, again improving execution times. The description of the algorithms is given, together with an analysis of the achieved performance.
L’opérateur de gyromoyenne est un composant central du modèle gyrocinétique qui permet de modéliser certaines turbulences du plasma au coeur d’un tokamak. Dans un code gyrocinétique, l’opérateur de gyromoyenne doit, d’une part être suffisamment précis et d’autre part, conserver un coût de calcul faible. En effet, cet opérateur est appliqué plusieurs fois par pas de temps sur la fonction de distribution 5D des centres guides, qui est l’inconnue principale, ainsi que sur plusieurs champs 3D. L’implémentation actuelle dans le code Gysela a récemment été améliorée, [11], conduisant à une meilleure précision de l’opérateur grâce à l’interpolation d’Hermite. Dans cet article, nous présentons un nouveau schéma de parallélisation de cet opérateur de gyromoyenne. Celui-ci permet d’éviter de coûteuses transpositions de l’ensemble de la fonction 5D en utilisant des zones fantômes. La quantité de calcul reste la même, mais le volume de données échangé est grandement réduit. L’algorithme d’application de la gyromoyenne sur l’ensemble de la fonction 5D est également amélioré en entrelaçant calculs et communications afin de réduire encore les coûts de communication et d’améliorer l’efficacité de la parallélisation par thread. Le temps d’exécution de ce nouvel algorithme est ainsi réduit de moitié par rapport à la version précédente. Une stratégie de recouvrement calcul/communication est mise en œuvre et permet à nouveau d’améliorer les performances. Les algorithmes introduits sont détaillés et les performances obtenues sont analysées et expliquées sur un cas de calcul dimensionnant.
Fichier principal
Vignette du fichier
RR-9054.pdf (6.29 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01502513 , version 1 (05-04-2017)

Identifiants

  • HAL Id : hal-01502513 , version 1

Citer

Nicolas Bouzat, Fabien Rozar, Guillaume Latu, Jean Roman. A new parallelization scheme for the Hermite interpolation based gyroaverage operator. [Research Report] RR-9054, Inria. 2017, pp.22. ⟨hal-01502513⟩
433 Consultations
140 Téléchargements

Partager

Gmail Facebook X LinkedIn More