P18 - Directive-Based, Fortran/C++ Interoperable Approach to GPU Offloading of the High Performance Gyrokinetic Turbulence Code GENE-X
DescriptionThe achievement of high plasma confinement is the key to realize commercially attractive energy production by magnetic confinement fusion (MCF) devices. Turbulence plays a significant role in maintaining the plasma confinement within MCF devices. The GENE-X code is based on an Eulerian (continuum) approach to the discretization of the five dimensional gyrokinetic equation that describes plasma turbulence. Our discretization is specialized to simulate plasma turbulence anywhere within MCF devices, from the hot plasma core to the cold wall. GENE-X is written in object-oriented modern Fortran 2008 leveraging MPI+OpenMP parallelization to facilitate large scale turbulence simulations. Here, we present our development efforts to further extend the parallelization scheme to GPUs, which is essential for scalability support towards simulations of larger, reactor-relevant fusion devices. The current implementation in GENE-X provides a proof of concept of our native Fortran/C++ interoperability approach by successfully supporting several GPU backends such as OpenACC, OpenMP offload and CUDA. We present first benchmarks of our directive-based OpenACC implementation of the most computationally expensive part of GENE-X. A significant performance increase was achieved on the GPU, compared to equivalent CPU benchmarks.
TimeTuesday, June 2719:30 - 21:30 CEST