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

**Authors:** Philipp Grete, Forrest W. Glines, Brian W. O'Shea

arXiv: 1905.04341 · 2020-07-17

## TL;DR

K-Athena is a performance portable magnetohydrodynamics code combining Athena++ with Kokkos, enabling efficient multi-architecture simulations at exascale levels, demonstrated by impressive scaling and performance metrics.

## Contribution

This work integrates Athena++ with Kokkos to create K-Athena, a portable MHD code optimized for diverse architectures, facilitating exascale-ready simulations with high efficiency.

## Key findings

- Achieves over 10^8 cell-updates/sec on a V100 GPU.
- Demonstrates 30x speedup on 24,576 GPUs compared to CPU cores.
- Reaches 1.94 trillion cell-updates/sec with 76% efficiency.

## Abstract

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\times10^{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 62.8%. Finally, we present the implementation strategies used and the challenges encountered in 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 .

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1905.04341/full.md

## Figures

8 figures with captions in the complete paper: https://tomesphere.com/paper/1905.04341/full.md

## References

35 references — full list in the complete paper: https://tomesphere.com/paper/1905.04341/full.md

---
Source: https://tomesphere.com/paper/1905.04341