2020-03109 - PhD Position F/M High-performance computing compilation schemes using dynamic analysis

Contract type : Fixed-term contract

Level of qualifications required : Graduate degree or equivalent

Fonction : PhD Position

Level of experience : Recently graduated

About the research centre or Inria department

Grenoble Rhône-Alpes Research Center groups together a few less than 650 people in 37 research teams and 8 research support departments.

Staff is localized on 5 campuses in Grenoble and Lyon, in close collaboration with labs, research and higher education institutions in Grenoble and Lyon, but also with the economic players in these areas.

Present in the fields of software, high-performance computing, Internet of things, image and data, but also simulation in oceanography and biology, it participates at the best level of international scientific achievements and collaborations in both Europe and the rest of the world.

Context

  • Polytrace Inria exploratory action, which investiguates how compilers can exploit runtime analysis on several execution traces to infer a general code optimization scheme.

  • Collaboration with Waseda University, Tokyo, Japan

Assignment

Compilers must restructure the application to use as best as possible computing and storage resources. In general, parallel runtimes (interpreters) do a better job than compilers, as the availability of dynamic informations (variable values, tests, loop iterations) make possible to make the right decisions. However, runtimes come with an overhead, which push them to coarse-grain task scheduling, while compilers are usually in charge of mapping the tasks to computation units (GPU, FPGA, etc) and then to extract fine-grain parallelism. We focus on programs from the polyhedral model, where the operations of the execution trace depends only on input size and where the compilation schemes are affine functions (schedule, resource allocation, etc). We believe this will make possible to obtain levels of optimizations out-of-reach by a purely static compilation.

In this PhD thesis, we focus in the inference of high-performance computing compilation schemes, thanks to dynamic analysis on a selection of execution traces. The PhD student will revisit the key ingredients of parallel/optimizing compilers: data placement, computation scheduling and partitionning and code generation. In particular, the PhD student will investiguate how to select execution traces to ensure code coverage and how to extrapolate the results of dynamic analysis to polyhedral compilation mappings. A compilation infrastructure will be built on top of LLVM to validate the results on the polyhedral compilation benchmarks.

 

Skills

Notions in compilers, experience with C++

 

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 (after 6 months of employment) 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
  • Social security coverage

Remuneration

1st and 2nd year: 1 982 euros brut /month

3rd year: 2 085 euros brut / month