Litcius/Paper detail

HiPACE++: A portable, 3D quasi-static particle-in-cell code

Severin Diederichs, C. Benedetti, A. Huebl, Remi Lehé, Andrew Myers, Alexander Sinn, Jean-Luc Vay, Weiqun Zhang, Maxence Thévenet

2022Computer Physics Communications36 citationsDOIOpen Access PDF

Abstract

Modeling plasma accelerators is a computationally challenging task and the quasi-static particle-incell algorithm is a method of choice in a wide range of situations. In this work, we present the first performance-portable, quasi-static, three-dimensional particle-in-cell code HiPACE++. By decomposing all the computation of a 3D domain in successive 2D transverse operations and choosing appropriate memory management, HiPACE++ demonstrates orders-of-magnitude speedups on modern scientific GPUs over CPU-only implementations. The 2D transverse operations are performed on a single GPU, avoiding time-consuming communications. The longitudinal parallelization is done through temporal domain decomposition, enabling near-optimal strong scaling from 1 to 512 GPUs. HiPACE++ is a modular, open-source code enabling efficient modeling of plasma accelerators from laptops to state-of-the-art supercomputers.

Topics & Concepts

Computer scienceParallel computingModular designCode (set theory)Computational scienceComputationDomain (mathematical analysis)Domain decomposition methodsParticle-in-cellRange (aeronautics)Task (project management)ImplementationAlgorithmProgramming languagePhysicsFinite element methodPlasmaMaterials scienceMathematical analysisQuantum mechanicsMathematicsSet (abstract data type)ManagementThermodynamicsEconomicsComposite materialPlasma Diagnostics and ApplicationsLaser-Plasma Interactions and DiagnosticsAdvanced Data Storage Technologies