Conception d'un code de calcul spécialisé dans la dynamique rapide, pour les approches multiéchelles
Stage Paris (Paris) Développement informatique
Description de l'offre
Détail de l'offre
Informations générales
Entité de rattachement
Le Commissariat à l'énergie atomique et aux énergies alternatives (CEA) est un organisme public de recherche.Acteur majeur de la recherche, du développement et de l'innovation, le CEA intervient dans le cadre de ses quatre missions :
. la défense et la sécurité
. l'énergie nucléaire (fission et fusion)
. la recherche technologique pour l'industrie
. la recherche fondamentale (sciences de la matière et sciences de la vie).
Avec ses 16000 salariés -techniciens, ingénieurs, chercheurs, et personnel en soutien à la recherche- le CEA participe à de nombreux projets de collaboration aux côtés de ses partenaires académiques et industriels.
Référence
2018-4642-848Description du poste
Domaine
Mathématiques, information scientifique, logiciel
Contrat
Stage
Intitulé de l'offre
Conception d'un code de calcul spécialisé dans la dynamique rapide, pour les approches multiéchelles
Sujet de stage
Conception d'un code de calcul spécialisé dans la dynamique rapide, pour les approches multiéchelles
Durée du contrat (en mois)
6 mois
Description de l'offre
Les codes de dynamique rapide pour les approches multiéchelles nécessitent de très fortes densités de maillage pour modéliser des volumes de quelques millimètres au cube avec une résolution micrométrique. Une caractéristique de ces maillages est leur très grande régularité (une grille rectangulaire, par exemple), les différenciant des codes aux éléments finis. Les nouvelles générations de calculateurs hautes performances permettent d'envisager des simulations sur plusieurs centaines de millions de mailles, si une adaptation très forte des codes est réalisée pour ces machines. Le sujet de ce stage consiste à proposer et tester un code « modèle » compatible avec une architecture de type MPI + threads, à tester sur un calculateur massivement parallèle (processeurs Intel-KNL ). Une attention particulière sera portée à la gestion de la mémoire (optimisation des caches, pinning de threads) et aux entrées sorties parallèles. Le développement sera en C++11, avec une séparation marquée entre bas niveau (optimisation, vectorisation) et haut niveau (écritures mathématiques surchargées) afin de permettre le développement de modèles par des physiciens. Des exemples de classes pour le haut niveau seront fournis.
Profil recherché
Profil du candidat
MASTER/INGENIEUR
C++
BAC + 5