English

A portable platform for accelerated PIC codes and its application to GPUs using OpenACC

Computational Physics 2016-06-08 v1 Distributed, Parallel, and Cluster Computing Plasma Physics

Abstract

We present a portable platform, called PIC_ENGINE, for accelerating Particle-In-Cell (PIC) codes on heterogeneous many-core architectures such as Graphic Processing Units (GPUs). The aim of this development is efficient simulations on future exascale systems by allowing different parallelization strategies depending on the application problem and the specific architecture. To this end, this platform contains the basic steps of the PIC algorithm and has been designed as a test bed for different algorithmic options and data structures. Among the architectures that this engine can explore, particular attention is given here to systems equipped with GPUs. The study demonstrates that our portable PIC implementation based on the OpenACC programming model can achieve performance closely matching theoretical predictions. Using the Cray XC30 system, Piz Daint, at the Swiss National Supercomputing Centre (CSCS), we show that PIC_ENGINE running on an NVIDIA Kepler K20X GPU can outperform the one on an Intel Sandybridge 8-core CPU by a factor of 3.4.

Keywords

Cite

@article{arxiv.1603.02886,
  title  = {A portable platform for accelerated PIC codes and its application to GPUs using OpenACC},
  author = {F. Hariri and T. M. Tran and A. Jocksch and E. Lanti and J. Progsch and P. Messmer and S. Brunner and G. Gheller and L. Villard},
  journal= {arXiv preprint arXiv:1603.02886},
  year   = {2016}
}
R2 v1 2026-06-22T13:07:13.935Z