PhD Position F/M First Class Optimisations: Code Transformations as Libraries with Partial Evaluation and Analytic Macros

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.

Context

The PhD will take place in the CASH team, in LIP, Lyon, France. It will be supervised by Gabriel
Radanne, Inria researcher, specialist in compilation of high level languages. It will be made in collaboration with
Richard Membarth, Professor at DFKI-Saarbrücken, Germany.

Main activities

# Abstract

Domain-Specific Languages (DSL) are instrumental in exploring new complex use cases through novel programming techniques.
DSLs have been at a forefront of recent computer science innovations, from blockchains (contract languages) to quantum computing (Quipper, Q#, \dots), including machine learning (TensorFlow, ...). For High Performance Computing (HPC).
Unfortunately, designing such custom optimisations is a difficult task. It requires extending an existing compiler, or even more difficult: creating a new language from scratch.

Some languages, such as AnyDSL (https://anydsl.github.io/), make defining "Domain Specific Libraries" easier, by leveraging partial evaluation. While this provides a convenient user interface, writing complex code transformations in such a context is still difficult.

This project aims to propose *first class optimisations*, which allow to define optimisations and program transformations as first class objects of the language, similarly to function. Such first class optimisations can be defined by the user for a specific purpose, composed with other transformations, and then packaged as libraries and distributed to other users of the language.

# Full topic: 

https://www.ens-lyon.fr/LIP/CASH/wp-content/uploads/2024/05/these-DSL-opti.pdf

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

Remuneration

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

3rd year: 2 190 euros gross salary / month