- Superviseurs : Mathieu LOBET et Marc CHUNG TO SANG
- Durée du stage : 6 mois
- Période : de mars à septembre 2026
- Lieu : Maison de la Simulation, CEA Saclay
- Contact : mathieu.lobet@cea.fr
Contexte
Le monde du calcul scientifique connaît en ce moment même plusieurs révolutions technologiques à la fois matérielles et logicielles. L'Europe se dote en ce moment de plusieurs super-calculateurs de capacité exaflopique. Ces machines massivement parallèles à plusieurs niveaux sont dopées par la présence de puissants accélérateurs GPU dans lesquels se concentre la puissance de calcul.
Dans le cadre de l'ANR MATURATION (https://www.math.univ-toulouse.fr/~narski/MATURATION/), nous nous intéressons au portage d'un code de simulation plasma basé sur la méthode des grilles parcimonieuses couplée à l'approche Particle-In-Cell sur architecture GPU. Ce code a notamment des applications pour la conception de moteur plasma équipant les satellites. Il est développé en collaboration avec le laboratoire LAPLACE à Toulouse (https://www.laplace.univ-tlse.fr/). Le code a déjà fait l'objet d'optimisation pour la partie CPU et doit maintenant être porté sur GPU.
Objectifs du stage
Le code actuel est écrit en Fortran et utilise la technologie OpenMP pour le parallélisme intra-noeud. Dans le cadre du portage GPU, nous souhaitons explorer l'utilisation de la bibliothèque de portabilité de performance C++ Kokkos de plus en plus prisée pour l'adaptation des codes aux multiples technologies GPU existantes sur le marché (NVIDIA, AMD, Intel). Cette exploration se fera via le portage progressif de différents noyaux du code d'origine en Kokkos en commençant par les plus couteux en temps. Le développement d'algorithmes optimisés pour la partie GPU fera partie du stage. Ce travail se fera conjointement avec l'équipe de l'ANR Maturation à la Maison de la Simulation et les autres équipes de chercheurs et d'ingénieurs spécialisés dans le développement de Kokkos (équipe CExA - https://cexa-project.org/). Le but de sera de déterminer la pertinence de Kokkos pour le portage de notre application et de regarder comment atteindre les meilleures performances sur divers modèles récents de GPU. Le stage se déroulera dans les locaux de la Maison de la Simulation au CEA Saclay (https://mdls.fr/).
Profil du candidat
- Étudiant Master 2 ou Diplôme d'ingénieur
- Connaissance en programmation C++
- Intérêt pour le calcul scientifique et la simulation numérique
- Notion de parallélisme sur CPU et GPU
Compétences apportées par ce stage
- Expérience en programmation parallèle des accélérateurs GPU
- C++ avancé
- Outils d'analyse de la performance
Comment postuler :
Vous pouvez me contacter par email pour toute question ou m'envoyer vos candidature (CV, lettre de motivation, relevés de notes...) à mathieu.lobet@cea.fr