APS Logo

Optimization of GEM using OpenMP GPU Offloading

POSTER

Abstract

GEM is a particle-in-cell gyrokinetic code for investigation of low-frequency phenomena such as micro-turbulence and energetic particle driven Alfven waves in tokamak plasma. In the GEM code, the particle arrays should be moved from CPU memory to GPU memory with all particle loops performed in GPUs. Moreover, the particle shift consists of two steps: the initialization step and actual data movement, in which the first step should be modified to enable more loops to run on GPU while the actual transferred particles in the second one should be updated between CPU and GPU. In order to minimize the data transfer and offload the calculation processes from CPU to GPU, the porting of GEM code from OpenACC to OpenMP GPU offload is implemented. The details of conversion from OpenACC to OpenMP GPU offloading are illustrated. Furthermore, we make the comparison of acceleration performance between CPU and GPU as well as OpenACC and OpenMP. Additionally, the results about comparison of profiling data between weak scaling (fixed grid size and increased particle number) and strong scaling (increased both grid and particle number in proportion) for different machines (e.g., Summit and Cori) are presented and discussed.

Publication: NA

Presenters

  • Qiheng Cai

    University of Colorado, Boulder

Authors

  • Qiheng Cai

    University of Colorado, Boulder

  • Junyi Cheng

    University of Colorado, Boulder

  • Yang Chen

    University of Colorado, Boulder

  • Oryspayev Dossay

    Brookhaven National Laboratory

  • Paul Lin

    Lawrence Berkley National Laboratory

  • D'azevedo Ed

    Oak Ridge National Laboratory

  • Scott E Parker

    University of Colorado, Boulder