Litcius/Paper detail

A performance portable implementation of the semi-Lagrangian algorithm in six dimensions

Nils Schild, Mario Räth, Sebastian Eibl, K. Hallatschek, Katharina Kormann

2023Computer Physics Communications10 citationsDOIOpen Access PDF

Abstract

This paper describes our approach to developing a simulation software application for the fully kinetic 6D-Vlasov equation, which will be used to explore physics beyond the reduced gyrokinetic model. Simulating the fully kinetic Vlasov equation requires efficient utilization of compute and storage capabilities due to the high dimensionality of the problem. In addition, the implementation needs to be extensible regarding the physical model and flexible regarding the hardware for production runs. We start on the algorithmic background to simulate the 6-D Vlasov equation using a semi-Lagrangian algorithm. The performance portable software stack, which enables production runs on pure CPU as well as AMD or Nvidia GPU accelerated nodes, is presented. The extensibility of our implementation is guaranteed through the described software architecture of the main kernel, which achieves a memory bandwidth of almost 500 GB/s on a V100 Nvidia GPU and around 100 GB/s on an Intel Xeon Gold CPU using a single code base. We provide performance data on multiple node-level architectures discussing utilized and further available hardware capabilities. Finally, the network communication bottleneck of 6-D grid-based algorithms is quantified. A verification of physics beyond gyrokinetic theory, for the example of ion Bernstein waves, concludes the work.

Topics & Concepts

Computer scienceParallel computingSoftwareVlasov equationExtensibilityComputational scienceXeonBottleneckSingle-precision floating-point formatKernel (algebra)AlgorithmEmbedded systemFloating pointOperating systemPhysicsMathematicsElectronQuantum mechanicsCombinatoricsMagnetic confinement fusion researchComputational Physics and Python ApplicationsIonosphere and magnetosphere dynamics
A performance portable implementation of the semi-Lagrangian algorithm in six dimensions | Litcius