Workshop: 2022 International Workshop on Performance Portability and Productivity (P3HPC)
Authors: Yuuichi Asahi (Japan Atomic Energy Agency), Thomas Padioleau (Maison de la Simulation), Guillaume Latu (Atomic Energy and Alternative Energies Commission (CEA)), Julien Bigot (Maison de la Simulation), and Virginie Grandgirard and Kevin Obrejan (Atomic Energy and Alternative Energies Commission (CEA))
Abstract: This paper presents the performance portable implementation of a kinetic plasma simulation code with C++ parallel algorithm to run across multiple CPUs and GPUs. Relying on the language standard parallelism stdpar and proposed language standard multi-dimensional array support mdspan, we demonstrate that a performance portable implementation is possible without harming the readability and productivity. We obtain a good overall performance for a mini-application in the range of 20% to the Kokkos version on Intel Icelake, NVIDIA V100, and A100 GPUs. Our conclusion is that stdpar can be a good candidate to develop a performance portable and productive code targeting the exascale era platform, assuming this approach will be available on AMD and/or Intel GPUs in the future.