Autor: |
Bouzat, Nicolas, Rozar, Fabien, Latu, Guillaume, Roman, Jean |
Přispěvatelé: |
TOkamaks and NUmerical Simulations (TONUS), Institut de Recherche Mathématique Avancée (IRMA), Université de Strasbourg (UNISTRA)-Centre National de la Recherche Scientifique (CNRS)-Université de Strasbourg (UNISTRA)-Centre National de la Recherche Scientifique (CNRS)-Inria Nancy - Grand Est, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria), High-End Parallel Algorithms for Challenging Numerical Simulations (HiePACS), Laboratoire Bordelais de Recherche en Informatique (LaBRI), Université de Bordeaux (UB)-Centre National de la Recherche Scientifique (CNRS)-École Nationale Supérieure d'Électronique, Informatique et Radiocommunications de Bordeaux (ENSEIRB)-Université de Bordeaux (UB)-Centre National de la Recherche Scientifique (CNRS)-École Nationale Supérieure d'Électronique, Informatique et Radiocommunications de Bordeaux (ENSEIRB)-Inria Bordeaux - Sud-Ouest, Institut de Recherche sur la Fusion par confinement Magnétique (IRFM), Commissariat à l'énergie atomique et aux énergies alternatives (CEA), Institut Polytechnique de Bordeaux (Bordeaux INP), Inria |
Jazyk: |
angličtina |
Rok vydání: |
2017 |
Předmět: |
|
Zdroj: |
[Research Report] RR-9054, Inria. 2017, pp.22 |
Popis: |
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étiquequi permet de modéliser certaines turbulences du plasma au coeur d’un tokamak. Dans un codegyrocinétique, l’opérateur de gyromoyenne doit, d’une part être suffisamment précis et d’autrepart, conserver un coût de calcul faible. En effet, cet opérateur est appliqué plusieurs fois parpas 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’interpolationd’Hermite. Dans cet article, nous présentons un nouveau schéma de parallélisation de cet opérateurde gyromoyenne. Celui-ci permet d’éviter de coûteuses transpositions de l’ensemble de lafonction 5D en utilisant des zones fantômes. La quantité de calcul reste la même, mais le volumede données échangé est grandement réduit. L’algorithme d’application de la gyromoyenne surl’ensemble de la fonction 5D est également amélioré en entrelaçant calculs et communicationsafin de réduire encore les coûts de communication et d’améliorer l’efficacité de la parallélisationpar 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 œuvreet permet à nouveau d’améliorer les performances. Les algorithmes introduits sont détaillés etles performances obtenues sont analysées et expliquées sur un cas de calcul dimensionnant. |
Databáze: |
OpenAIRE |
Externí odkaz: |
|