OP-PIC - An Unstructured-Mesh Particle-in-Cell DSL for Developing Nuclear Fusion Simulations

Zaman Lantra, Steven A. Wright, Gihan R. Mudalige

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Particle-in-Cell (PIC) applications form a core simulation component for designing fusion reactors and their efficient use. In this work, we introduce OP-PIC, a new embedded Domain Specific Language (DSL) for developing unstructured-mesh PIC applications. The DSL is aimed at gaining performance portability for PIC codes on current and emerging, massively parallel architectures. We investigate and bring together the state-of-the-art in PIC solver parallelization techniques, refactoring them within a multi-layered DSL. OP-PIC use source-to-source translation to generate platform-specific optimizations. These parallelizations can be reused for any application declared using the DSL's high-level API. We showcase the performance and portability of two non-trivial PIC applications developed with OP-PIC on multiple CPU and GPU clusters, employing a number of parallelization techniques, including OpenMP, CUDA, HIP and their combinations with distributed memory (MPI) parallelization. We benchmark the OP-PIC generated code on a range of single node systems and a number of distributed-memory systems, including an AMD EPYC CPU-based HPE-Cray EX cluster, an NVIDIA V100 GPU cluster, and an AMD MI250X GPU cluster, exploring both single node and scaling performance. Results demonstrate the flexibility of the DSL to implement radically different optimizations for each platform, showing between 1.4x to 3.5x speed-ups with GPUs compared to CPUs on power equivalent systems and good weak-scaling to over 10 billion particles.
Original languageEnglish
Title of host publication53rd International Conference on Parallel Processing Gotland, Sweden
PublisherACM
Number of pages14
ISBN (Electronic)979-8-4007-1793-2
DOIs
Publication statusPublished - 12 Aug 2024
EventThe 53rd International Conference on Parallel Processing - Gotland, Sweden
Duration: 12 Aug 202415 Aug 2024
https://icpp2024.org

Conference

ConferenceThe 53rd International Conference on Parallel Processing
Abbreviated titleICPP'24
Country/TerritorySweden
Period12/08/2415/08/24
Internet address

Bibliographical note

This is an author-produced version of the published paper. Uploaded in accordance with the University’s Research Publications and Open Access policy.

Cite this