Speaker
Description
This research is in the context of IPPL (Independent Parallel Particle Layer), an open-source C++ framework providing performance-portable, dimension-independent building blocks for particle–mesh simulations, which combine Eulerian field solvers and Lagrangian particle dynamics. IPPL leverages Kokkos for on-node portability, MPI for distributed parallelism, and heFFTe for scalable FFTs, enabling massively parallel particle–mesh methods on modern heterogeneous systems.
Within IPPL, we implement a performance-portable free-space Poisson solver (Mayani et al., 2025) based on the spectrally accurate algorithm proposed by Vico et al. (2016). The commonly used Hockney-Eastwood method (1988) has second-order convergence at best, requiring fine grids to achieve high accuracy. In contrast, the Vico-Greengard-Ferrando (2016) algorithm converges spectrally for sufficiently smooth functions i.e. faster than any fixed order in the number of grid points. This allows the same accuracy to be achieved on coarser grids, significantly reducing the memory footprint. However, due to the mathematical nature of the Vico-Greengard-Ferrando algorithm, a pre-computation of a Green's function on a four-fold grid is required, which is still memory intensive. We remove this bottleneck by exploiting the realness and the symmetry of the Green's function using a Discrete Fourier Transform, implemented in HeFFTe. This reduces the memory of the new solver based on the Vico-Greengard-Ferrando algorithm to be comparable to the standard Hockney-Eastwood for the same grid-size, all while improving the accuracy. We demonstrate scaling on Perlmutter (NERSC) for both CPUs and GPUs. On GPU, the strong scaling efficiency stays above 80% for a problem size of $1024^3$, and above 75% for weak scaling. Additionally, we perform scaling studies on the GH200 nodes at Alps (CSCS) and the AMD MI250X nodes at LUMI (CSC) to showcase portability.