Optimizing BIT1, a Particle-in-Cell Monte Carlo Code, with OpenMP/OpenACC and GPU Acceleration

被引:0
|
作者
Williams, Jeremy J. [1 ]
Liu, Felix [1 ]
Tskhakaya, David [2 ]
Costea, Stefan [3 ]
Podolnik, Ales [2 ]
Markidis, Stefano [1 ]
机构
[1] KTH Royal Inst Technol KTH, Stockholm, Sweden
[2] CAS IPP CAS, Inst Plasma Phys, Prague, Czech Republic
[3] Univ Ljubljana UL, LeCAD, Ljubljana, Slovenia
来源
关键词
OpenMP; Task-Based Parallelism; OpenACC; Hybrid Programming; GPU Offloading; Large-Scale PIC Simulations;
D O I
10.1007/978-3-031-63749-0_22
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
On the path toward developing the first fusion energy devices, plasma simulations have become indispensable tools for supporting the design and development of fusion machines. Among these critical simulation tools, BIT1 is an advanced Particle-in-Cell code with Monte Carlo collisions, specifically designed for modeling plasma-material interaction and, in particular, analyzing the power load distribution on tokamak divertors. The current implementation of BIT1 relies exclusively on MPI for parallel communication and lacks support for GPUs. In this work, we address these limitations by designing and implementing a hybrid, shared-memory version of BIT1 capable of utilizing GPUs. For shared-memory parallelization, we rely on OpenMP and OpenACC, using a task-based approach to mitigate load-imbalance issues in the particle mover. On an HPE Cray EX computing node, we observe an initial performance improvement of approximately 42%, with scalable performance showing an enhancement of about 38% when using 8 MPI ranks. Still relying on OpenMP and OpenACC, we introduce the first version of BIT1 capable of using GPUs. We investigate two different data movement strategies: unified memory and explicit data movement. Overall, we report BIT1 data transfer findings during each PIC cycle. Among BIT1 GPU implementations, we demonstrate performance improvement through concurrent GPU utilization, especially when MPI ranks are assigned to dedicated GPUs. Finally, we analyze the performance of the first BIT1 GPU porting with the NVIDIA Nsight tools to further our understanding of BIT1's computational efficiency for large-scale plasma simulations, capable of exploiting current supercomputer infrastructures.
引用
收藏
页码:316 / 330
页数:15
相关论文
共 50 条
  • [1] GPU Offloading of a Large-Scale Gyrokinetic Particle-in-Cell Fortran Code on Summit: From OpenACC to OpenMP
    Cai, Qiheng
    Cheng, Junyi
    Chen, Yang
    Wagner, Marcus
    Daley, Christopher
    Oryspayev, Dossay
    Tirkas, Stefan
    Redd, Sophie
    Parker, Scott
    ACCELERATOR PROGRAMMING USING DIRECTIVES, WACCPD 2021, 2022, 13194 : 133 - 148
  • [2] A particle-in-cell Monte Carlo code for electron beam ion source simulation
    Zhao, L.
    Cluggish, B.
    Kim, J. S.
    Evstatiev, E. G.
    REVIEW OF SCIENTIFIC INSTRUMENTS, 2012, 83 (02):
  • [3] Application of the view factor model on the particle-in-cell and Monte Carlo collision code
    Pan, Ruojian
    Ren, Junxue
    Tang, Haibin
    Cao, Shuai
    Li, Juan
    Zhang, Zhe
    Zhou, Jun
    Cao, Jinbin
    PHYSICAL REVIEW E, 2020, 102 (03)
  • [4] Multi-GPU Acceleration of the iPIC3D Implicit Particle-in-Cell Code
    Sishtla, Chaitanya Prasad
    Chien, Steven W. D.
    Olshevsky, Vyacheslav
    Laure, Erwin
    Markidis, Stefano
    COMPUTATIONAL SCIENCE - ICCS 2019, PT V, 2019, 11540 : 612 - 618
  • [5] A benchmark study of a capacitively coupled oxygen discharge of the oopd1 particle-in-cell Monte Carlo code
    Gudmundsson, J. T.
    Kawamura, E.
    Lieberman, M. A.
    PLASMA SOURCES SCIENCE & TECHNOLOGY, 2013, 22 (03):
  • [6] Verification of particle-in-cell simulations with Monte Carlo collisions
    Turner, M. M.
    PLASMA SOURCES SCIENCE & TECHNOLOGY, 2016, 25 (05):
  • [7] Optimizing a Particle-in-Cell Code on Intel Knights Landing
    Wen, Minhua
    Chen, Min
    Lin, James
    HPC ASIA'18: PROCEEDINGS OF WORKSHOPS OF HPC ASIA, 2018, : 71 - 74
  • [8] PIConGPU: A Fully Relativistic Particle-in-Cell Code for a GPU Cluster
    Burau, Heiko
    Widera, Renee
    Hoenig, Wolfgang
    Juckeland, Guido
    Debus, Alexander
    Kluge, Thomas
    Schramm, Ulrich
    Cowan, Tomas E.
    Sauerbrey, Roland
    Bussmann, Michael
    IEEE TRANSACTIONS ON PLASMA SCIENCE, 2010, 38 (10) : 2831 - 2839
  • [9] Particle-in-cell/Monte Carlo simulation of filamentary barrier discharges
    Fan, Weili
    Sheng, Zhengming
    Liu, Fucheng
    PLASMA SCIENCE & TECHNOLOGY, 2017, 19 (11)
  • [10] A fully-implicit Particle-In-Cell Monte Carlo Collision code for the simulation of inductively coupled plasmas
    Mattei, S.
    Nishida, K.
    Onai, M.
    Lettry, J.
    Tran, M. Q.
    Hatayama, A.
    JOURNAL OF COMPUTATIONAL PHYSICS, 2017, 350 : 891 - 906