2019-01399 - LLVM Expert Engineer in Optimizing Compilers

Contract type : Public service fixed-term contract

Level of qualifications required : Graduate degree or equivalent

Other valued qualifications : PhD thesis

Fonction : Temporary scientific engineer

Level of experience : From 3 to 5 years

Context

The objective is to take responsibility for the technical management of the compilation framework Apollo, dedicated to runtime speculative parallelization and optimization of programs, and to handle the development of specific LLVM passes.

 

Assignment

Assignments:
With the help of researchers involved in the Apollo project, the recruited person will be taken to extend and maintain the Apollo software framework, and will also serve as the principal interlocutor with the user community.

For a better knowledge of the proposed research subject:
The current release of Apollo, as well as technical presentations and scientific references are available at the following URL: http://apollo.gforge.inria.fr.

Collaboration:
The recruited person will be in connection with PhD and Master students who take part of Apollo's extensions and improvements.

Responsibilities:
The person recruited is responsible for the software developments related to Apollo and will take initiatives for significant improvements and extensions.

Steering/Management:
The person recruited will be in charge of the technical management (extensions, improvements, publication of new releases, benchmarking), as well as some human management (user community, supervision of students).

Main activities

Main activities:

  • Improvement and extensions of the Apollo LLVM analysis & transformation passes
  • Implement extensions related to inter-procedural analysis and dynamic scheduling
  • Implement improvements and correct bugs
  • Lead a user community
  • Write documentation and reports
  • Supervise students

Additional activities: 

  • Contribute to scientific publications
  • Present the works’ progress to the research team and to the international community

Skills

Technical skills and level required: expertise in Clang/LLVM, C/C++ programming and Linux/Unix systems; good knowledge of assembly language and processor architecture; knowledge of compilers and compilation techniques; knowledge of parallelism and code parallelization techniques.

Languages: fluent English.

Relational skills: ability to work in a team, capacity to listen and to share.

 

Benefits package

  • Subsidised catering service
  • Partially-reimbursed public transport
  • Social security
  • Paid leave
  • French courses

Remuneration

Remuneration : between 2632 € and 3540 € according to experience and diploma.