PhD Position F/M Automatic task-based parallelization by source-to-source transformations



August 21, 2021


2021-03956 - PhD Position F/M Automatic task-based parallelization by source-to-source transformations

Contract type : Fixed-term contract

Level of qualifications required : Graduate degree or equivalent

Fonction : PhD Position


The CAMUS research team focuses on parallelization, optimization, profiling, modeling, and compilation. The team has increasing interests in the approaches used and enhanced in the high-performance community. The team's research activities are organized into five main issues that are closely related to reach the following objectives: performance, correction and productivity. These issues are: static parallelization and optimization of programs (where all statically detected parallelisms are expressed as well as all “hypothetical” parallelisms which would be eventually taken advantage of at runtime), profiling and execution behavior modeling (where expressive representation models of the program execution behavior will be used as engines for dynamic parallelizing processes), dynamic parallelization and optimization of programs (such transformation processes running inside a virtual machine), object-oriented programming and compiling for multicores (where object parallelism, expressed or detected, has to result in efficient runs), and finally program transformations proof (where the correction of many static and dynamic program transformations have to be ensured)


The thesis focuses on automatic parallelization but by using the task-based method. The proposed approach consists of transforming a sequential source code into a semantically equivalent source code parallelized using the task- based method. We plan to work at a high level to target a large spectrum of applications including industrial software that are not numerical/mathematical applications. Moreover, our approach should facilitate the use of all previous works that was done on the task-based method, such as scheduling strategies, and complement the loop-centric automatic parallelization schemes.

Main activities

We propose to parallelize an application by automatically inserting task-based programming codes directly in the original sequential source-code, as an HPC expert developer would do. We will rely on APAC, an existing source-to-source compiler implemented on top of clang-LLVM 1 that we created 12 to demonstrate the feasibility of the concept. In the analysis phase, APAC finds the types of data accesses that are performed (”read” or ”write”) but we will extend it to detect the specificity of the accesses (”maybe-write”, ”commutative”, etc). Besides, APAC currently uses OpenMP as a backend. Therefore, we will upgrade it to use our SPETABARU runtime system because we can adapt it easily and benefit from the data access paradigms supported by SPETABARU. A significant effort will be put on formalizing the transformations independently from the runtime system in use. This is mandatory to ensure that the system is easy to re-implement and to define a base that will enable comparison with potential competitive approaches. Besides, the existing literature on automatic loop parallelization will be useful to parallelize fine-grained loops and handle data dependencies. In the second stage, we will focus on granularity of the tasks which is critical to control and mitigate the overhead coming from the parallelization


The candidate should have:

  • Master degree (Computer Science or equivalent)
  • Proactive, high interest in solving problems
  • Experience in C/C++
  • Knowledge of parallelization will be highly valuable
  • 12 G. Kusoglu, B. Bramas, and S. Genaud, “Automatic task-based parallelization of C++ applications by source-to-source transformations,” in Compas 2020.

    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

    Salary: 1982€ gross/month for 1st and 2nd year. 2085€ gross/month for 3rd year.

    Monthly salary after taxes : around 1596,05€ for 1st and 2nd year. 1678,99€ for 3rd year. (medical insurance included).

    General Information
  • Theme/Domain : Architecture, Languages and Compilation Software engineering (BAP E)

  • Town/city : Illkirch

  • Inria Center : CRI Nancy - Grand Est
  • Starting date : 2021-10-01
  • Duration of contract : 3 years
  • Deadline to apply : 2021-08-21
  • Contacts
  • Inria Team : CAMUS
  • PhD Supervisor : Bramas Bérenger /
  • The keys to success

    The candidate should send a resume, a cover letter, the marks and ranking of latest Master degree, and one support letter.

    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.