PSolverKokkos

psolver is the library of the BigDFT suite that computes the electrostatic potential of a charge density discretized on the wavelet basis. It solves the Poisson equation with a 3D Fast Fourier Transform, and it comes with several backends for different hardware and programming models (pure Fortran/OpenMP, SYCL, CUDA, …).

PSolverKokkos is the new Kokkos backend for psolver. It is packaged as the external library libpsolverkokkos and offers two execution paths, KOKKOSCPU and KOKKOSGPU, that map onto the device backends of Kokkos (Serial, OpenMP and C++ Threads on CPUs, CUDA, HIP and SYCL on GPUs). One implementation covers the whole range of hardware targeted by psolver. It was developed as a joint project between L_Sim (CEA Grenoble) and the Maison de la Simulation (CEA Saclay) within the CExA initiative.

Kokkos Tea Time

I presented this work on 21 October 2026 at the Kokkos Tea Time, a monthly webinar about Kokkos.

Bringing Kokkos Performance Portability to BigDFT’s Poisson Solver: a Fortran/C++ Interoperability Journey

The talk covers the design of the backend, with a focus on what it takes to embed a modern C++ performance-portability library in a large Fortran code: memory ownership, lifetime of views across the language boundary, runtime selection of the backend and integration in the build system. It also compares the performance with the native backends of psolver, for example KOKKOSGPU on CUDA against the hand-written CUDA backend.

Thibault Cimic
Thibault Cimic
Research engineer

My job consist of getting maths ideas into computers. My philosophy is to learn any knowledge I cross, anywhere.