Speaker
Description
We present a IPPL, a C++ framework for Particle-in-Cell methods based on dimension independent particles and fields. IPPL makes use of Kokkos and HeFFTe (part of the Exascale Computing Project), and MPI (Message Passing Interface) to obtain a massively parallel performance portable code which works across various hardware architectures. We showcase its performance and utility using "Alpine", a set of mini-apps which solve electrostatic plasma physics problems. These include weak and strong Landau damping, bump-on-tail and two-stream instabilities, and electron dynamics in a Penning trap. Scaling studies are performed on large architectures such as Perlmutter and Piz Daint. We show weak and strong scaling, and pinpoint kernels requiring performance improvements.