Litcius/Paper detail

EMPIRE-PIC: A Performance Portable Unstructured Particle-in-Cell Code

Matthew Tyler Bettencourt, Dominic Brown, Keith Cartwright, Eric C. Cyr, Christian Glusa, Paul T. Lin Paul T. Lin, Stan G. Moore, Duncan McGregor, Roger P. Pawlowski, Edward G. Phillips, Nathan V. Roberts, Steven A. Wright, Satheesh Maheswaran, John P. Jones, Stephen A. Jarvis

2021Communications in Computational Physics32 citationsDOIOpen Access PDF

Abstract

In this paper we introduce EMPIRE-PIC, a finite element method particle-in-cell (FEM-PIC) application developed at Sandia National Laboratories. The code has been developed in C++ using the Trilinos library and the Kokkos Performance Portability Framework to enable running on multiple modern compute architectures while only requiring maintenance of a single codebase. EMPIRE-PIC is capable of solving both electrostatic and electromagnetic problems in two- and three-dimensions to second-order accuracy in space and time. In this paper we validate the code against three benchmark problems – a simple electron orbit, an electrostatic Langmuir wave, and a transverse electromagnetic wave propagating through a plasma. We demonstrate the performance of EMPIRE-PIC on four different architectures: Intel Haswell CPUs, Intel’s Xeon Phi Knights Landing, ARM Thunder-X2 CPUs, and NVIDIA Tesla V100 GPUs attached to IBM POWER9 processors. This analysis demonstrates scalability of the code up to more than two thousand GPUs, and greater than one hundred thousand CPUs.

Topics & Concepts

Particle-in-cellCode (set theory)Computer scienceEmpireParticle (ecology)Parallel computingHistoryProgramming languagePhysicsNuclear physicsGeologyAncient historyOceanographyPlasmaSet (abstract data type)Plasma Diagnostics and ApplicationsParticle accelerators and beam dynamicsLaser-Plasma Interactions and Diagnostics