Porting a Legacy Global Lagrangian PIC Code on Many-Core and GPU-Accelerated Architectures

Modern supercomputer architectures are evolving towards embedding more and more cores per compute node, often making use of accelerators such as GPUs, in which thousands of threads can be executed concurrently. To make legacy codes profit efficiently from such resources usually requires a major refactoring effort. I will present the strategy that we adopted for the production code ORB5, a global gyrokinetic Particle-In-Cell (PIC) code for studying turbulence in tokamak plasmas, developed by many physicists over a period of 20 years, which clearly exceeds the timescale of HPC architecture evolution. Among others, the code now includes multiple kinetic species, electromagnetic effects, and collisions. The present refactoring work includes the restructuring of the main kernels, changing the data structure, multithreading with OpenMP on CPUs or OpenACC on GPUs, and optimization on different architectures. The modularity of the resulting code makes it more "future-proof", i.e. extensible to new physics features or computing architectures, and easier to maintain and develop in a collaborative fashion.

Presented at:
Platform for Advanced Scientific Computing Conference (PASC18) , Basel, Switzerland, 2-4 July 2018
Jul 03 2018

 Record created 2018-07-05, last modified 2019-12-05

Download fulltext

Rate this document:

Rate this document:
(Not yet reviewed)