Membre de l'équipe de calcul et de données

Les candidatures doivent être adressées à Jean-Pierre Vilotte, Valérie Brenner, Jérôme Bobin et Jérôme Charousset.

 

Contexte

Lancé en 2023 pour une durée de 6 ans, The NumPEx PEPR a pour objectif de contribuer à la conception et au développement de méthodes numériques et de composants logiciels qui équiperont les futures machines européennes Exascale et post-Exascale. NumPEx vise également à aider les applications scientifiques et industrielles à exploiter pleinement leur potentiel.

Exa-DI est chargé de la mise en œuvre des processus de co-conception et de co-développement à travers NumPEx pour un logiciel axascale augmenté et productif. Cet objectif sera atteint grâce à la création d’une équipe nationale de développement de logiciels et d’ingénierie (chercheurs et ingénieurs) aux compétences multiples, qui comblera le fossé entre la recherche numérique et les applications de science et d’ingénierie computationnelles. Les applications couvrent un large éventail de domaines stratégiques, tels que l’astrophysique, la physique des particules, la climatologie/métérologie, la physique des plasmas, la physique des matériaux, les soins de santé numériques, l’énergie et l’ingénierie. l’intégration dans la pile logicielle NumPEx sera réalisée sous la forme de kits de développement logiciel qui peuvent être facilement déployés et instanciés de nombreuses façons pour permettre un développement durable et une portabilité des performances des applications exascales. L’activité de co-conception et de co-développement d’Exa-DI suivra une méthodologie Agile et sera construite sur un processus itératif, piloté par les besoins de l’application et centré sur des motifs algorithmiques (calcul, communication). Cet effort sera soutenu par des politiques communautaires en matière de logiciels et par une équipe habilitée à garantir des technologies communes d’empaquetage des logiciels et des méthodologies d’intégration continue en collaboration avec les centres de calcul nationaux, ainsi que des supports de formation et de bonnes pratiques pour atteindre l’ensemble de la communauté des calculateurs.

Mission

Les candidats rejoindront une équipe Agile d’environ 10 ingénieurs et, en fonction de leurs compétences et de leur expertise, contribueront à un ou plusieurs des motifs algorithmiques transversaux de calcul et de communication identifiés jusqu’à présent :

  • Discrétisation efficace basée sur les EDP @ exascale
  • Raffinement de maillage adaptatif structuré par blocs @ exascale
  • Méthodes basées sur les particules @ exascale.

Dans ce contexte, la mission et les responsabilités du poste sont les suivantes :

  • Collaborer avec des équipes d’applications scientifiques et industrielles pour définir des mini-applications et des applications indirectes représentatives des goulets d’étranglement techniques rencontrés dans les applications exascales.
  • Développer ces mini-applications et applications proxy en rassemblant des composants logiciels à valeur ajoutée (bibliothèques, cadres, outils) fournis par d’autres équipes de recherche NumPEx.
  • Renforcer l’utilisation de modèles de programmation d’accélérateurs portables et de couches d’abstraction répondant aux défis spécifiques de chaque motif de calcul et de communication.
  • Élaborer des tests et des mesures de référence pour évaluer les gains de performance, l’évolutivité et l’interopérabilité des solutions proposées.
  • Intégrer, conditionner et fournir des collections logiques de composants logiciels, sous la forme de kits de développement logiciel.
  • Favoriser le transfert de connaissances vers les équipes chargées des applications scientifiques et industrielles en fournissant une formation et une assistance sur les SDK publiés, les mini-applications et les applications proxy, ainsi que sur les meilleures pratiques associées.
  • Soutenir l’auto-organisation et la performance globale de l’équipe Agile en contribuant activement à la définition et à l’amélioration des processus, en planifiant et en exécutant les itérations, en démontrant les progrès, en se coordonnant avec les autres équipes et les parties prenantes, en gérant les risques et les obstacles.

Compétences requises

  • Maîtrise ou doctorat en informatique, en ingénierie ou dans une discipline connexe
  • Expertise en Python, C/C++, Fortran
  • Une connaissance de la programmation parallèle (GPU, multithread, etc.) est souhaitable.
  • Compétences pratiques en matière de résolution de problèmes et de réflexion stratégique, esprit critique et esprit d’initiative.
  • Capacité à travailler avec succès dans le cadre de contraintes de calendrier exigeantes et de programmes techniquement difficiles.
  • Excellentes compétences en matière de communication, y compris en ce qui concerne les rapports écrits
  • Maîtrise de l’anglais
  • Capacité et motivation à travailler avec différentes équipes d’application et plusieurs domaines d’application

Plus d'informations

Pour de plus amples informations, veuillez contacter :