Ingénieur scientifique contractuel
Inria
About the role
About the Centre
The Centre Inria de l’Université de Grenoble groups together almost 450 people in 26 research teams and 9 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 Alpes 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 centre is a top‑level scientific institute with an extensive network of international collaborations in Europe and the rest of the world.
Context and Position
General motivation: Domain‑specific compilation
Given a program and an architecture, the first goal of a compiler is to translate this program into an equivalent assembly code. The secondary goal is to optimize the generated assembly code, in order to exploit fully the capabilities of the architecture, by using its hardware mechanisms and avoiding its performance bottlenecks.
The more information a compiler is able to extract from a program, the better its optimization potential is. There are several interesting positions in this trade‑off :
- Generic compiler (such as gcc, llvm) are able to take any program as an input but are not able to reach the best performance.
- Domain‑specific compiler restrict themselves to a specific class of programs: these programs have specific structural properties which can be exploited to improve their performance.
- Library implementations are handwritten implementations of a key kernel for a specific architecture. These implementations are usually the best performing, but require lots of time and expertise.
Recent work – XTC compiler
In recent years, the CORSE Inria team focused on the development of XTC, a domain‑specific compiler for tensor operations for CPU. This class of program includes key operations, including matrix multiplication, tensor contraction and convolutions. These operations are central in application domains such as artificial intelligence (for convolutions and matrix multiplication) or computational chemistry (for tensor contraction).
The XTC compiler includes a scheduling language (called Descript) that summarizes the optimization decisions on the operations (tiling, loop interchange, vectorisation, …). This allows the user to focus on the exploration of the optimisation space, in order to find the best performing implementations.
Mission / Objectives
There are multiple directions of improvement for XTC that could be explored by the candidate.
Extending the Descript scheduling language to multiple operators
- Extend the formalisation of Descript to cover a group of tensor operators.
- Focus on the fusion transformation and explore its variations (e.g., allocation of temporary buffers, duplication of computation, combination of tiling and fusion).
Extending XTC to linear‑algebra kernels
- Investigate the link between tensor operations and linear‑algebra kernels (such as those found in LAPACK).
- Identify structural properties of these kernels and examine whether Descript can be extended to this class of operations, thereby supporting a larger range of programs useful in scientific applications.
Factorising the code‑generation process across tensor accelerators
- Extend XTC code generation to different architectures and accelerators.
- Factorise as much of the code‑generation process as possible, formalising an abstraction level that allows description of a schedule on a generic architecture, checking schedule coherency, and generating constraints that define a search space of possible schedules.
Collaboration: Guillaume Iooss will be the main person collaborating with the candidate. In practice, the candidate will interact with the entirety of the CORSE team, especially the people with neighbouring subjects.
Main Activities
- Mathematical formalisation
- Learning about compilation techniques and hardware architecture
- Implementing new algorithms / compilation passes in XTC
- Learning about research in general (including paper writing and presentation)
Required Skills / Competences
Technical knowledge
- Knowledge in compilation and linear algebra.
- Basic knowledge of Unix environment, git, … (enough to develop code in this environment).
- Programming languages: Python, basic level of C/C++, LaTeX (for scientific writing).
Language requirements
- Proficiency in English.
- A good level in French would be helpful (but not compulsory).
Learning Opportunities
- Compilation for high‑performance computing
- Polyhedral compilation
- Architectural knowledge about CPU, GPU and tensor accelerators
Benefits
- Sub‑sidised meals
- Partially reimbursed public transport
- 7 weeks of annual leave + 10 RTT days (full‑time) + possible exceptional leave (e.g., sick children, moving)
- Possibility of remote work (90 floating days per year) and flexible working time
- Social, cultural and sports benefits (Association de gestion des œuvres sociales d’Inria)
- Access to professional training
- Employer contribution to health and provident mutual insurance (subject to conditions)
Salary
From 2 692 € gross per month (depending on experience and qualifications).
General Information
- Theme / Domain: Architecture, languages and compilation – Software engineering (BAP E)
- Location: Grenoble
- Centre Inria: Centre Inria de l’Université Grenoble Alpes
- Start date: 2026‑09‑01 (desired)
- Contract type: Fixed‑term (CDD), renewable, 12 months
- Application deadline: 2026‑05‑06
Application Notes
- Applications must be submitted online on the Inria website; applications sent through other channels are not guaranteed to be processed.
- Security defence: The position may be assigned to a restricted‑regime zone (ZRR). Access authorization is granted by the head of the establishment after a favourable ministerial opinion. A negative ministerial opinion would result in cancellation of the recruitment.
- Recruitment policy: In line with Inria’s diversity policy, all positions are open to persons with disabilities.
Contacts
- Team: CORSE
- Recruiter: Guillaume Iooss – guillaume.iooss@inria.fr
The proposed topics have a heavy mathematical formalisation component; the candidate should be comfortable with mathematics, capable of identifying properties precisely and concisely, and exhibit curiosity and a willingness to learn continuously.
Skills
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free