Performance portable implementation of a kinetic plasma simulation mini-App - Archive ouverte HAL
Article Dans Une Revue Lecture Notes in Computer Science Année : 2020

Performance portable implementation of a kinetic plasma simulation mini-App

Résumé

Performance portability is considered to be an inevitable requirement in the exascale era. We explore a performance portable approach for fusion plasma turbulence simulation code employing kinetic model, namely the GYSELA code. For this purpose, we extract the key features of GYSELA such as the high dimensionality and the semi-Lagrangian scheme, and encapsulate them into a mini-application which solves the similar but a simplified Vlasov-Poisson system. We implement the mini-app with a mixed OpenACC/OpenMP and Kokkos, where we suppress unnecessary duplications of code lines. For a reference case with the problem size of 128$^4$ , the Skylake (Kokkos), Nvidia Tesla P100 (OpenACC), and P100 (Kokkos) versions achieve an acceleration of 1.45, 12.95, and 17.83, respectively, with respect to the baseline OpenMP version on Intel Skylake. In addition to the performance portability, we discuss the code readability and productivity of each implementation. Based on our experience, Kokkos can offer a readable and productive code at the cost of initial porting efforts, which would be enormous for a large scale simulation code like GYSELA.
Fichier non déposé

Dates et versions

hal-03196781 , version 1 (13-04-2021)

Identifiants

Citer

Yuuichi Asahi, Guillaume Latu, Virginie Grandgirard, Julien Bigot. Performance portable implementation of a kinetic plasma simulation mini-App. Lecture Notes in Computer Science, 2020, 12017, pp.117-139. ⟨10.1007/978-3-030-49943-3_6⟩. ⟨hal-03196781⟩
79 Consultations
0 Téléchargements

Altmetric

Partager

More