Unleashing the Power of Multiple GPUs for ECsim Using OpenACC
DescriptionThe Particle-In-Cell (PIC) method is a particle-mesh technique widely used to model the kinetic nature of plasmas. Macroparticles representative of several plasma particles interact via electromagnetic fields that they produce. These fields are calculated by solving Maxwell's equations on a fixed grid, where source terms are obtained by interpolating the particles to the grid. This presentation focuses on the massively parallel PIC code ECsim. The peculiarity of ECsim is that both Maxwell’s equations for the fields and motion equations for the particles are discretised implicitly in time and the scheme is energy conserving. This makes the code stable and accurate for a large range of spatial and temporal resolutions. We will review our recent effort to prepare the code for future exascale architectures. We will describe the implementation of OpenACC directives and the memory management technique that we adopted to port particle kernels on GPUs. For typical numerical parameters that we employ in our simulations, this allows us to gain a 5x speedup with respect to the CPU version of the code. Finally, we will discuss code performance on different generations of NVIDIA GPUs and scaling tests of the code on different supercomputers.
TimeMonday, June 2617:30 - 18:00 CEST