SMuK 2023 – wissenschaftliches Programm
Bereiche | Tage | Auswahl | Suche | Aktualisierungen | Downloads | Hilfe
P: Fachverband Plasmaphysik
P 11: Poster I
P 11.33: Poster
Mittwoch, 22. März 2023, 14:00–15:30, HSZ EG
GPU development of the Gyrokinetic Turbulence Code GENE-X with Native Fortran/C++ Interface — •Jordy Trilaksono1, Philipp Ulbl1, Andreas Stegmeir1, and Frank Jenko1,2 — 1Max Planck Institute for Plasma Physics, Boltzmannstraße 2, 85748 Garching, Germany — 2University of Texas at Austin, Austin, TX 78712, USA
Turbulence plays a significant role in plasma confinement inside of magnetic confinement fusion devices. A gyrokinetic turbulence model is used in the GENE-X code [1-3] to simulate turbulence anywhere within magnetic confinement fusion devices from the core to the edge and scrape-off layer. GENE-X leverages hybrid MPI+OpenMP parallelization to meet its expensive computational demands. Here, our effort extends this to GPUs for extensive scalability towards simulations of larger reactor-relevant devices which currently are not feasible with a reasonable amount of computing resources. The abstraction of several GPU backends via native Fortran/C++ interfaces provides portability and non-invasive development parallel to the main Fortran layer. Our Fortran/C++ hybrid approach overcomes compiler limitations that often hinder GPU development of Fortran legacy codes. The current build configuration of GENE-X supports GPU backends such as OpenACC, OpenMP offload and CUDA. Directive-based OpenACC and OpenMP offload are prioritized in the C++ layer of GENE-X.
[1] D. Michels, et. al., Comput. Phys. Commun. 264, 107986 (2021)
[2] D. Michels, et. al., Phys. of Plasmas. 29, 032307 (2022)
[3] P. Ulbl, et. al., Contrib. Plasma Phys., e202100180 (2021)