PhD Position F/M Compilation of a DSL based on transducers to SIMD optimized programs
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 320 people in 19 research teams and research support services.
Its staff are distributed in Villeurbanne, Lyon Gerland, and Saint-Etienne.
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
This PhD is part of the larger Shanon meet Cray, or SxC, which aims to facilitate the writing of SIMD programs and to pave the way to future auto-vectorization methods for stream processing.
This PhD will be co-advise by Gabriel Radanne (INRIA Lyon) and Charles Paperman (Université de Lille) and can be located either in Lyon, with visits in Lille during the PhD.
Assignment
Efficient Data Processing
Streaming data processing is a crucial approach that focuses on traversing data to extract pertinent information. Applications ranges from network packet manipulation to analysing DNA. Modern data-processing tools heavily depend on efficient implementations that harness hardware acceleration to achieve high performance. This acceleration can sometimes be achieved through automatic compilation, but frequently demands expert developers to craft optimizations by hand.
One critical facet of this optimization process involves SIMD optimization, where data is packed into chunks and processed with minimal branching in the code, often using bitvector operations. These optimizations are at the core of numerous well-known software applications, such as regular expression matching in tools like ripgrep, JSON parsing in libraries like SimdJSON, and even fundamental operations like string encoding and decoding (unicode parsing). Developing these optimizations requires a broad skill set and is a testament to the expertise of programmers worldwide.
Exploring a Restricted Programming Language
During this PhD, we will explore the design and implementation of a specialized programming language for stream processing and its compilation to efficient SIMD code. The technics will take inspiration of real software design (such as rsonpath) and will be based on abstract automata theory and logic approach. Initially we will focus on a limited expressivity class, named LTL, whose theoretical properties are well understood.
Following this initial exploration, depending on the interest of the student, we will focus either on: - Extending our design to other language constructs that admit efficient vectorised implementation - Formally study the link between our language and finite state transducers and their expressivity - Output real-world efficient code in existing instruction sets.
Main activities
Tasks
- Play with handcrafted efficient SIMD code
- Design a small subset of the language and a toy compilation scheme
- Benchmarks the resulting code on concrete example
- Eventually: Study algebraically the class of function designed
- Eventually: Expand the language with more operations
Skills
Candidate profile
The candidate should ideally be familiar with formal approaches in programming language design, notably type systems, semantics, and logic. From the practical point of view, a basic experience in software programming and usage of collaborative tools such that git. This PhD strongly relies on the fact that practical implementation should have strong theoretical foundations and that further refinements of the theory should get inspiration from the practical side. We expect the candidate to agree with this philosophy
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
2200 euros gross salary /month
General Information
- Theme/Domain :
Architecture, Languages and Compilation
Software engineering (BAP E) - Town/city : Villeurbanne
- Inria Center : Centre Inria de Lyon
- Starting date : 2025-09-01
- Duration of contract : 3 years
- Deadline to apply : 2025-05-25
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.
Instruction to apply
Applications must be submitted online on the Inria website.
Processing of applications sent by other channels is not guaranteed.
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.
Contacts
- Inria Team : CASH
-
PhD Supervisor :
Radanne Gabriel / gabriel.radanne@inria.fr
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.