Partenaires

CNRS INPT UPS



Rechercher

Sur ce site


Accueil > Zoom sur > Un défi intense de calcul intensif !

Un défi intense de calcul intensif !

18 février

Une équipe issue de l’IMFT et du mésocentre de calcul CALMIP remporte le 1er prix du Hackathon HPC GENCI dans la catégorie portage pour son projet « Calcul GPU en mécanique des fluides »

L'équipe IMFT - CALMIP

Equipe CALMIP - Crédit photographie Nadine Marouzé (chargée d’affaires PME/ETI CALMIP)

En décembre dernier, une équipe associant l’IMFT et CALMIP participe à un Hackathon de 2 jours consacré au calcul haute performance (HPC) et remporte un prix, remis le 22 mars.
Les volontaires pour relever ce défi sont Annaïg Pedrono, ingénieure à l’IMFT dans le service CoSiNus, Aurélie Louis Napoléon, doctorante dans le même laboratoire, Mickaël Duval et Nicolas Renon, deux ingénieurs du mésocentre de calcul régional CALMIP, devenu unité mixte de service en 2014.

Cette course aux neurones ouverte aux ingénieurs, doctorants et chercheurs issus du monde académique ou industriel, a pour but d’encourager le brassage de compétences, avec en point de mire la valorisation des mésocentres de calcul et la mise en en relief de la valeur ajoutée apportée à la science par le calcul numérique.

C’est la société civile GENCI qui lance ce concours, en partenariat avec 10 autres organismes et deux sponsors. Sa mission est en effet de promouvoir le calcul scientifique français dans les secteurs de la recherche et de l’industrie et de le positionner au niveau européen.

11 équipes concourent et ont la possibilité de candidater dans deux catégories de défis : l’optimisation - visant à améliorer un code de calcul - ou bien le portage, destiné à opérer un changement d’architecture du code suite à une adaptation technique.
C’est dans ce second type de projet que s’illustre l’équipe mixte IMFT/CALMIP.
Les motivations des candidats sont variées.
Pour Annaïg, c’est le prolongement logique de son travail de veille technique et scientifique, dans un contexte de collaboration fructueuse et enrichissante.
Pour Aurélie, c’est la curiosité de franchir une frontière : la simple utilisatrice peut maintenant mettre les mains dans le code !
Pour les 2 ingénieurs de CALMIP, c’est l’occasion de valoriser le centre en offrant à l’équipe une infrastructure de qualité et d’œuvrer ensemble à la résolution de calculs complexes.

Aux manettes du projet se trouvent donc deux experts du code Jadim, développé à l’IMFT depuis plus de 20 ans et deux experts de la nouvelle machine Olympe, acquise récemment par le mésocentre. Trois des équipiers sont des experts en calcul haute performance.

Porteur d’une nouvelle technologie, le supercalculateur Olympe est composé de 374 nœuds de calcul dont 12 nœuds CPU/GPU équivalant à 2 processeurs de 18 cœurs chacun et 4 cartes GPU NV100.
Le défi se focalise sur le code Jadim. Il s’agit d’un code Fortran de mécanique des fluides qui décrit finement les phénomènes physiques propres aux écoulements diphasiques incompressibles. Il résout les équations de Navier-Stokes tridimensionnelles incompressibles et instationnaires en prenant notamment en compte les écoulements multiphasiques. Il est utilisé par 3 groupes de recherche à l’IMFT.

Ce code est parallélisé avec la bibliothèque MPI et s’exécute sur processeur ou CPU (Central Processing Unit). Pour des cas de calcul diphasique, la résolution de la pseudo-équation de Poisson relative à la pression, représente entre 60 et 90% du temps de calcul ! Donc le défi posé à l’équipe est de trouver une autre technologie capable d’accélérer le processus, puis de modifier le code en ce sens.

La méthodologie choisie est d’utiliser les cartes graphiques ou GPU (Graphic Processing Unit) disponibles sur Olympe pour accélérer la résolution du système linéaire résolu à chaque itération temporelle. Pour cela, l’équipe a utilisé la bibliothèque AMGX qui permet de résoudre des systèmes linéaires sur GPU en adaptant le code à différents niveaux.

Pour donner une échelle, précisons qu’un cœur CPU d’Olympe représente une puissance de crête de 73 gigaflops (nombre d’opérations flottantes par seconde) alors qu’un GPU développe une puissance de 7,8 téraflops, donc le gain potentiel est de 100 fois plus d’opérations par seconde !
 [1]
Annaïg et Aurélie travaillent à la modification du code, à l’adaptation de la nouvelle bibliothèque et au débogage, tandis que les ingénieurs CALMIP œuvrent aux tests de performance.

Concrètement parlant, l’équipe crée une interface du C (AMGX) vers le Fortran (Jadim), intègre la nouvelle bibliothèque en générant 2542 nouvelles lignes dans le code et paramètre le solveur d’AMGX et le solveur PETSc utilisé sur les CPU pour que les deux algorithmes soient identiques et donc comparables.

L’équipe réfléchit aussi au placement des calculs sur les cœurs CPU et sur les cartes GPU et procède à une fine analyse en regardant quels cœurs et quelles cartes sont sollicités pendant les calculs et de quelles façons.
Les ressources utilisées pendant ces deux jours intensifs sont de 370 heures CPU et de 41 heures GPU.

Le gain est finalement de l’ordre de 20 fois plus d’opérations par secondes en ayant utilisé un ou deux nœuds GPU d’Olympe, ce qui permet d’envisager des simulations en nombre de points jusque-là inatteignable.

Tout au long du défi, l’intérêt est double pour l’équipe : il s’agit d’intervenir sur un vrai code et non sur un exemple de Poisson classique, mais aussi d’envisager une application possible.

Le travail de thèse d’Aurélie, encadrée par T. Bonometti (enseignant-chercheur INP) et par Muriel Gerbault, chercheuse au GET (Géosciences Environnement Toulouse), consiste en effet à étudier la convection dans la croûte terrestre : c’est spécifiquement un système diphasique, la croûte supérieure se présentant comme très visqueuse et la croûte inférieure étant fondue.

L’équipe est donc récompensée au titre de son projet Calcul GPU en mécanique des fluides pour son approche innovante et probante.

Au-delà des retombées bénéfiques pour les chercheurs de l’IMFT, la valorisation de ce travail pourra se prolonger dans le cadre de l’accompagnement GPU prévu pour la machine Olympe, en publiant dans des revues de physique et de calcul scientifique, et peut-être pour Aurélie en se projetant après la thèse dans le métier d’ingénieur en calcul scientifique.

Comme son étymologie l’indique, l’hackathon implique de produire quelque chose de défiant (hack) en un temps record (marathon), mais l’équipe ne garde guère de l’expérience une sensation de pression : chacun en sort au contraire enrichi humainement, défié techniquement et encouragé par l’utilité de la découverte tant pour la communauté scientifique que numérique.


[1Illustration d’une carte GPU