K-Athena: a performance portable structured grid finite volume magnetohydrodynamics code

05/10/2019
by   Philipp Grete, et al.
0

Large scale simulations are a key pillar of modern research and require ever increasing computational resources. Different novel manycore architectures have emerged in recent years on the way towards the exascale era. Performance portability is required to prevent repeated non-trivial refactoring of a code for different architectures. We combine Athena++, an existing magnetohydrodynamics (MHD) CPU code, with Kokkos, a performance portable on-node parallel programming paradigm, into K-Athena to allow efficient simulations on multiple architectures using a single codebase. We present profiling and scaling results for different platforms including Intel Skylake CPUs, Intel Xeon Phis, and NVIDIA GPUs. K-Athena achieves >10^8 cell-updates/s on a single V100 GPU for second-order double precision MHD calculations, and a speedup of 30 on up to 24,576 GPUs on Summit (compared to 172,032 CPU cores), reaching 1.94×10^12 total cell-updates/s at 76 parallel efficiency. Using a roofline analysis we demonstrate that the overall performance is currently limited by DRAM bandwidth and calculate a performance portability metric of 83.1 implementation and the challenges encountered maximizing performance. This will provide other research groups with a straightforward approach to prepare their own codes for the exascale era. K-Athena is available at https://gitlab.com/pgrete/kathena .

READ FULL TEXT

page 7

page 12

research
07/04/2022

Multiple-GPU accelerated high-order gas-kinetic scheme for direct numerical simulation of compressible turbulence

High-order gas-kinetic scheme (HGKS) has become a workable tool for the ...
research
09/09/2021

Performance Analysis of CP2K Code for Ab Initio Molecular Dynamics

Using a realistic molecular catalyst system, we conduct scaling studies ...
research
07/16/2021

Refactoring the MPS/University of Chicago Radiative MHD(MURaM) Model for GPU/CPU Performance Portability Using OpenACC Directives

The MURaM (Max Planck University of Chicago Radiative MHD) code is a sol...
research
09/26/2022

From Merging Frameworks to Merging Stars: Experiences using HPX, Kokkos and SIMD Types

Octo-Tiger, a large-scale 3D AMR code for the merger of stars, uses a co...
research
08/11/2019

SODECL: An Open Source Library for Calculating Multiple Orbits of a System of Stochastic Differential Equations in Parallel

Stochastic differential equations (SDEs) are widely used to model system...
research
06/24/2015

Ebb: A DSL for Physical Simulation on CPUs and GPUs

Designing programming environments for physical simulation is challengin...

Please sign up or login with your details

Forgot password? Click here to reset