Ingénieur développement logiciel spécialiste en méthodes numériques haute-performance
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:- consolidation de l'interface
python
(pybind11) de composyx avec l'objectif d'être entièrement compatible avec numpy, scipy et ddmpy; - développement d'un solveur multigrille composable au sein de composyx (existant à l'heure actuelle seulement sous la forme de prototype).
- consolidation de l'interface
- 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 laprogrammation 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)
General Information
- Theme/Domain :
Distributed and High Performance Computing
Scientific computing (BAP E) - Town/city : Talence
- Inria Center : Centre Inria de l'université de Bordeaux
- Starting date : 2025-09-01
- Duration of contract : 2 years
- Deadline to apply : 2025-04-30
Warning : you must enter your e-mail address in order to save your application to Inria. Applications must be submitted online on the Inria website. Processing of applications sent from other channels is not guaranteed.
Instruction to apply
Si vous êtes intéressés par ce poste, merci de bien vouloir candidater sur le site jobs.inria avec les documents suivants :
- cv
- lettre de motivation
- lettre de recommandation, le cas échéant
Defence Security :
This position is likely to be situated in a restricted area (ZRR), as defined in Decree No. 2011-1425 relating to the protection of national scientific and technical potential (PPST).Authorisation to enter an area is granted by the director of the unit, following a favourable Ministerial decision, as defined in the decree of 3 July 2012 relating to the PPST. An unfavourable Ministerial decision in respect of a position situated in a ZRR would result in the cancellation of the appointment.
Recruitment Policy :
As part of its diversity policy, all Inria positions are accessible to people with disabilities.
Contacts
- Inria Team : CONCACE
-
Recruiter :
Agullo Emmanuel / Emmanuel.Agullo@inria.fr
The keys to success
- Autonomie
- Rigueur
- Capacité à dialoguer avec d'autres scientifiques ou industriels
About Inria
Inria is the French national research institute dedicated to digital science and technology. It employs 2,600 people. Its 200 agile project teams, generally run jointly with academic partners, include more than 3,500 scientists and engineers working to meet the challenges of digital technology, often at the interface with other disciplines. The Institute also employs numerous talents in over forty different professions. 900 research support staff contribute to the preparation and development of scientific and entrepreneurial projects that have a worldwide impact.