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

Academic Article

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.
  • Authors

  • Germaschewski, Kai
  • Fox, William
  • Abbott, Stephen
  • Ahmadi, Narges
  • Maynard, Kristofor
  • Wang, Liang
  • Ruhl, Hartmut
  • Bhattacharjee, Amitava
  • Publication Date

  • October 29, 2013
  • Keywords

  • physics.comp-ph
  • physics.plasm-ph