October tea-time: Bringing Kokkos Performance Portability to BigDFT's Poisson Solver: a Fortran/C++ Interoperability Journey
October 21st 2026: Kokkos tea-time
CExA organizes the 23rd Kokkos tea-time on Wednesday, October the 21st, 2026 for 45min starting at 7AM Pacific, 10AM Eastern, 4PM Paris, 11PM Tokyo. It can be followed on Zoom, or by phone.
Thibault Cimic from CEA Grenoble will give a talk entitled “Bringing Kokkos Performance Portability to BigDFT’s Poisson Solver: a Fortran/C++ Interoperability Journey”
Thibault Cimic is an HPC research engineer in applied mathematics at L_Sim (CEA Grenoble), jointly with the Maison de la Simulation (CEA Saclay) within the CExA exascale program. His background spans numerical linear algebra, PDE solvers and parallelization (INRIA ALPINES, CEA/LGL). Over the past year, he developed the Kokkos backend of psolver, BigDFT’s Poisson solver, and now contributes to the Kokkos ecosystem to improve Fortran/C++ interoperability for scientific codes.
Bringing Kokkos Performance Portability to BigDFT’s Poisson Solver: a Fortran/C++ Interoperability Journey
BigDFT is a suite of libraries for electronic structure calculations based on Daubechies wavelets, developed at L_Sim (CEA/DRF/IRIG/DEPHY/MEM, Grenoble) and primarily orchestrated in Fortran. Among its components, the psolver library computes the electrostatic potential via an explicit formulation of the solution of the Poisson equation, which translates into a Fast Fourier Transform algorithm applied to the 3D charge density discretized on the wavelet basis. To run on the wide variety of HPC architectures, psolver offers a range of backends implementing a similar algorithm for different hardware and programming models: SGFFT for pure Fortran/OpenMP on CPU, ONEMATHCPU for SYCL/OpenMP on CPU, ONEMATHGPU for SYCL on GPU (CUDA/HIP), a native CUDA backend for NVIDIA GPUs, and others.
Over the past year, as part of a joint project between L_Sim and the Maison de la Simulation (CEA/DRF, Saclay) within the CExA exascale initiative, we have developed a new Kokkos-based backend for psolver, packaged as the external library libpsolverkokkos and recently integrated upstream into BigDFT. It provides two selectable execution paths, KOKKOSCPU and KOKKOSGPU, that map onto Kokkos’ own device backends (Serial, OpenMP, C++ Threads on CPUs; CUDA, HIP, SYCL on GPUs) — a single implementation covering the entire range of psolver’s target hardware.
This talk describes the design of the Kokkos backend, with a focus on the Fortran/C++ interoperability challenges that arise when embedding a modern C++ performance-portability library inside a large Fortran simulation code: memory ownership, view lifetime across language boundaries, runtime backend selection, and build-system integration. We also discuss the performance obtained compared to psolver’s native backends, in particular KOKKOSGPU
Additional info
Zoom link
In a web browser or from the application.
- Meeting ID: 923 971 90835
- Passcode: 218480
One tap mobile
- France: +33170950350,,92397190835#,,,,*218480#
- France: +33186995831,,92397190835#,,,,*218480#
- US: +12532158782,,92397190835#,,,,*218480#
- US: +13462487799,,92397190835#,,,,*218480#
By phone
- Meeting ID: 923 971 90835
- Meeting Passcode: 218480
Dial by your location
- +33 1 7095 0350 France
- +33 1 8699 5831 France
- +49 695 050 2596 Germany
- +49 69 7104 9922 Germany
- +1 564 217 2000 USA
- +1 646 931 3860 USA
- +81 3 4579 0545 Japan
- +81 3 4579 0432 Japan
- Numbers for other countries