• Home
  • Chimie
  • Astronomie
  • Énergie
  • La nature
  • Biologie
  • Physique
  • Électronique
  • K-Athena :un code de magnétohydrodynamique portable performant

    Un exemple des simulations que les chercheurs aimeraient mener avec K-Athena. L'image montre une coupe à travers une boîte en 3 dimensions d'une simulation de turbulence entraînée illustrant la densité fluide/plasma. Crédit :Grete, Glines &O'Shea.

    L'exécution de simulations à grande échelle est un aspect crucial de la recherche scientifique moderne, pourtant, il nécessite souvent une grande quantité de ressources de calcul. À l'approche de l'ère de l'informatique exascale, qui sera marqué par l'introduction de supercalculateurs très performants, les chercheurs ont essayé de développer de nouvelles architectures et de nouveaux codes pour répondre aux énormes besoins informatiques de notre époque. Une propriété importante à prendre en compte lors du développement de codes pour l'ère de l'informatique exascale est la portabilité des performances, qui empêche la répétition, refactorisation non triviale d'un code pour différentes architectures.

    À cette fin, des chercheurs de la Michigan State University ont récemment développé K-Athena, un code magnétohydrodynamique portable (MHD) performant. Les codes de magnétohydrodynamique (MHD) sont des techniques numériques et des algorithmes qui peuvent aider à résoudre les problèmes relatifs aux fluides électriquement conducteurs. Le code des chercheurs, présenté dans un article pré-publié sur arXiv, combine Athéna++, un code MHD existant, avec Kokkos, un paradigme de programmation parallèle sur nœuds portable et performant.

    « Dans le processus en cours de développement des premiers supercalculateurs exascale, il est devenu clair que les architectures matérielles actuelles ne sont pas adaptées pour atteindre cet objectif et que de nouvelles architectures sont nécessaires, " Philippe Grete, l'un des chercheurs qui a mené l'étude, a déclaré TechXplore. « D'un point de vue logiciel, les nouvelles architectures nécessitent généralement une réécriture importante du code existant afin d'utiliser efficacement les nouvelles fonctionnalités matérielles. La recherche de notre groupe repose sur des simulations détaillées à grande échelle et nous voulons être prêts à utiliser les nouveaux supercalculateurs à leur plein potentiel dès qu'ils seront disponibles."

    L'objectif sous-jacent de l'étude menée par Grete et ses collègues était de rendre portables les codes qu'ils utilisent souvent dans leurs performances de recherche. En d'autres termes, les chercheurs voulaient que leurs codes fonctionnent à haute efficacité sur de nombreuses architectures différentes, en utilisant une seule base de code.

    "Initialement, K-Athena a été conçu comme une preuve de concept combinant Kokkos (une bibliothèque de portabilité des performances) avec Athena++ (un code CPU existant) pour permettre des simulations accélérées par GPU, " expliqua Grete. " Cependant, au cours du projet et en observant la performance, il est devenu clair que K-Athena est devenu plus qu'une preuve de concept et est maintenant un flexible, du code prêt pour la production qui s'exécute sur n'importe quelle architecture. Avec ce papier, nous voulions partager à la fois notre expérience et le code lui-même avec la communauté au sens large."

    Un autre exemple des simulations que les chercheurs aimeraient mener avec K-Athena. L'image montre un rendu en volume d'un vortex de Taylor-Green en décomposition (problème de transition vers la turbulence) illustrant les structures tourbillonnaires/rotatives (surfaces) et les lignes de champ magnétique (rouge). Crédit :Grete, Glines &O'Shea.

    K-Athena fonctionne en faisant abstraction des composants les plus coûteux en calcul d'une simulation donnée. Au moment de la compilation (c'est-à-dire lorsqu'un code source est traduit en code machine/matériel), la bibliothèque Kokkos du code remplace ces abstractions par des constructions optimales pour la machine ou le matériel spécifique utilisé par l'utilisateur.

    "Cette approche est différente des autres codes hérités qui maintiennent souvent plusieurs bases de code pour permettre des simulations sur différentes architectures, tels que les CPU ou les GPU, " dit Grete. " De manière générale, L'avantage clé de K-Athena est que le spécialiste des sciences naturelles peut désormais se concentrer sur le contenu de la simulation lui-même et n'a pas besoin de se soucier de l'optimisation du code et/ou de l'écriture de plusieurs versions du code source pour différentes architectures. Ce dernier est 'sous-traité' aux informaticiens travaillant sur Kokkos avec les fournisseurs de matériel."

    Les tests effectués par Grete et ses collègues suggèrent que la portabilité des performances de K-Athena fonctionne réellement. En réalité, leur code fonctionnait efficacement le premier, neuvième, 24 e et 33 rd parmi les supercalculateurs les plus rapides au monde, couvrant quatre architectures différentes. Les chercheurs ont également démontré l'évolutivité de leur approche en l'appliquant à la quasi-totalité du supercalculateur Summit (actuellement le plus rapide au monde), environ deux mois après son lancement officiel plus tôt cette année.

    « D'un point de vue général, nous espérons que nos résultats encourageront d'autres groupes de recherche à explorer également la portabilité des performances dans leurs codes, augmentant éventuellement la productivité scientifique (en passant plus de temps sur la science et moins sur la réécriture/l'optimisation du code) ou à s'appuyer sur le code que nous avons publié, " dit Grete.

    L'étude menée par Grete et ses collègues offre un exemple précieux de la façon dont le code peut être adapté pour répondre aux grandes exigences de calcul de l'ère moderne. Dans leur papier, les chercheurs décrivent leurs stratégies de mise en œuvre et les défis qu'ils ont rencontrés en essayant de maximiser les performances de calcul. Ils espèrent que leur expérience et leur perspicacité inspireront d'autres équipes de recherche à commencer à préparer leurs codes et leur architecture pour l'ère exascale.

    "Notre groupe s'intéresse généralement à la turbulence magnétisée et aux plasmas diffus tels qu'on les trouve dans de nombreux systèmes astrophysiques, " a ajouté Grete. " Nous avons l'intention d'utiliser K-Athena pour simuler ceux-ci avec des détails sans précédent, à la fois en ce qui concerne la résolution et la physique que nous pouvons inclure. Cela nous permettra d'aborder des questions sans réponse nécessitant de grandes échelles dynamiques (par exemple, en ce qui concerne les transferts d'énergie dans les plasmas spatiaux) ou liés à des effets à petite échelle tels que l'amplification du champ magnétique via la dynamo à petite échelle.

    © 2019 Réseau Science X




    © Science https://fr.scienceaq.com