OP-PIC: An Unstructured Particle-in-Cell DSL for Developing Nuclear Fusion Simulations
Z. Lantra, S. A. Wright, G. R. Mudalige
sellParticle-in-cell, Unstructured Mesh, OpenMP, Kokkos, HIP, CUDA



In this work we introduce OP-PIC, a new DSL consisting of a high-level API for declaring both electrostatic and electromagnetic PIC on unstructured meshes. OP-PIC follows the loop-level abstraction of OP2 for unstructured meshes, but allows a developer to declare particles and a mesh. It then allows to elucidate the main steps of a PIC application consisting of the key communication/computation pattern of particle moves and their charges affecting the mesh as an iterative explicit solver;
In this study we benchmark the performance of CabanaPIC, developed with OP-PIC on CPU and GPU clusters. While CabanaPIC is an structured grid application, in this work we replace the structured grid with an equivalent unstructured grid.
We present results for a range of hardware from Intel, AMD, and NVIDIA. For each compiler we use -O3
and OpenMP where necessary, and each systems default MPI installation.
DATE: 2024-08
DOI: 10.1145/3673038.3673130