The Plasma Simulation Code: A modern particle-in-cell code with load-balancing and GPU support
Space Science Center & Department of Physics, University of New Hampshire, Durham, NH
arXiv:1310.7866 [physics.plasm-ph], (29 Oct 2013)
@ARTICLE{2013arXiv1310.7866G,
author={Germaschewski}, K. and {Fox}, W. and {Ahmadi}, N. and {Wang}, L. and {Abbott}, S. and {Ruhl}, H. and {Bhattacharjee}, A.},
title={"{The Plasma Simulation Code: A modern particle-in-cell code with load-balancing and GPU support}"},
journal={ArXiv e-prints},
archivePrefix={"arXiv"},
eprint={1310.7866},
primaryClass={"physics.plasm-ph"},
keywords={Physics – Plasma Physics, Physics – Computational Physics},
year={2013},
month={oct},
adsurl={http://adsabs.harvard.edu/abs/2013arXiv1310.7866G},
adsnote={Provided by the SAO/NASA Astrophysics Data System}
}
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.
October 30, 2013 by hgpu