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 language | English |
---|---|
Title of host publication | 53rd International Conference on Parallel Processing Gotland, Sweden |
Publisher | ACM |
Number of pages | 14 |
ISBN (Electronic) | 979-8-4007-1793-2 |
DOIs | |
Publication status | Published - 12 Aug 2024 |
Event | The 53rd International Conference on Parallel Processing - Gotland, Sweden Duration: 12 Aug 2024 → 15 Aug 2024 https://icpp2024.org |
Conference
Conference | The 53rd International Conference on Parallel Processing |
---|---|
Abbreviated title | ICPP'24 |
Country/Territory | Sweden |
Period | 12/08/24 → 15/08/24 |
Internet address |