Structure : Institut d’Astrophysique de Paris
Durée : jusqu’à 6 mois en fin d’année scolaire (dates à définir avec l’école)
Mots clés : Recherche publique, HPC, C++, Kokkos, GPU, Cosmologie
Contact : Envoyez CV, lettre de motivation et éventuels relevés de note à tchernia@iap.fr, florent.leclercq@iap.fr et guilhem.lavaux@iap.fr
Gratification : ~700€/mois
Contexte
La modélisation et la compréhension de l’histoire de l’Univers, depuis le Big Bang jusqu’à aujourd’hui, reposent sur l’évaluation de nos modèles cosmologiques à partir des grands relevés astronomiques (Euclid, DESI…). L’un des objectifs est de simuler la formation des grandes structures afin d’évaluer la robustesse des modèles cosmologiques vis-à-vis des observations.
L’Institut d’Astrophysique de Paris (IAP), une Unité Mixte de Recherche (UMR) de Sorbonne Université et du Centre National de la Recherche Scientifique (CNRS), est impliqué dans cette activité. En son sein, l’équipe « Grandes structures et Univers profond » à laquelle le.la stagiaire sera affecté.e a développé le code Simbelmynë, qui permet de :
- Calculer l’évolution de la répartition de matière noire en résolvant les équations du mouvement de la gravité à l’échelle de l’univers observable (problème à N corps),
- En déduire une répartition des galaxies dans le ciel,
- Produire des relevés cosmologiques simulés.
Cette chaîne de simulation est appelée à être lancée un très grand nombre de fois pour des paramètres d’entrée variés. C’est pourquoi le respect des contraintes du calcul haute performance (HPC) et la parallélisation des tâches sont des enjeux clés de ce code. Grâce à l’approche sCOLA qui divise la portion d’univers à simuler en morceaux indépendants, il est possible d’adopter une approche hybride entre calculs à mémoire distribuée et à mémoire partagée. Nous souhaitons aujourd’hui le rendre portable sur plusieurs architectures cibles (CPU et GPU).
Pour plus de détails sur le contexte scientifique, voici un article de vulgarisation traitant de ce sujet : https://theconversation.com/vers-une-simulation-de-lunivers-sur-un-telephone-portable-137421Activités :
La.le stagiaire participera au portage de C vers C++ du code Simbelmÿne ainsi qu’au développement de codes de calcul parallèle utilisant des CPU et GPUs.
Il/elle se formera au framework Kokkos et l’utilisera afin de produire un code générique compatible avec toutes les architectures cibles. Il/elle mettra ces codes en œuvre à l’aide du cluster de calcul du laboratoire, mettant à disposition CPUs et GPUs. Il/elle travaillera en équipe et versionnera son code à l’aide de Git et produira les tests unitaires et benchmarks garantissant la qualité, la performance et la robustesse de son code.Qualifications attendues :
- Maîtrise du langage de programmation C++, connaissance de python
- Savoir adopter une méthodologie de développement collaboratif (Git, tests unitaires...)
- Connaître les enjeux de la programmation HPC, notamment la parallélisation des tâches (multithreading, multiprocessing).
- Notions de mathématiques appliquées (Transformées de Fourier, Équations aux dérivées partielles...)
- Anglais courant (réunions en anglais)
- Une formation en physique serait un plus.
Pourquoi postuler ?
Ce stage vous intéressera si...
- Vous souhaitez acquérir des qualifications en programmation HPC, y compris sur GPU, ainsi qu’en calcul scientifique.
- Vous souhaitez découvrir le secteur de la recherche publique.
- Vous êtes intéressé.e par la simulation numérique de modèles physiques, en particulier en astrophysique et cosmologie.
- Vous êtes intéressé.e par les techniques d’intelligence artificielle appliquées à la cosmologie (le travail de l’équipe inclut une forte composante de machine learning même si ce n’est pas l’objet de ce stage).