beandeau>
Portage du modèle atmosphérique Méso-NH sur différentes architectures GPU
Philippe Wautelet  1@  , Juan Escobar  1  , Joris Pianezze  1  , Florian Pantillon  1  , Thibaut Dauhut  1  , Christelle Barthe  1  , Jean-Pierre Chaboureau  1  
1 : Laboratoire d'aérologie
Institut de Recherche pour le Développement, Université Toulouse III - Paul Sabatier, Observatoire Midi-Pyrénées, Centre National de la Recherche Scientifique, Université Toulouse III- PaulSabatier

La simulation numérique de l'atmosphère joue un rôle crucial dans la compréhension et l'anticipation des événements météorologiques extrêmes. Les progrès constants de la puissance de calcul ont permis d'accroître la complexité et la diversité des échelles représentées par la simulation numérique. Cependant, l'avènement d'architectures de calcul hétérogènes avec des unités centrales (CPU) et des processeurs graphiques (GPU) multicœurs nécessite une adaptation des codes géoscientifiques.

La présentation décrira comment le modèle atmosphérique méso-échelle non hydrostatique Méso-NH de la communauté scientifique française a été adapté. Celui-ci est labelisé code communautaire par l'INSU (CNRS). Le code, écrit en Fortran moderne, est porté sur GPU en incluant des directives OpenACC dans les parties les plus gourmandes en calcul. Cette approche permet d'exécuter le même code sur des CPU et sur des architectures hybrides CPU/GPU. Afin de garantir la précision du portage et l'absence de bugs, la reproductibilité bit à bit a été garantie entre les exécutions sur ces deux architectures. Un point critique réside dans le solveur de pression atmosphérique, qui nécessite l'inversion d'une équation elliptique. Un algorithme d'inversion géométrique multigrille est intégré, car l'approche par transformées de Fourier rapides (FFT) utilisée dans la version originale du code devient inefficace avec un nombre élevé de GPU. Ce portage a également nécessité de mettre en place une gestion spécifique de la mémoire, d'optimiser les communications entre GPU et de créer un préprocesseur interne.

Actuellement, le code fonctionne sur différentes plateformes GPU-NVIDIA et GPU-AMD et s'exécute efficacement jusqu'à au moins 1 024 GPU permettant ainsi une multiplication par 2,3 de l'efficacité énergétique et une réduction d'un facteur 6 du temps de calcul par rapport aux CPU seuls (entre un nœud CPU/GPU et un nœud CPU seuls d'Adastra). L'efficacité est encore améliorée en réduisant la précision des nombres en virgule flottante. Des résultats sur différents types de nœuds des machines Jean-Zay (IDRIS) et Adastra (CINES) seront présentés pour illustrer les gains de performances en temps de calcul et en énergie du portage sur GPU.

Ce portage sur GPU a rendu possible, dans le cadre d'un projet pilote Grand Challenge sur le supercalculateur Adastra de GENCI, les premières applications scientifiques de simulations d'événements météorologiques extrêmes à différentes échelles de Méso-NH. Trois exemples seront présentés (une tempête de vent nord-atlantique, une tempête convective méditerranéenne et un système convectif à mésoéchelle au-dessus de la forêt amazonienne). Ces simulations ont été réalisées avec des résolutions horizontales descendant jusqu'à 100 m et avec des tailles de grille de plus de 2,1 milliards de points sur 1024 GPU. Pour l'une de ces tempêtes, Méso-NH a également été couplé avec succès au modèle de vagues WAVEWATCH III via le coupleur OASIS3-MCT, sans coût de calcul supplémentaire.

Le portage de Méso-NH sur GPU ouvre de nouvelles perspectives pour la simulation d'événements météorologiques extrêmes à différentes échelles et ouvre la voie aux futurs supercalculateurs exascales français et européens.

Ce travail a fait l'objet de la publication suivante : Escobar, Wautelet et al (2025), "Porting the Meso-NH atmospheric model on different GPU architectures for the next generation of supercomputers (version MESONH-v55-OpenACC)", https://doi.org/10.5194/gmd-18-2679-2025



  • Poster
Chargement... Chargement...