The Plasma Simulation Code: A modern particle-in-cell code with load-balancing and GPU support

Kai Germaschewski,William Fox,Stephen Abbott,Narges Ahmadi,Kristofor Maynard,Liang Wang,Hartmut Ruhl,Amitava Bhattacharjee
DOI: https://doi.org/10.48550/arXiv.1310.7866
2013-10-29
Plasma Physics
Abstract:Recent increases in supercomputing power, driven by the multi-core revolution and accelerators such as the IBM Cell processor, graphics processing units (GPUs) and Intel's Many Integrated Core (MIC) technology have enabled kinetic simulations of plasmas at unprecedented resolutions, but changing HPC architectures also come with challenges for writing efficient numerical codes. This paper describes the Plasma Simulation Code (PSC), an explicit, electromagnetic particle-in-cell code with support for different order particle shape functions. We focus on two distinguishing feature of the code: patch-based load balancing using space-filling curves, and support for Nvidia GPUs, which achieves substantial speed-up of up to more than 6x on the Cray XK7 architecture compared to a CPU-only implementation.
What problem does this paper attempt to address?