CDD
IR en calcul scientifique, portage des codes des modèles de climat de l’IPSL sur architecture GPU
Contexte
L’ingénieur sera rattaché à l’équipe CalculS du Laboratoire des Sciences du Climat et Environnement (LSCE) au le Centre de modélisation du climat de l’Institut Pierre-Simon Laplace. Le Centre de modélisation du climat de l’IPSL a pour objectif d’étudier le climat terrestre sous ces aspects physiques, chimiques et biogéochimiques. Il rassemble des équipes de modélisation des différents laboratoires de l’IPSL qui étudient les différentes parties du système climatique (atmosphère, océan, surfaces continentales, cryosphère) et leurs couplages.
Les études portent sur le fonctionnement du système climatique, sa variabilité et les changements climatiques, que ceux-ci soient d’origines naturelles ou dus aux activités humaines. Le centre de modélisation du climat de l’IPSL développe pour cela un modèle intégré du système climatique à travers une approche multidisciplinaire couvrant les différentes parties du système climatique et les différents processus qui le régissent, avec le modèle d’atmosphère LMDZ, le modèle d’océan, de glace de mer et de biogéochimie marine NEMO, le modèle de surfaces continentales ORCHIDEE, les modèles de chimie troposphérique INCA et stratosphérique REPROBUS. Le couplage entre les modèles atmosphérique et océanique est réalisé à l’aide du coupleur OASIS développé au CERFACS, les entrées-sorties sont gérées par le modèle XIOS.
Description
L’ingénieur de recherche intègrera l’équipe CALCULS de l’IPSL dans le but de contribuer à la nécessaire adaptation des codes du modèle de climat de l’IPSL aux nouvelles architectures basées sur des accélérateurs GPU, et tirer le meilleur parti des supercalculateurs pré-exaflopiques et exaflopiques en cours de déploiement. Il ou elle travaillera en étroite collaboration avec les équipes des modèles LMDZ, ORCHIDEE et NEMO pour proposer, tester et mettre en place des solutions et des modifications de code qui permettront de porter les codes sur les nouvelles architectures. Enfin, il contribuera à développer les bonnes pratiques en calcul intensif auprès de la communauté des modélisateurs.
- Élaboration, en lien avec les équipes concernées, et mise en place d’une stratégie d’adaptation des modèles sur la prochaine génération de supercalculateurs en distinguant les évolutions de court et de moyen termes
- Adaptation des codes pour la prochaine génération d’accélérateurs de type GPU (ou autres)
- Modularisation du code afin de faciliter le remplacement de certains processus et de faciliter l’émulation de certains modules
- Exploration d’autres techniques améliorant les temps de restitution des simulations sur les supercalculateurs (simple précision, exploitation mixte CPU/GPU, émulation de certaines parties du code, gestion de la mémoire, adaptation des algorithmes)
- Interactions avec les équipes des centres de calcul nationaux
- Formation des développeurs et utilisateurs du modèle
Compétences requises
- Diplôme : ingénieur ou doctorat
- Programmation orientée calcul scientifique : Fortran 90-2003, C++, Python…
- Programmation parallèle basée sur les standards MPI et OpenMP et des outils de développement associés (debugger, profiler…)
- Connaissance des architectures machine (processeurs : CPU, GPU, gestion de la mémoire, aspects réseaux)
- Expérience en programmation GPU (CUDA, OpenACC, OpenMP5…)
- Connaissances en algorithmique
- Maîtrise des outils de gestion des codes sources (ex. : svn, git…) et des outils de travail collaboratif (trac, wiki, github…) pour le maintien à long terme du code
- Maîtrise d’Unix et bash
- Très bonne capacité à travailler en équipe
- Capacité à suivre les conventions et normes établies, à les faire évoluer si nécessaire, rigueur dans le développement et dans les tests qualité
- Connaissances et/ou intérêt pour les sciences du climat
- Capacité de travailler (communication écrite et orale, interactions lors des réunions) en langues française et anglaise