Back

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


BarChart
Cascade
Navigation Chart



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

Sources:

OP-PIC Repository
OP-PIC Documentation