Accelerating Particle-in-Cell Monte Carlo simulations with MPI, OpenMP/OpenACC and Asynchronous Multi-GPU Programming

As fusion energy devices advance, plasma simulations play a critical role in fusion reactor design. Particle-in-Cell Monte Carlo simulations are essential for modeling plasma-material interactions and analyzing power load distributions on tokamak divertors. Previous work (Williams, 2024) introduced hybrid parallelization in BIT1 using MPI and OpenMP/OpenACC for shared-memory and multicore CPU processing. In this extended work, we integrate MPI with OpenMP and OpenACC, focusing on asynchronous multi-GPU programming with OpenMP Target Tasks using the “nowait” and “depend” clauses, and OpenACC Parallel with the “async(n)” clause. Our results show significant performance improvements: 16 MPI ranks plus OpenMP threads reduced simulation runtime by 53% on a petascale EuroHPC supercomputer, while the OpenACC multicore implementation achieved a 58% reduction compared to the MPI-only version. Scaling to 64 MPI ranks, OpenACC outperformed OpenMP, achieving a 24% improvement in the particle mover function. On the HPE Cray EX supercomputer, OpenMP and OpenACC consistently reduced simulation times, with a 37% reduction at 100 nodes. Results from MareNostrum 5, a pre-exascale EuroHPC supercomputer, highlight OpenACC’s effectiveness, with the “async(n)” configuration delivering notable performance gains. However, OpenMP asynchronous configurations outperform OpenACC at larger node counts, particularly for extreme scaling runs. As BIT1 scales asynchronously to 128 GPUs, OpenMP asynchronous multi-GPU configurations outperformed OpenACC in runtime, demonstrating superior scalability, which continues up to 400 GPUs, further improving runtime. Speedup and parallel efficiency (PE) studies reveal OpenMP asynchronous multi-GPU achieving an 8.77 × speedup (54.81% PE) and OpenACC achieving an 8.14 × speedup (50.87% PE) on MareNostrum 5, surpassing the CPU-only version. At higher node counts, PE declined across all implementations due to communication and synchronization costs. However, the asynchronous multi-GPU versions maintained better PE, demonstrating the benefits of asynchronous multi-GPU execution in reducing scalability bottlenecks. While the CPU-only implementation is faster in some cases, OpenMP’s asynchronous multi-GPU approach delivers better GPU performance through asynchronous data transfer and task dependencies, ensuring data consistency and avoiding race conditions. Using NVIDIA Nsight tools, we confirmed BIT1’s overall efficiency for large-scale plasma simulations, leveraging current and future exascale supercomputing infrastructures. Asynchronous data transfers and dedicated GPU assignments to MPI ranks enhance performance, with OpenMP’s asynchronous multi-GPU implementation utilizing OpenMP Target Tasks with “nowait” and “depend” clauses outperforming other configurations. This makes OpenMP the preferred application programming interface when performance portability, high throughput, and efficient GPU utilization are critical. This enables BIT1 to fully exploit modern supercomputing architectures, advancing fusion energy research. MareNostrum 5 brings us closer to achieving exascale performance. • This work accelerates BIT1 with MPI, OpenMP/OpenACC and asynchronous multi-GPU programming. • On a petascale EuroHPC system, 16 MPI+OpenMP cuts runtime by 53%, while OpenACC cuts it by 58%. • Scaling to 64 MPI ranks, OpenACC performed well however, OpenMP scaled better up to 400 GPUs. • MareNostrum 5 asynchronous multi-GPU results show that OpenACC excels, but OpenMP prevails. • Profiling tools confirm OpenMP’s performance portability as the path toward exascale capability.

Authors

Institutions

Publication Details

Journal
Journal of Computational Science
Published
2025-04-23
DOI
https://doi.org/10.1016/j.jocs.2025.102590
Citations
2
Primary Topic
Nuclear reactor physics and engineering
Type
article
Field-Weighted Citation Impact
9.99

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Accelerating Particle-in-Cell Monte Carlo simulations with MPI, OpenMP/OpenACC and Asynchronous Multi-GPU Programming

D. Tskhakaya, Felix Liu, Laure Erwin, Jakub Hromádka et al.
2 citations
Journal of Computational Science
Nuclear reactor physics and engineering
9.99
article

Accelerating Particle-in-Cell Monte Carlo simulations with MPI, OpenMP/OpenACC and Asynchronous Multi-GPU Programming

