Description du poste
Domaine
Mathématiques, information scientifique, logiciel
Contrat
Stage
Intitulé de l'offre
Stage - Bac+5 - Implémentation d'un solveur de diffusion dans un code GPU non structuré - H/F
Sujet de stage
Lorsqu'une sonde spatiale pénètre dans l'atmosphère d'une planète, elle peut atteindre une vitesse plusieurs fois supérieure à celle du son. Elle comprime alors fortement les gaz atmosphériques au contact de sa paroi, ce qui entraîne un échauffement important de sa structure ainsi qu'un freinage violent. Afin de garantir l'intégrité de cette structure, l'avant de la capsule, qui subit l'essentiel du freinage, est recouvert d'un bouclier thermique. Le CEA développe des codes de calcul permettant de simuler les phénomènes physiques intervenant lors d'une rentrée atmosphérique, afin de dimensionner ces boucliers thermiques par la simulation numérique. Une telle approche nécessite de résoudre l'écoulement fluide quasi stationnaire en parallèle de la conduction thermique instationnaire à travers la structure de l'objet. Cette dernière doit être résolue à l'aide d'un schéma stable et robuste, reposant sur un solveur temporel implicite permettant l'utilisation de grands pas de temps.
Durée du contrat (en mois)
5-6 mois
Description de l'offre
Afin de tirer parti des nouvelles architectures GPU, qui offrent des gains de performances significatifs, ce stage propose d'implémenter un solveur de diffusion au sein d'un code de calcul de type volumes finis sur maillages non structurés. Ce code, développé en C++, repose largement sur la bibliothèque Kokkos, permettant aussi bien la vectorisation sur CPU que l'exécution sur GPU, et offrant ainsi une portabilité sur un large éventail d'architectures matérielles. Cependant, cette portabilité ainsi que les performances obtenues dépendent fortement de la qualité d'implémentation des algorithmes, en particulier sur GPU. Dans le cadre du développement du solveur de diffusion, il s'agira de pouvoir traiter différents types de maillages tout en apportant un soin particulier à la résolution temporelle implicite, notamment via l'implémentation d'un solveur linéaire de type gradient conjugué ou GMRes, ou par une librairie externe. Une première étape consistera à résoudre l'équation de la chaleur en deux dimensions et à valider son implémentation. Une seconde étape portera sur l'implémentation d'un couplage faible entre le domaine fluide et le domaine solide, appliqué à des configurations simples.
Conformément aux engagements pris par le CEA en faveur de l'intégration des personnes handicapées, cet emploi est ouvert à toutes et à tous. Le CEA propose des aménagements et/ou des possibilités d'organisation pour l'inclusion des travailleurs handicapés.
Participant à la protection nationale, une enquête administrative est réalisée pour tous les collaborateurs du CEA afin d'assurer l'intégrité et la sécurité de la nation.
Profil du candidat
Le(la) candidat(e) devra présenter un intérêt marqué pour les méthodes numériques et le développement de codes de calcul haute performance. Il(elle) devra être familier avec le langage C++ et posséder des notions de programmation sur architectures CPU et GPU. Une connaissance de la bibliothèque Kokkos constituerait un atout supplémentaire.
C++, Kokkos
Bac+5
Localisation du poste
Site
Cesta
Localisation du poste
France, Nouvelle-Aquitaine
Domaine
Mathématiques, information scientifique, logiciel
Contrat
Stage
Intitulé de l'offre
Stage - Bac+5 - Implémentation d'un solveur de diffusion dans un code GPU non structuré - H/F
Sujet de stage
Lorsqu'une sonde spatiale pénètre dans l'atmosphère d'une planète, elle peut atteindre une vitesse plusieurs fois supérieure à celle du son. Elle comprime alors fortement les gaz atmosphériques au contact de sa paroi, ce qui entraîne un échauffement important de sa structure ainsi qu'un freinage violent. Afin de garantir l'intégrité de cette structure, l'avant de la capsule, qui subit l'essentiel du freinage, est recouvert d'un bouclier thermique. Le CEA développe des codes de calcul permettant de simuler les phénomènes physiques intervenant lors d'une rentrée atmosphérique, afin de dimensionner ces boucliers thermiques par la simulation numérique. Une telle approche nécessite de résoudre l'écoulement fluide quasi stationnaire en parallèle de la conduction thermique instationnaire à travers la structure de l'objet. Cette dernière doit être résolue à l'aide d'un schéma stable et robuste, reposant sur un solveur temporel implicite permettant l'utilisation de grands pas de temps.
Durée du contrat (en mois)
5-6 mois
Description de l'offre
Afin de tirer parti des nouvelles architectures GPU, qui offrent des gains de performances significatifs, ce stage propose d'implémenter un solveur de diffusion au sein d'un code de calcul de type volumes finis sur maillages non structurés. Ce code, développé en C++, repose largement sur la bibliothèque Kokkos, permettant aussi bien la vectorisation sur CPU que l'exécution sur GPU, et offrant ainsi une portabilité sur un large éventail d'architectures matérielles. Cependant, cette portabilité ainsi que les performances obtenues dépendent fortement de la qualité d'implémentation des algorithmes, en particulier sur GPU. Dans le cadre du développement du solveur de diffusion, il s'agira de pouvoir traiter différents types de maillages tout en apportant un soin particulier à la résolution temporelle implicite, notamment via l'implémentation d'un solveur linéaire de type gradient conjugué ou GMRes, ou par une librairie externe. Une première étape consistera à résoudre l'équation de la chaleur en deux dimensions et à valider son implémentation. Une seconde étape portera sur l'implémentation d'un couplage faible entre le domaine fluide et le domaine solide, appliqué à des configurations simples.
Conformément aux engagements pris par le CEA en faveur de l'intégration des personnes handicapées, cet emploi est ouvert à toutes et à tous. Le CEA propose des aménagements et/ou des possibilités d'organisation pour l'inclusion des travailleurs handicapés.
Participant à la protection nationale, une enquête administrative est réalisée pour tous les collaborateurs du CEA afin d'assurer l'intégrité et la sécurité de la nation.
Profil du candidat
Le(la) candidat(e) devra présenter un intérêt marqué pour les méthodes numériques et le développement de codes de calcul haute performance. Il(elle) devra être familier avec le langage C++ et posséder des notions de programmation sur architectures CPU et GPU. Une connaissance de la bibliothèque Kokkos constituerait un atout supplémentaire.
C++, Kokkos
Bac+5
Localisation du poste
Site
Cesta
Localisation du poste
France, Nouvelle-Aquitaine











