Categories
highlight job stage

[Internship] GPU Porting of a 3D SparsePIC Simulation Code for Plasma Modeling Using Kokkos

GPU Porting of a 3D SparsePIC Simulation Code for Plasma Modeling Using Kokkos

  • Supervisors: Mathieu LOBET and Marc CHUNG TO SANG
  • Internship duration: 6 months
  • Period: March – September 2026
  • Location: Maison de la Simulation, CEA Saclay
  • Contact: mathieu.lobet@cea.fr

Context

Scientific computing is currently undergoing multiple technological revolutions, both hardware and software. Europe is equipping itself with several exascale supercomputers, massively parallel systems whose computing power largely relies on GPU accelerators.

As part of the ANR MATURATION project (https://www.math.univ-toulouse.fr/~narski/MATURATION/), we are focusing on porting a plasma simulation code based on the Sparse Grid Particle-In-Cell (SparsePIC) method to GPU architectures. This code has applications in plasma thruster design for satellites and is being developed in collaboration with the LAPLACE laboratory in Toulouse (https://www.laplace.univ-tlse.fr/). The CPU version of the code has already been optimized and now needs to be ported to GPUs.

Internship Objectives

The current code is written in Fortran and uses OpenMP for intra-node parallelism.
For the GPU port, we aim to explore the use of the Kokkos C++ performance portability library, which is increasingly adopted for adapting scientific codes to multiple GPU technologies (NVIDIA, AMD, Intel).

The internship will involve progressively porting the most computationally expensive kernels of the original code to Kokkos, followed by the development of optimized GPU algorithms. The work will be conducted in collaboration with the ANR MATURATION team at Maison de la Simulation and with the CExA project teams (https://cexa-project.org/), who specialize in Kokkos development.

The goal is to evaluate the suitability of Kokkos for our application and to achieve optimal performance across different modern GPU architectures. The internship will take place at Maison de la Simulation, CEA Saclay (https://mdls.fr/).

Candidate Profile

  • Master’s student (M2) or engineering school student
  • Knowledge of C++ programming
  • Interest in scientific computing and numerical simulation
  • Basic understanding of CPU and GPU parallelism

Skills Gained During the Internship

  • Practical experience in GPU parallel programming
  • Advanced C++ development
  • Use of performance analysis tools

How to Apply

For any questions or to apply (CV, cover letter, transcripts, etc.), please contact:
👉 mathieu.lobet@cea.fr