Lorsque Brian Romero a commencé sa recherche doctorale au Advanced Fluids Lab, dirigé par le professeur Svetlana Poroseva du département de génie mécanique de l'Université du Nouveau-Mexique, il s'est vite rendu compte que l'outil dont il avait besoin pour mener à bien son travail n'avait pas encore été développé. Il avait besoin d'un solveur informatique de dynamique des fluides capable de simuler des écoulements supersoniques avec des ondes de choc, mais "n'en a pas trouvé un qui me plaise, qui soit assez rapide ou qui soit open source et disponible pour moi", a déclaré Romero.
Sous la supervision de Poroseva et avec le soutien partiel des contrats de la Defense Threat Reduction Agency (DTRA) et du Los Alamos National Laboratory (LANL), Romero s'est tourné vers le Center for Advanced Research Computing (CARC) de l'UNM et a entrepris de construire l'outil nécessaire.
"CARC était le seul cluster auquel j'avais accès lorsque j'ai commencé à coder", a expliqué Romero. « J'ai eu la chance de pouvoir travailler avec le cluster CARC Xena GPU [Graphics Processing Unit]. Je n'aurais pas pu développer et tester sans ce cluster. FIESTA© [Fast Interface Evolution, Shocks and Transition in the Atmosphere] n'aurait pas été possible sans CARC. C'est au CARC que FIESTA© est née.
Romero a conçu FIESTA©, il l'a conçu en pensant à l'avenir. Au-delà de l'utilisation pour son propre travail, il souhaitait développer un code convivial pour l'utilisateur et le développeur, et capable de s'adapter à l'utilisation en constante évolution des GPU, des systèmes de calcul haute performance (HPC) et des superordinateurs exascale par les chercheurs.
« FIESTA© est un produit de mon doctorat. C'est un outil que j'ai conçu et construit par nécessité pour faire mon travail », a observé Romero. « Je voulais qu'il soit facile à utiliser pour les utilisateurs et les futurs développeurs. Je l'ai conçu de manière modulaire, afin que d'autres types de physique puissent y être facilement implémentés. Il est conçu pour faire plus que ce qu'il peut faire maintenant.
Bien qu'initialement conçu pour les simulations atmosphériques, ainsi que pour certaines expériences à plus petite échelle en laboratoire, cette réflexion future intégrée au code permet à FIESTA© d'effectuer une large gamme de simulations.
"J'ai conçu FIESTA© pour les systèmes exascale avec une technologie soignée intégrée pour permettre cela. J'ai utilisé un framework appelé Kokkos, de Sandia Labs. Kokkos est un écosystème portable performant, qui me permet d'exécuter FIESTA© sur n'importe quelle machine GPU. Une autre technologie GPU populaire, CUDA®, peut également faire fonctionner un code sur les GPU, mais est limitée aux architectures NVIDIA®. Kokkos me permet d'exécuter FIESTA© sur des GPU de divers fournisseurs pris en charge par l'équipe Kokkos, tout en pouvant exécuter FIESTA© sur des processeurs traditionnels [Central Processing Unit]. Cela rend le code extrêmement flexible. [Dans le passé] nous aurions besoin d'avoir deux codes : un pour fonctionner sur les GPU et un pour fonctionner sur les CPU. Mais maintenant, avec Kokkos, nous avons un code qui peut s'exécuter n'importe où. Et Kokkos bénéficie du soutien à long terme du ministère de l'Énergie, donc FIESTA © continuera à fonctionner sur les nouveaux GPU qui sortiront à l'avenir. Cela rend FIESTA© prêt pour la prochaine génération de matériel exascale.
FIESTA© possède également des fonctionnalités avancées pour les systèmes de fichiers parallèles utilisant HDF5® et un système de fichiers d'entrée unique utilisant un langage de script intégré appelé Lua.
"Je n'ai pas vu Lua dans d'autres codes CFD [dynamique des fluides computationnelle], c'est [une] fonctionnalité vraiment utile dont je suis fier", a déclaré Romero.
Romero travaille en étroite collaboration avec le Shock Tube Lab de l'UNM, un groupe expérimental du département de génie mécanique de l'UNM dirigé par le professeur Peter Vorobieff, pour vérifier les données et vérifier l'exactitude de FIESTA©. Récemment, des simulations FIESTA© ont été comparées à des expériences de tube à choc pour vérifier le mécanisme à l'origine de l'instabilité de Kelvin-Helmholtz induite par le choc (SDKHI), un phénomène utile pour mélanger le carburant et l'air dans certains types de moteurs scramjet. Romero a expliqué: «Les expériences passées n'ont pas été en mesure de révéler les détails nécessaires pour expliquer en toute confiance ce mécanisme. Des simulations avec FIESTA© ont pu confirmer ce mécanisme.
Ce travail, réalisé en collaboration avec Poroseva, Vorobieff et le scientifique du LANL Jon Reisner, a été publié dans le Physics of Fluids Journal et a été présenté lors de cinq conférences au cours des deux dernières années.
Romero a expliqué: «… FIESTA © a été exécuté sur des clusters GPU au Laboratoire national de Los Alamos et au Laboratoire national Lawrence Livermore. L'exécution de simulations sur des GPU a produit des résultats de simulation plus de 10 fois plus rapides que si nous exécutions sur un cluster de processeurs… Comme nous pouvions fonctionner si rapidement sur des GPU, nous avons pu effectuer plusieurs simulations pour explorer les effets de différents paramètres sur le Kelvin-Helmholtz piloté par les chocs. instabilité."
Romero et Poroseva ont nommé le code FIESTA© en reconnaissance du lien avec le Nouveau-Mexique ; le logo du piment est un clin d'œil à l'amour de Romero pour la nouvelle cuisine mexicaine. FIESTA © est un solveur de flux compressible d'ordre élevé compatible GPU conçu par Romero et Poroseva et est détenu et protégé par UNM. Bien que Romero reste le principal utilisateur, il note que d'autres ont commencé à le récupérer et à l'utiliser, y compris d'autres dans son département ainsi qu'au centre PSAAP de l'UNM.
Selon le professeur Patrick Bridges, directeur du CARC et chercheur principal au centre PSAAP de l'UNM, « FIESTA © est un excellent exemple de conception d'applications scientifiques modernes, tant par ses algorithmes numériques de pointe que par son utilisation de Kokkos. En conséquence, cela a été un excellent exemple à utiliser pour comprendre et optimiser les exigences de communication des applications hautes performances de nouvelle génération.
Bien que Romero envisage d'obtenir son diplôme cet été, sa vision est que FIESTA © reste un atout de l'UNM pour les années à venir.
« Nous recherchons des étudiants pour continuer à développer FIESTA©. Il a le potentiel d'être [un] code de résolution de problèmes pour les chercheurs de n'importe où, pas seulement l'UNM », a conclu Romero. FIESTA © sera rendu public en tant que logiciel open source au printemps 2022. Pendant ce temps, Romero continue d'utiliser les ressources du CRAC alors qu'il termine ses études doctorales.
Image : FIESTA résulte de l'expérience d'instabilité de Kelvin-Helmholtz (SDKHI) provoquée par le choc du Shock Tube Lab : Coupe transversale verticale et horizontale d'une colonne de gaz dense à différents moments lors de l'interaction avec une onde de choc. Images reproduites avec l'aimable autorisation de Brian Romero