The posting
Contexte du poste
Alliance Services Plus (AS+) recherche un(e) Ingénieur(e) HPC Fortran / Parallélisation MPI-OpenMP pour accompagner l’un de ses clients dans l’optimisation et l’industrialisation de codes de calcul scientifique haute performance.
Notre client est une société d’ingénierie du secteur de la défense, spécialisée dans la simulation de phénomènes physiques complexes et le développement de ses propres codes de calcul. Dans le cadre d’un programme défense, ses équipes souhaitent améliorer la parallélisation et les performances d’un solveur électromagnétique.
Vous interviendrez sur l’analyse des performances, l’évolution de l’architecture parallèle d’un modèle MPI pur vers un modèle hybride MPI/OpenMP, ainsi que sur l’optimisation des ressources de calcul et de la mémoire.
Vous travaillerez en étroite collaboration avec l’équipe de développement du client, avec un objectif de transfert de compétences et d’amélioration durable des performances du code.
Missions principales
- Analyser les performances et l’empreinte mémoire d’un solveur électromagnétique, développé en Fortran moderne
- Identifier les goulots d’étranglement en matière de calcul, de mémoire et de communications
- Faire évoluer la parallélisation d’un modèle MPI pur vers une architecture hybride MPI/OpenMP
- Optimiser la décomposition de domaine sur maillage cartésien structuré
- Améliorer l’équilibrage de charge entre les processus et les threads
- Optimiser les communications MPI et réduire les surcoûts liés aux échanges de données
- Améliorer l’utilisation de la mémoire : capacité, bande passante et localité cache
- Analyser les performances à l’aide d’outils de profiling et mettre en œuvre des optimisations adaptées
- Travailler sur la vectorisation et l’optimisation des calculs numériques
- Garantir la non-régression numérique à travers des tests et des validations adaptés
- Documenter les évolutions techniques, les choix d’architecture et les résultats obtenus
- Collaborer en binôme avec l’équipe de développement du client et assurer le transfert de compétences
- Dans un second temps, contribuer à l’optimisation globale du code de calcul
Profil recherché
- Vous êtes docteur(e) ou ingénieur(e) en calcul scientifique, physique numérique ou informatique HPC.
- Vous avez une expérience significative du développement de codes de calcul parallèles.
- Vous maîtrisez Fortran 90 et les normes plus récentes.
- Vous maîtrisez MPI et OpenMP, idéalement en programmation hybride.
- Vous savez optimiser les performances : profiling, vectorisation, optimisation mémoire.
- Vous êtes à l’aise sous Linux, avec Git et les environnements cluster (Slurm).
- Atouts appréciés : électromagnétisme numérique (FDTD), codes PIC.
- Vous êtes titulaire d’une habilitation Secret en cours de validité. C’est une condition impérative du poste.
Qualités attendues :
- Esprit d’analyse et forte capacité de résolution de problèmes complexes
- Rigueur scientifique et souci de la précision numérique
- Autonomie dans l’analyse et l’optimisation de codes existants
- Capacité à identifier et à résoudre des problèmes de performance
- Esprit d’équipe et aptitude à travailler en collaboration avec des développeurs scientifiques
- Capacité à documenter les travaux et à transmettre les connaissances techniques
- Force de proposition et curiosité technologique dans le domaine du calcul haute performance



