KHARMA: Flexible, Portable Performance for GRMHD
Ben S. Prather

TL;DR
KHARMA is a new open-source, high-performance, modular code for general-relativistic magnetohydrodynamic simulations that efficiently runs on CPUs and GPUs, supporting various physics extensions and adaptive mesh refinement.
Contribution
It introduces KHARMA, a flexible, portable, and extensible GRMHD simulation code built in C++ with Kokkos, enabling efficient multi-physics and multi-scale astrophysical simulations.
Findings
KHARMA achieves high computational efficiency on CPUs and GPUs.
The code is modular, allowing easy swapping of physical and numerical components.
Validation and performance tests demonstrate KHARMA's accuracy and speed.
Abstract
KHARMA (an acronym for "Kokkos-based High-Accuracy Relativistic Magnetohydrodynamics with Adaptive mesh refinement") is a new open-source code for conducting general-relativistic magnetohydrodynamic simulations in stationary spacetimes, primarily of accretion systems. It implements among other options the High-Accuracy Relativistic Magnetohydrodynamics (HARM) scheme, but is written from scratch in C++ with the Kokkos programming model in order to run efficiently on both CPUs and GPUs. In addition to being fast, KHARMA is written to be readable, modular, and extensible, separating functionality into "packages," representing, e.g., algorithmic components or physics extensions. Components of the core ideal GRMHD scheme can be swapped at runtime, and additional packages are included to simulate electron temperature evolution, viscous hydrodynamics, and for designing chained multi-scale…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMedical Imaging Techniques and Applications
