Utilisation de l'IBM Blue Gene/P de l'IDRIS : Le projet Méso-NH

Portage du code communautaire Méso-NH (MESONH)

Juan Escobar et Jean-Pierre Chaboureau

Laboratoire d?Aérologie (UMR5560), université de Toulouse et CNRS

Résumé du projet

Le modèle Méso-NH est le modèle de recherche météorologique mésoéchelle communautaire français. Il traite une vaste gamme de phénomènes atmosphériques, depuis les ondes planétaires (quelques milliers de km) jusqu?aux tourbillons (quelques m). La nouvelle génération de calculateurs permet de s?affranchir de la représentation  grossière des phénomènes des plus petites échelles. Une simulation haute résolution couvrant l?Atlantique et l?Europe occidentale a été faite afin d?étudier l?impact d?une résolution explicite des nuages sur la prévisibilité du temps. Des tests jusqu?à 16384 coeurs et des grilles de 4096 x 4096 x 128 points (2,1 milliards) ont été réalisés sur la Blue Gene/P. Le portage du code Méso-NH a consisté à améliorer la vitesse d?écriture des sorties et la parallélisation du résolveur de pression. Pour la première fois en France, une performance soutenue de 1 Tflop/s a été obtenue pour un code météorologique. Au-delà, la simulation haute résolution améliore l?interaction d?un cyclone tropical avec une onde de Rossby atlantique, un défaut classique des modèles de prévision numérique du temps donnant lieu à des mauvaises prévisions en Europe.

Objet de la recherche, problématique scientifique

Le code communautaire Méso-NH est le modèle de recherche météorologique mésoéchelle communautaire français, développé  conjointement par le Laboratoire d'Aérologie (UMR 5560 UPS/CNRS) et le CNRM-GAME (URA 1357 CNRS/Météo-France). Le code Méso-NH intègre un système d?équations non-hydrostatiques, permettant de traiter avec le même outil une vaste gamme de phénomènes atmosphériques. Le modèle est doté d?un jeu complet de paramétrisations physiques, particulièrement avancées pour la représentation des nuages et précipitations et est couplé avec des modules de chimie d?aérosols dont l?ensemble offre un cadre privilégié pour toute étude numérique de physico-chimie atmosphérique. Le système fonctionne actuellement sur machine vectorielle et machine scalaire parallèle (GENCI, Météo-France, etc.). L?ensemble des logiciels gérés représente environ un million de lignes de code

Caractéristiques du code et de l?implémentation sur la Blue Gene/P

Depuis 1999, une grande partie de Méso-NH est parallèle en s?appuyant sur la librairie standard MPI. Deux problèmes principaux ont été résolus pour atteindre la performance de 1 Tflop/s : les entrées sorties et le résolveur de pression.

Le format de fichier utilisé par Méso-NH est un format maison développé par Météo-France. Une première modification a consisté à changer l?adressage de 32 à 64 bits. Cela a permis de dépasser la limite de 16 Go de taille de fichiers. Ensuite, pour une grille de 4096 x 4096 x 128 (2,1 milliards), le modèle génère 400 Go de données en un seul fichier. Or, un seul processeur contrôle les sorties. En conséquence, une grande mémoire tampon doit être associée au processeur. C?est un point crucial car seule 512 Mo de mémoire est disponible par processeur sur la Blue Gene/P, ce qui limite la taille des champs 3D. L?adaptation à la Blue Gene/P a consisté à écrire les champs 3D par niveau vertical. Ainsi une grille à 128 niveaux verticaux peut utiliser jusqu?à 128 coeurs et fichiers. Cela a deux conséquences importantes. D?abord, cela réduit la taille de la mémoire tampon d?un facteur 100. Ensuite, cela augmente la vitesse de lecture écriture des entrées sorties (de 100 Mo/s à 1800 Mo/s).

L?autre problème porte sur le résolveur de pression qui utilise un préconditionneur basée sur une décomposition en séries de Fourier. Jusqu?à présent, cette décomposition se faisait selon deux directions, limitant le nombre de coeurs à la dimension horizontale la plus petite, un modèle avec une grille de 512 x 512 x 128 points (33 millions) ne pouvant tourner qu?avec 512 coeurs. A la place, la décomposition est effectuée dans les trois dimensions. En conséquence, l?exemple donné ci-dessus peut maintenant tourner avec au maximum 512 x 128 = 65526 coeurs.

Une excellente scalabilité de Méso-NH a été obtenue sur toutes les machines où le code a été testé. La figure 1 montre la performance obtenue sur Blue Gene/P (Babel à l?IDRIS) et sur SGI-Ice Xeon (Jade au CINES). Dans cet exemple, une grille de 2048 x 2048 x 128 (53 millions) a été testée et a généré 50 Go de données par fichier. Un Tflop/s est obtenu à la fois sur la SG/Ice avec 8000 coeurs et sur la Blue Gene/P avec 16000 coeurs. C?est la première fois qu?une telle puissance de calcul est atteinte pour un code météorologique sur des supercalculateurs français.

Description des résultats obtenus

A titre d?illustration d?application scientifique, le cas de la transition extratropicale du cyclone Hélène est montré. L?interaction d?un cyclone tropical avec une onde de Rossby en Atlantique nord est une défaillance typique de modèles actuels de prévision numérique du temps, qui conduit à des mauvaises prévisions en Europe. Cela est en partie dû à la représentation grossière des processus nuageux, ce que les modèles de prévision actuels doivent employer pour leur maille horizontale de 24 km environ. Aussi le modèle Méso-NH a été lancé avec une haute résolution de 4 km sur une grille de 3072 x 1536 x 100 points (47 millions). A cette résolution la vitesse verticale est calculée explicitement, ce qui résout les systèmes nuageux de manière explicite. Cela est montré dans la figure 2 avec les valeurs élevées d?humidité dans la haute troposphère associées aux nuages. Une bonne correspondance est obtenue entre observation et simulation sur tout le domaine et au voisinage du cyclone. Le minimum de pression au niveau de la mer est aussi correctement prévu quand on le compare avec une analyse d?un modèle de prévision.

Projet MESONH : image 1

Figure 1 :

Performance de Méso-NH en scalabilité : puissance soutenue en fonction du nombre de coeurs.

Projet MESONH : image 2

Figure 2 :

Humidité de la haute troposphère (UTH, %, couleurs) et pression au niveau de la mer (MSLP, hPa, lignes) le 23 septembre 2006 à 0600 TU. Observation satellite AMSU (en haut) et analyse du modèle du CEPMMT et simulation Méso-NH (en bas) sur le domaine entier de simulation (à gauche) et zoomé sur le cyclone Hélène (à droite). La simulation Méso-NH a tourné sur une grille de 47 millions de points et avec 16384 coeurs et a généré 94 Go de fichiers par échéance.