Suivez

la liste

Concours Ingénieur d'étude en calcul scientifique

Mission :

La mission de l'ingénieur.e sera de travailler sur le développement de codes open source et communautaires massivement parallèles (CPU, GPU) de simulation numérique (fluide et particulaire) pour étudier la physique des plasmas. Il/elle interviendra également sur des codes de visualisation et d'analyse de données.

Activités Principales:

Contribuer au développement de codes de simulation et d'analyse de données pour la physique des plasmas :

  • Concevoir l'architecture des codes alliant modularité et performance sur les différentes configurations matérielles.
  • Analyser et optimiser la performance des codes sur les diverses architectures parallèles : (CPU, GPU) de sorte à assurer leur bon fonctionnement sur les calculateurs nationaux et internationaux actuels et futurs
  • Mettre en place et réaliser les tests, ainsi que les processus d'intégration continue pour garantir un développement optimal des codes.

Contribuer à la communication des activités de simulations et analyse de données du LPP :

  • Assurer la diffusion des codes et leur documentation afin de les rendre accessibles et exploitables par la communauté scientifique internationale
  • Communiquer sur les résultats des projets liés au calcul scientifique du laboratoire dans la littérature spécialisée et dans les rencontres nationales et internationales.
  • Rationaliser les moyens de calcul :
    1. Harmoniser les développements et les outils (visualisation, validation, analyse de performances, gestion de projet) entre les différents codes plasmas d'intérêts pour les 3 équipes de recherche du LPP.
    2. Contribuer à la maintenance des équipements (hardware/software) de calcul du LPP
    3. Assurer une veille quant à l'évolution des pratiques et outils en lien avec les activités décrites ici

Complémentaires :

  • Collaborer avec les ingénieur·e·s en administration informatique pour faire le lien entre les infrastructures matérielles et logicielles et les codes de calcul, de visualisation et d'analyse de données.
  • Former les chercheur·e·s,ITs,doctorant·e·s et post-doctorant·e·s aux bonnes pratiques de développement pour la simulation et l'analyse de données,en assurant la qualité et la pérennité des contributions aux codes.
  • Gérer les outils de développement communautaires(intégration continue,gestion de versions,debuggers parallèles,compilateurs,profileurs...)

Connaissances techniques :

  • Expertises des langages C++, Python, C, et leur interfaçage, dans leur version moderne, et suivi de leur evolution.
  • Maîtrise des méthodologies de conception logiciel et de suivi de projet de développement logiciel en équipe comme git.
  • Maîtrise approfondie des techniques de calcul parallèle à mémoire distribuée, partagée, sur CPU et GPU.
  • Connaissances des architectures modernes des machines de calculs et de leurs évolutions.
  • Maîtrise des méthodes et outils permettant l'analyse de performances.
  • Connaissances en validation de codes (réalisation de tests, intégration continue).
  • Connaissances solides des systèmes UNIX et des environnements de calculs distribués.

Savoir-faire et savoir-être :

  • Mettre en œuvre des algorithmes de calcul numérique
  • Développer un code de calcul haute performance massivement parallèle, en équipe
  • Réaliser une suite de tests unitaires et de fonctionnement
  • Analyser et optimiser des codes de calcul haute performance
  • Esprit d'analyse, de synthèse
  • Accompagner, conseiller, anticiper les besoins
  • Anglais niveau B2 (lu, écrit, parlé)
  • Rigoureux et vigilant, sens du relationnel et de la communication.

Profil recherché : Cursus en informatique avec des connaissances en calcul scientifique souhaitées et une expérience professionnelle dans le développement de codes scientifiques ou la performance est importante.

Contexte :

Le Laboratoire de Physique des Plasmas (LPP) est une Unité Mixte de Recherche (tutelles CNRS/Ecole Polytechnique/Sorbonne Université/Université Paris-Saclay/Observatoire de Paris], composée d'environ 110 personnes dont 65 chercheurs et ingénieurs permanents, répartis sur 2 sites : l'Ecole Polytechnique à Palaiseau et Jussieu à Paris. Le LPP est organisé en 3 équipes scientifiques : Plasmas de Fusion, Plasmas Froids et Plasmas Spatiaux.
Le LPP est un laboratoire de recherche en physique des plasmas très impliqué dans des projets de recherche internationaux et des collaborations industrielles de premier plan en plasmas de fusion (cf. projet ITER), en plasmas froids (propulseurs de satellites avec SAFRAN) et en plasmas spatiaux avec la participation aux missions spatiales pilotées par la NASA (MMS, Parker Solar Probe et HelioSwarm en développement) et par l'ESA (Solar Orbiter, BepiColombo et JUICE).
Devant la complexité des différents plasmas étudiés, la réussite de ces projets nécessite la mise en œuvre d'approches complémentaires aux expériences, via la simulation numérique et le développement de méthodes innovantes d'analyse de données issues d'expériences de laboratoire ou d'observations spatiales.
L'ingénieur.e intègrera l'équipe informatique du LPP, en support des 3 équipes scientifiques, principalement sur le site de Palaiseau. L'équipe informatique est constituée de 6 permanents : 1 ingénieur de recherche (IR), 1 ingénieur d'étude (IE) et 1 assistant ingénieur en systèmes et réseaux et 2 IR et 1 IE en développements logiciels. De plus, Il/elle interagira avec les ingénieurs d'autres laboratoires de IP Paris au sein de l'unité propre de service « Infrastructure, données et calcul scientifique » (IDCS). Il/Elle contribuera au développement des codes du LPP pour la communauté, et sera associé(e) aux travaux scientifiques des équipes (codes PHARE, SMILEI, LPPic, OHM, SciQLOP, Speasy, Cdfpp, etc.).