Litcius/Paper detail

Parthenon—a performance portable block-structured adaptive mesh refinement framework

Philipp Grete, Joshua C. Dolence, Jonah Miller, Joshua Brown, Benjamin R. Ryan, Andrew Gaspar, Forrest W. Glines, Sriram Swaminarayan, Jonas Lippuner, Clell J Solomon, Galen Shipman, Christoph Junghans, Daniel Holladay, James M. Stone, Luke F. Roberts

2022The International Journal of High Performance Computing Applications43 citationsDOIOpen Access PDF

Abstract

On the path to exascale the landscape of computer device architectures and corresponding programming models has become much more diverse. While various low-level performance portable programming models are available, support at the application level lacks behind. To address this issue, we present the performance portable block-structured adaptive mesh refinement (AMR) framework Parthenon, derived from the well-tested and widely used Athena++ astrophysical magnetohydrodynamics code, but generalized to serve as the foundation for a variety of downstream multi-physics codes. Parthenon adopts the Kokkos programming model, and provides various levels of abstractions from multidimensional variables, to packages defining and separating components, to launching of parallel compute kernels. Parthenon allocates all data in device memory to reduce data movement, supports the logical packing of variables and mesh blocks to reduce kernel launch overhead, and employs one-sided, asynchronous MPI calls to reduce communication overhead in multi-node simulations. Using a hydrodynamics miniapp, we demonstrate weak and strong scaling on various architectures including AMD and NVIDIA GPUs, Intel and AMD x86 CPUs, IBM Power9 CPUs, as well as Fujitsu A64FX CPUs. At the largest scale on Frontier (the first TOP500 exascale machine), the miniapp reaches a total of 1.7 × 10 13 zone-cycles/s on 9216 nodes (73,728 logical GPUs) at [Formula: see text] weak scaling parallel efficiency (starting from a single node). In combination with being an open, collaborative project, this makes Parthenon an ideal framework to target exascale simulations in which the downstream developers can focus on their specific application rather than on the complexity of handling massively-parallel, device-accelerated AMR.

Topics & Concepts

Computer scienceBlock (permutation group theory)Overhead (engineering)Parallel computingNode (physics)x86Benchmark (surveying)Exascale computingProgramming paradigmKernel (algebra)IBMAdaptive mesh refinementScalabilityPortingAsynchronous communicationSupercomputerComputational scienceOperating systemProgramming languageSoftwareStructural engineeringMathematicsGeodesyEngineeringGeometryComputer networkNanotechnologyGeographyMaterials scienceCombinatoricsParallel Computing and Optimization TechniquesAdvanced Data Storage TechnologiesSolar and Space Plasma Dynamics