Research Engineer : Software Packaging and Continuous Integration for Supercomputers (Grenoble/Bordeaux)

Le descriptif de l’offre ci-dessous est en Anglais

Type de contrat : CDD

Contrat renouvelable : Oui

Niveau de diplôme exigé : Bac + 5 ou équivalent

Autre diplôme apprécié : Master's degree, Engineer's degree or PhD in computer science

Fonction : Ingénieur scientifique contractuel

Niveau d'expérience souhaité : Jeune diplômé

A propos du centre ou de la direction fonctionnelle

The Centre Inria de l’Université de Grenoble groups together almost 600 people in 22 research teams and 7 research support departments.

Staff is present on three campuses in Grenoble, in close collaboration with other research and higher education institutions (Université Grenoble Alpes, CNRS, CEA, INRAE, …), but also with key economic players in the area.

The Centre Inria de l’Université Grenoble Alpe is active in the fields of high-performance computing, verification and embedded systems, modeling of the environment at multiple levels, and data science and artificial intelligence. The center is a top-level scientific institute with an extensive network of international collaborations in Europe and the rest of the world.

Contexte et atouts du poste

 We are looking for candidates  with a Master's degree, Engineer's degree or PhD  in computer science, junior or senior,  to join a team responsible for the packaging, deployment and testing of software libraries for supercomputers.

Our team is distributed and so we have the fexibility to offer candidates 2 different possible localisations:

 

Duration: initial contratc of 3 years with possible extension. 


Hiring  dates are flexible with a possible start from November 2025 (modulo mandatory administrative deadlines). We will process applications as they arise.

This work  is part of the NumPEx project (http://www.numpex.fr) endowed with more than 40 million euros over 6 years from 2023, to build a software stack for Exascale supercomputers  related to the arrival in Europe of the first Exascale machines,  with one planned in France for 2025. These machines will be among the most powerful in the world (https://top500.org/), used for traditional scientific applications and increasingly also for artificial intelligence.

Our role in NumPEx is to design and implement an inovative  packaging, deployment and testing strategy. Commonly used solutions show their limits in front  of the complexity of supercomputers and applications, as well as the need for reproducibility for open science. Our goal is to build a solution based on a new generation of software packagin tools: Guix, Spack.

You can have a look at the team activity at https://numpex-pc5.gitlabpages.inria.fr/tutorials or https://hpc.guix.info. We also regularly contribute to the discussions on software production at the International INPEX worekshops (https://inpex.science/#workshops-events).

Mission confiée

You will contribute to the design and  implementation of the packaging and continuous integration strategy.  You will participate in the deployment and testing of the infrastructure. You will also participate to  user support  and  to  training activity around all these aspects.

Our packaging strategy is centered on the open source tools Guix (https://hpc.guix.info/),  and Spack (https://spack.io/). In direct contact with the development teams of these tools, with the supercomputer administration teams, and software developers, you will participate in:

  1. the design of the packaging strategy of the NumPEx project,
  2. the effort of packaging libraries for supercomputers, from standards (MPI, PETSC, Pytorch,....) to application s. 
  3. the design of a package test and validation solution taking into account the specificities of supercomputers (High performance network, ARM and  X86 arch, GPUs)
  4. the development of a solution allowing non-administrator users to deploy software stacks on supercomputers.
  5. training around all of these aspects for researchers and engineers, whether they are library designers or users.

Compétences

Master's degree, Engineer's degree or PhD, beginner or confirmed (salary adjusted according to experience) in computer science.

The essential expected skills  are:

  1. Good practice of Unix/Linux  and system administration
  2. Good programming experience  (C/C++, Python)
  3. Experience with software compilation and installation chains, version management tools, testing and continuous integration (CMake, Git, GitHub, GitLab, etc...).
  4. The work being performed in an international context, a good practice of technical English (written and oral) is expected (proficiency in French is not compulsory), as is a taste for team work.
  5. Any additional skill related to package managers (Guix, Nix, Spack, apt, rpm,…), containers (Singularity/Apptainer, Docker,…) or open source development are a plus.

An initial training time will be provided to complement  the missing skills.

You will integrate an academic research environment which will give you, throughout your contract, the opportunity to complete your training on cutting-edge technologies.

To apply, please send, in addition to the classic elements, any information that could help us assess your skills, such as a recent internship or thesis report, your github account or links to software developments in which you participate, as well as some references from people we can contact to certify your qualities.

 

 

 

Avantages

  • Subsidized meals
  • Partial reimbursement of public transport costs
  • Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.)
  • Possibility of teleworking (90 days / year) and flexible organization of working hours (except for intership)
  • Social, cultural and sports events and activities
  • Access to vocational training
  • Social security coverage under conditions

Rémunération

From 2,692 € (depending on experience and qualifications).

Base of 2692€ gross / month. Wage according to the profile.