Research Engineer (Compilation/HPC)
Contract type : Fixed-term contract
Renewable contract : Yes
Level of qualifications required : Graduate degree or equivalent
Other valued qualifications : Master or PhD
Fonction : Temporary scientific engineer
Level of experience : Up to 3 years
Context
The engineer will join the INRIA CAMUS team, located at University of Strasbourg in the ICube Laboratory, on the Illkirch Campus very close to Strasbourg.
[S]he will be participating in the MICROCARD-2 European project (microcard.eu), specifically in Work Package 4 (WP4): code optimization and hardware adaptation. The supervisors are Vincent Loechner (MCF) and Stéphane Genaud (PROF) and a postdoc will also be recruited in this project. The MICROCARD-2 EuroHPC Center of Excellence follows the MICROCARD EuroHPC project that ran from April 2021 to September 2024.
Authoring research papers will be possible in collaboration with the rest of the team.
Salary: about 2450€/month (gross), depending on experience. Max duration: 30 months.
Assignment
The engineer will participate to a high-level compiler project that builds a bridge from a model representation convenient for cardiac simulation experts to an optimized parallel code using the MLIR compiler environment of LLVM.
This compiler has been developped as part of the MICROCARD(1) European project, and it exploits both specific target architecture information an properties of the scientific problem (computation patterns, resilience to approximation) to generate efficient parallel vectorized CPU and GPU codes. Efficiency was assessed both in terms of execution time and energy consumption. Our strategy is to rely on a dedicated compiler front end and on new research extending state-of-the-art code generation and runtime techniques to statically and dynamically optimize this application.
In the MICROCARD-2 project, we will specifically focus on:
- efficient code generation for new and future HPC processors (ARM-SVE, RISC-V, EPI family of processors and accelerators, ...)
- low-precision optimizations: some parts of the code can use lower precision computations than the standard 'double' floating-point ; the goal is to identify and automatically generate code that takes advantage of single or even half precision floating point. Another promising path is the use of fixed-point arithmetics, that needs to be implemented and tested.
- benchmarking: conceive, maintain, and distribute benchmarks to assess performance portability of our optimizatons on our CI/CD.
Main activities
In collaboration with the local and external members of the MICROCARD project, the main activities include:
- participating to the development of the openCARP software, our Cardiac Electrophysiology Simulator development platform (opencarp.org);
- developing and extending the MLIR compiler front-end to generate a code targetting heterogeneous parallel architectures, using OpenMP and GPU dialects, and domain-specific properties of the code;
- perform non-regression tests and validate our developments in collaboration with the other european partners of the project.
Skills
- Compilation and computer architecture
- Parallel programming (C, MPI, OpenMP), program optimization
- High-performance and cluster computing (vectorization, GPU, energy efficiency)
- Basic knowledge of linear algebra
- Maintaining open source software
- Troubleshooting, debugging, continuous integration
- Technical documentation
Remuneration
From 2450€ gross/month according to experience
General Information
- Theme/Domain :
Architecture, Languages and Compilation
Scientific computing (BAP E) - Town/city : Strasbourg
- Inria Center : Centre Inria de l'Université de Lorraine
- Starting date : 2025-01-01
- Duration of contract : 2 years, 2 months
- Deadline to apply : 2024-12-04
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
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 : CAMUS
-
Recruiter :
Loechner Vincent / Vincent.Loechner@inria.fr
The keys to success
- Communication (language: english required, french optional): you will constantly work with the other members of the team and discuss with the other participants of the MICROCARD project
- Teamplayer
- Scientific curiosity
- Skilled and proactive programmer
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.