Ingénieur développement logiciel spécialiste en méthodes numériques haute-performance

The offer description be low is in French

Level of qualifications required : Graduate degree or equivalent

Fonction : Temporary scientific engineer

About the research centre or Inria department

Le centre Inria de l’université de Bordeaux est un des neuf centres d’Inria en France et compte une vingtaine d’équipes de recherche. Le centre Inria est un acteur majeur et reconnu dans le domaine des sciences numériques. Il est au cœur d'un riche écosystème de R&D et d’innovation : PME fortement innovantes, grands groupes industriels, pôles de compétitivité, acteurs de la recherche et de l’enseignement supérieur, laboratoires d'excellence, institut de recherche technologique…

Context

L'objectif principal du poste est de contribuer au développement logiciel de composyx. Le logiciel composyx est une bibliothèque d'algèbre linéaire en C++ axée sur la composabilité. Son objectif est de permettre à l'utilisateur d'exprimer un large éventail d'algorithmes à l'aide d'une interface de haut niveau, allant des prototypes sur ordinateur portable aux calculs parallèles sur des supercalculateurs multi-nœuds.

L'ingénieur recruté s'intégrera au sein de l'équipe de développement de composyx au sein de l'équipe-projet Inria concace.

Ce poste s'inscrit dans le cadre du programme de recherche Numérique pour l'Exascale NumPEx et plus particulièrement dans le projet Exa-MA: Methods and Algorithms for Exascale.

L'objectif principal du programme de recherche Numérique pour l'Exascale (NumPEx) en France est de développer des compétences et des infrastructures de pointe dans le domaine du calcul exascale.

Ces compétences et infrastructures permettront d’effectuer des calculs à une échelle sans précédent, atteignant des performances de l’ordre du quintillion (1018) d’opérations par seconde.

Le projet Exa-MA: Methods and Algorithms for Exascale se concentre sur les aspects Exascale des méthodes numériques, en garantissant leur adaptabilité au matériel existant et à venir. De plus, il s’agit d’un projet transversal, proposant des méthodes et des outils où la modélisation, les données et l’IA, à travers les algorithmes, sont centrales.

Assignment

L'ingénieur recruté fera partie de l'équipe concace sur le site de l'Inria Bordeaux. Il s'intégrera à l'équipe de développement de composyx. Il sera supervisé par Gilles Marait, développeur principal de composyx, ainsi que par Emmanuel Agullo et Luc Giraud pour les aspects scientifiques. Il travaillera également en étroite collaboration avec le sed, en particulier avec Florent Pruvost pour les aspects qualité logicielle (cmake, gitlab-ci, …) et Ludovic Courtès pour les aspects intégration et déploiement avec guix et guix-hpc.

Il participera également au projet national Exa-MA: Methods and Algorithms for Exascale au sein du programme national NumPEx. Il sera donc amené à participer aux réunions du projet. De plus, il pourra réaliser des missions chez les partenaires afin de réaliser l'intégration de composyx dans leurs codes cibles.

Dans ce cadre, voici les missions qui lui seront confiée:

  • Développement de briques logicielles parallèles au sein de composyx essentiellement dans les domaines de l'algèbre linéaire et multilinéaire;
  • Support à l'intégration de composyx dans les applications cibles d'Exa-MA: Methods and Algorithms for Exascale;
  • Toutes les contributions scientifiques de concace auront vocation à être intégrées dans composyx. L’ingénieur appuiera techniquement ces intégrations et sera en support au développement des briques élémentaires.

Main activities

  • Conception et développement de nouvelles fonctionnalités pour le logiciel C++ composyx au sein de l'équipe concace, essentiellement dans les domaines de l'algèbre linéaire et multilinéaire parallèle. Les développements suivants seront prioritaires:
  • Rédaction de la documentation scientifique et technique des fonctionnalités développées;
  • Évaluation des fonctionnalités numériques et de la performance systématique sur les plate-formes de calcul locales, régionales, et nationales.
  • Support à l'intégration de composyx dans les applications cibles d'Exa-MA: Methods and Algorithms for Exascale.

Skills

Compétences techniques/opérationnelles

  • Connaissance de l'algèbre linéaire numérique et du calcul haute performance (MPI, OpenMP, moteurs d'exécution…);
  • Connaissances solides et expériences en développement logiciel;
  • Maîtrise du C++ moderne et de la programmation générique, et bonnes connaissances en python;
  • Architecture logicielle et paradigmes de programmation, génie logiciel, bonnes pratiques et outils de développement logiciel: gestion de version, (git, gitlab), CI/CD (gitlab-ci), documentation et programmation littérale (org-mode), construction de paquets (cmake), diffusion et déploiement (guix, singularity);
  • Capacité à rédiger, publier et présenter en français et en anglais;
  • Capacité à proposer et réaliser des mises en œuvre de référence, des prototypes et démonstrateurs: autonomie, créativité, veille pro-active, écoute des besoins;
  • Capacité à comprendre les contextes et besoins scientifiques, et à les traduire dans des implantations technologiques
  • Maîtrise de la démarche scientifique associée à l’expérimentation (science reproductible, état de l’art scientifique, état de l’art technologique d’un domaine, publication logicielle, contribution à la publication scientifique sur l’aspect méthodologique et la mesure de performance)

Savoir être / compétences relationnelles

  • Ténacité, aimant l’effort au long terme
  • Capacité de conceptualisation
  • Sens de l'organisation
  • Rigueur
  • Fiabilité
  • Ouverture d’esprit et plaisir à travailler dans un environnement collaboratif bienveillant

 

Benefits package

  • Restauration subventionnée
  • Transports publics remboursés partiellement
  • Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
  • Possibilité de télétravail et aménagement du temps de travail
  • Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
  • Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
  • Accès à la formation professionnelle
  • Sécurité sociale

Remuneration

Le salaire moyen sera entre 2692€ et 3085€ brut, dépendant de vos qualifications et de votre expérience professionnelle (avant contributions sociales et prélèvement à la source)