D. Tskhakaya, Felix Liu, Laure Erwin, Jakub Hromádka, S. Costea, L. Kos, Jeremy J. Williams, A. Podolník, F. Jenko, Marta García-Gasulla, Stefano Markidis, Pratibha Hegde, Valentin Seitz, Jordy Trilaksono
article en
2 citations

Abstract

As fusion energy devices advance, plasma simulations play a critical role in fusion reactor design. Particle-in-Cell Monte Carlo simulations are essential for modeling plasma-material interactions and analyzing power load distributions on tokamak divertors. Previous work (Williams, 2024) introduced hybrid parallelization in BIT1 using MPI and OpenMP/OpenACC for shared-memory and multicore CPU processing. In this extended work, we integrate MPI with OpenMP and OpenACC, focusing on asynchronous multi-GPU programming with OpenMP Target Tasks using the “nowait” and “depend” clauses, and OpenACC Parallel with the “async(n)” clause. Our results show significant performance improvements: 16 MPI ranks plus OpenMP threads reduced simulation runtime by 53% on a petascale EuroHPC supercomputer, while the OpenACC multicore implementation achieved a 58% reduction compared to the MPI-only version. Scaling to 64 MPI ranks, OpenACC outperformed OpenMP, achieving a 24% improvement in the particle mover function. On the HPE Cray EX supercomputer, OpenMP and OpenACC consistently reduced simulation times, with a 37% reduction at 100 nodes. Results from MareNostrum 5, a pre-exascale EuroHPC supercomputer, highlight OpenACC’s effectiveness, with the “async(n)” configuration delivering notable performance gains. However, OpenMP asynchronous configurations outperform OpenACC at larger node counts, particularly for extreme scaling runs. As BIT1 scales asynchronously to 128 GPUs, OpenMP asynchronous multi-GPU configurations outperformed OpenACC in runtime, demonstrating superior scalability, which continues up to 400 GPUs, further improving runtime. Speedup and parallel efficiency (PE) studies reveal OpenMP asynchronous multi-GPU achieving an 8.77 × speedup (54.81% PE) and OpenACC achieving an 8.14 × speedup (50.87% PE) on MareNostrum 5, surpassing the CPU-only version. At higher node counts, PE declined across all implementations due to communication and synchronization costs. However, the asynchronous multi-GPU versions maintained better PE, demonstrating the benefits of asynchronous multi-GPU execution in reducing scalability bottlenecks. While the CPU-only implementation is faster in some cases, OpenMP’s asynchronous multi-GPU approach delivers better GPU performance through asynchronous data transfer and task dependencies, ensuring data consistency and avoiding race conditions. Using NVIDIA Nsight tools, we confirmed BIT1’s overall efficiency for large-scale plasma simulations, leveraging current and future exascale supercomputing infrastructures. Asynchronous data transfers and dedicated GPU assignments to MPI ranks enhance performance, with OpenMP’s asynchronous multi-GPU implementation utilizing OpenMP Target Tasks with “nowait” and “depend” clauses outperforming other configurations. This makes OpenMP the preferred application programming interface when performance portability, high throughput, and efficient GPU utilization are critical. This enables BIT1 to fully exploit modern supercomputing architectures, advancing fusion energy research. MareNostrum 5 brings us closer to achieving exascale performance. • This work accelerates BIT1 with MPI, OpenMP/OpenACC and asynchronous multi-GPU programming. • On a petascale EuroHPC system, 16 MPI+OpenMP cuts runtime by 53%, while OpenACC cuts it by 58%. • Scaling to 64 MPI ranks, OpenACC performed well however, OpenMP scaled better up to 400 GPUs. • MareNostrum 5 asynchronous multi-GPU results show that OpenACC excels, but OpenMP prevails. • Profiling tools confirm OpenMP’s performance portability as the path toward exascale capability.

Journal of Computational ScienceVol. 88
University of Ljubljana (SI), Barcelona Supercomputing Center (ES), Czech Academy of Sciences, Institute of Plasma Physics (CZ), Max Planck Computing and Data Facility (DE), Max Planck Institute for Plasma Physics (DE), KTH Royal Institute of Technology (SE), Universitat Politècnica de Catalunya (ES)
Kungliga Tekniska Högskolan, Vetenskapsrådet
Affordable and clean energy
Openalex Percentile: Top 3%
Nuclear reactor physics and engineering
9.99
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.