PhD Position F/M Scalable Translation Validation for High-Performance Computing and Machine Learning

Contract type : Fixed-term contract

Level of qualifications required : Graduate degree or equivalent

Fonction : PhD Position

About the research centre or Inria department

The Inria research centre in Lyon is the 9th Inria research centre, formally created in January 2022.  It brings together approximately 300 people in 16 research teams and research support services.

Its staff are distributed at this stage on 2 campuses: in Villeurbanne La Doua (Centre / INSA Lyon / UCBL) on the one hand, and Lyon Gerland  (ENS de Lyon) on the other.

The Lyon centre is active in the fields of software, distributed and high-performance computing, embedded systems, quantum computing and privacy in the digital world, but also in digital health and computational biology.


The PhD thesis will be held at Ecole Normale Supérieure (ENS-Lyon), in Lyon, France. ENS-Lyon is one of the top public universities in France and its ranked among the best universities in the world (QS world university ranking: 184).

The PhD student will be an employee of Inria, the French National Research Institute of Research in Computer Science which covers a wide spectrum of research in Computer Science.

This PhD thesis is within a collaboration framework between Inria Lyon and Iowa State University (USA).


The overall objective of this PhD thesis is to investigate translation validation of programs with reductions and compile-time data allocation. In particular, the PhD student will address the following points.

  • Verifying reductions. Many reduction transformation exist (factorization, semantic tiling, reduction parallelization). How to formalize them in unified way? How to support the composition with  loop transformations? How that formalization might be produced by the compiler? Finally, how to check it in a scalable way?  The polyhedral model provides a formalization of some of these transformations which enables solver-based checking. A reduction-compliant extension could be investigated.
  • Verifying data allocation. The same questions arise for compile-time data allocation required by automatic parallelization (array privatisation, array contraction, struct/array permutation, etc) and will be investigated as well. In particular the framework of linear intra-array allocation and affine inter-array allocation could help to find a relevant formulation.
  • Scalability. If possible, a first direct solver approach will be proposed for simple cases. Then, the scalability will be addressed to handle real-life HPC programs. How to parallelize the whole process? How to reduce the overall complexity? A trace-based solution could also be investigated.
  • Validation. The approach will be validated on HPC benchmarks.


Main activities

The PhD student will conduct original researches on the topic described above. The expected outcome includes:

  • Verification algorithms and correctness proofs
  • Effective implementation in C++
  • Successful benchmarking using Iowa State's compiler

Activities includes, but are not limited to: bibliographical synthesis, research, proof writing, software implementation, presentation of results at conferences, attending research schools, etc.


Technical skills and level required : Notions in compilers, parallelism and program analysis. Experience with C++.

Languages : Fluent english reading, writing and speaking

Relational skills : Excellent

Benefits package

  • 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
  • Professional equipment available (videoconferencing, loan of computer equipment, etc.)
  • Social, cultural and sports events and activities
  • Access to vocational training
  • Complementary health insurance under conditions


1st and 2nd year: 2 100 euros gross salary /month

3rd year: 2 190 euros gross salary / month