Post-Doctoral Research Visit F/M Code optimization in the MICROCARD project: compiler-generated efficient CPU and GPU codes for membrane models

Contract type : Fixed-term contract

Renewable contract : Yes

Level of qualifications required : PhD or equivalent

Fonction : Post-Doctoral Research Visit

Context

The recruited person 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 an engineer 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

[S]he 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.
  • extending the numerical methods to higher order exponential integrators for ionic models, in collaboration with our European partners.

Main activities

In collaboration with the local and external members of the MICROCARD-2 project, the main activities include:

  • participating to the development of the openCARP software, our Cardiac Electrophysiology Simulator development platform (opencarp.org);
  • co-lead the engineer working on the MLIR compiler extensions to generate a code targeting heterogeneous parallel architectures, using OpenMP and GPU dialects, and domain-specific properties of the code;
  • lead the development of higher order exponential integrators in collaboration with our European partners.

Skills

  • Parallel programming, high-performance computing
  • Linear algebra
  • Numerical models, finite elements, and ODEs

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

From 2788€ gross/month