Logo Inria

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

Contract type : Fixed-term contract

Renewable contract : Yes

Level of qualifications required : Graduate degree or equivalent

Other valued qualifications : Master's degree, Engineer's degree or PhD in computer science

Fonction : Temporary scientific engineer

Level of experience : Recently graduated

About the research centre or Inria department

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.

Context

The CNRS is the employeer for this position.

 

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 supercomputing libraries for supercomputers.

We have 3 open positions to complement our  team of senior researchers and engineers.  

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

Duration: 3 years with possible extension for 2 years.

Hiring  dates are flexible with a possible start from November 2023 (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 promising packaging tools: Guix, Nix, Spack.

Assignment

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/), Nix (https://nixos.org/) and Spack (https://spack.io/). In direct contact with the development teams of these tools, with the supercomputer administration teams, and with our foreign counterparts (European, Japanese, American, etc.), you will participate in:

  1.  the design of the packaging strategy of the NumPEx project,
  2.  the effort of packaging these libraries with the proposed tools,
  3. the design of a package test and validation solution taking into account the specificities of supercomputers.
  4. the development of a solution allowing non-administrator users to deploy NumPEx libraries on supercomputers.
  5. training around all of these aspects for researchers and engineers, whether they are library designers or users.

Skills

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, system 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.

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.

 

 

 

Benefits package

 (May slligtly change depending on the hosting lab):
- 44 days of annual leave
- Possibility of teleworking up to 2 or 3  days a week
- Partial coverage of complementary health costs.
- Subsidized catering available on campus
- Partial reimbursement of public transport costs

Remuneration

Depending on experience and qualifications.