Temporary Research Position F/M Compiler optimization & performance debugging

March 19, 2023
Offerd Salary:Negotiation
Working address:N/A
Contract Type:Other
Working Time:Negotigation
Working type:N/A
Ref info:N/A

2023-05806 - Temporary Research Position F/M Compiler optimization & performance debugging

Contract type : Fixed-term contract

Renewable contract : Oui

Level of qualifications required : PhD or equivalent

Fonction : Tempary Research Position

Level of experience : From 5 to 12 years

About the research centre or Inria department

The Inria Grenoble - Rhône-Alpes research center 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.

Inria Grenoble - Rhône-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 center is a top-level scientific institute with an extensive network of international collaborations in Europe and the rest of the world.


Performance debugging aims at identifying code regions that are both hot (take important part of execution time, hardware resources), and fat (performance can potentially be improved). Once such a region have been identified, understanding what causes the performance bug is crucial for fixing it. In particular, ability to point out instructions or dependences that are source of performance bottleneck is important. This requires the development of binary level tools and performance models that can map executed instructions to used hardware resources.

For this purpose, our team (CORSE) have developped several tools including:

  • PALMED: Automated caracterization of resource mapping for super-scalar architectures (see https: // palmed.corse.inria.fr/)
  • GUS: Dynamic code analysis using fast abstract simulator based sensitivity analysis
  • Assignment

    Middle term objective is to leverage the candidate expertise on binary instrumentation to valorize GUS. In particular we are interested in:

  • full support of x86 (currently no support for avx2 in QEMU) and Arm
  • support of multithreaded programs
  • support partial instrumentation (stop and restart on the same binary scope, eg on a sub-tile of a loop nest)
  • provide energy consumption feedback
  • demonstrate through compeling use cases the usefulness of GUS for performance debugging by:
  • Evaluate which framework is more appropriate between QEMU, DynamoRio, Valgrind...
  • Port (or extend) GUS on the selected binary instrumentation framework with full support of x86 and Arm
  • Valorize GUS using single Core computing kernels
  • Possible longer term objectives are:

  • Extend GUS in the following directions:
  • Model energy consumption. Valorize the approach
  • Implement efficient shadowing for multithreaded applications and partial implementation. Valorize the approach.
  • Work on the autotuning based compiler optimization to see if hardware counters can be used to improve Bayesian optimization:
  • Extend TVM to support the use of hardware counters
  • Add uncertainty criteria in acquisition function
  • Main activities

    Main activities include:

  • Read related work
  • Code development (C++, python, ...)
  • Write scientific papers
  • Skills

    Technical skills:

  • compiler design
  • binary instrumentation
  • instruction set architecture
  • C, C++, Python (optional -- only for long term project)
  • Languages : E nglish & French (efforts for learning French is highly appreciated)

    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 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

    Gross salary from 3 039 € / month before income taxes.

    General Information
  • Theme/Domain : Architecture, Languages and Compilation System & Networks (BAP E)

  • Town/city : grenoble

  • Inria Center : Centre Inria de l'Université Grenoble Alpes
  • Starting date : 2023-04-01
  • Duration of contract : 1 year
  • Deadline to apply : 2023-03-19
  • Contacts
  • Inria Team : CORSE
  • Recruiter : Rastello Fabrice / [email protected]
  • About Inria

    Inria is the French national research institute dedicated to digital science and technology. It employs 2,600 people. Its 200 agile project teams, generally run jointly with academic partners, include more than 3,500 scientists and engineers working to meet the challenges of digital technology, often at the interface with other disciplines. The Institute also employs numerous talents in over forty different professions. 900 research support staff contribute to the preparation and development of scientific and entrepreneurial projects that have a worldwide impact.

    Instruction to apply

    Defence Security : This position is likely to be situated in a restricted area (ZRR), as defined in Decree No. 2011-1425 relating to the protection of national scientific and technical potential (PPST).Authorisation to enter an area is granted by the director of the unit, following a favourable Ministerial decision, as defined in the decree of 3 July 2012 relating to the PPST. An unfavourable Ministerial decision in respect of a position situated in a ZRR would result in the cancellation of the appointment.

    Recruitment Policy : As part of its diversity policy, all Inria positions are accessible to people with disabilities.

    Warning : you must enter your e-mail address in order to save your application to Inria. Applications must be submitted online on the Inria website. Processing of applications sent from other channels is not guaranteed.

    From this employer

    Recent blogs

    Recent news