Soutenance de thèse : Jean-Marie COUTEYEN

Lundi 19 septembre – 14:00 – Amphi du LaBRI

Titre : Parallélisation et passage à l’échelle du code FLUSEPA

Résumé :

Il existe de nombreux types de satellites qui fournissent des services utiles au quotidien : l’imagerie satellite, les télécommunications, la géolocalisation… Leur mise en orbite passe par l’utilisation de lanceurs, dont la conception est une des activités d’Airbus Safran Launchers. Pour la conception de lanceurs, l’accès à l’expérience n’est pas évident : l’utilisation de souffleries ne permet pas de tester toutes les situations critiques auxquelles un lanceur sera confronté au cours de sa mission. La simulation numérique est donc essentielle pour l’industrie aérospatiale. Pour disposer de simulations plus fidèles, il est nécessaire de disposer et de pouvoir exploiter une importante puissance de calcul via l’utilisation de supercalculateurs. Ces supercalculateurs évoluent rapidement et sont de plus en plus complexes ; il est alors nécessaire d’adapter les codes existants pour pouvoir les utiliser efficacement. Aujourd’hui, il semble de plus en plus nécessaire d’utiliser des abstractions afin de pouvoir porter les codes sur les nouvelles machines avec un coût humain raisonnable et une bonne portabilité des performances.

Airbus Safran Launchers a développé depuis plus de 20 ans le code de calcul FLUSEPA qui convient particulièrement bien à la modélisation des phénomènes instationnaires avec topologie variable tels que pour les séparations d’étages et les décollages de lanceurs spatiaux. Ce code est basé sur une formulation Volumes Finis. La prise en compte des mouvements relatifs repose sur une technique originale de chevauchement de maillages conservative et la technique d’intégration temporelle adaptative explicite permet de calculer très efficacement les évolutions rapides.

Les travaux réalisés durant cette thèse portent sur la parallélisation du code FLUSEPA, qui au départ n’était parallélisé qu’en mémoire partagée via OpenMP. Une première version distribuée du code a été réalisée et utilise une programmation hybride MPI+OpenMP pour des clusters de calcul. Les gains apportés par cette version ont été évalués via l’utilisation de deux calculs industriels. Un démonstrateur basé cette fois-ci sur un modèle de programmation à base de graphe de tâches avec l’utilisation d’un support d’exécution a aussi été réalisé pour répondre de manière plus adéquate au problème d’efficacité posé par la version MPI+OpenMP.

Comments are closed.