GPU accelerated MHD in the DISPATCH framework using directive-based programming

We present a GPU-accelerated implementation of a magnetohydrodynamic (MHD) solver using directive-based programming with OpenMP target offloading. The solver is integrated into the DISPATCH framework, which organises the computational domain into a collection of asynchronously updated patches. To reduce GPU kernel launch overhead, patches are grouped into "bunches" that are updated collectively. While porting the particular solver required a complete code refactoring, it yielded performance gains on both GPU and CPU. A stand-alone mini-app achieved a 7.3x speed-up compared to a single NVIDIA A100 GPU to seven AMD 7F72 Rome CPU cores. Within the full DISPATCH framework, the GPU-accelerated MHD Bunch solver showed excellent agreement with the CPU-based reference implementation on standard test problems such as the Sod shock tube and Orszag-Tang vortex. In large-scale 3D tests, the GPU implementation achieved a 9.8x overall speedup, comparing one GPU to 12 CPU cores, with the core MHD update routine being two orders of magnitude faster on the GPU than on a single CPU core. These results demonstrate that OpenMP offloading can provide substantial performance improvements for astrophysical codes while maintaining portability and accuracy. The work also demonstrates how new codes should be structured to allow simple and efficient directive-based GPU offloading.

Publication Details

Journal
ArXiv.org
Published
2025-08-13
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

GPU accelerated MHD in the DISPATCH framework using directive-based programming

ArXiv.org
Parallel Computing and Optimization Techniques
article

GPU accelerated MHD in the DISPATCH framework using directive-based programming

article en

Abstract

We present a GPU-accelerated implementation of a magnetohydrodynamic (MHD) solver using directive-based programming with OpenMP target offloading. The solver is integrated into the DISPATCH framework, which organises the computational domain into a collection of asynchronously updated patches. To reduce GPU kernel launch overhead, patches are grouped into "bunches" that are updated collectively. While porting the particular solver required a complete code refactoring, it yielded performance gains on both GPU and CPU. A stand-alone mini-app achieved a 7.3x speed-up compared to a single NVIDIA A100 GPU to seven AMD 7F72 Rome CPU cores. Within the full DISPATCH framework, the GPU-accelerated MHD Bunch solver showed excellent agreement with the CPU-based reference implementation on standard test problems such as the Sod shock tube and Orszag-Tang vortex. In large-scale 3D tests, the GPU implementation achieved a 9.8x overall speedup, comparing one GPU to 12 CPU cores, with the core MHD update routine being two orders of magnitude faster on the GPU than on a single CPU core. These results demonstrate that OpenMP offloading can provide substantial performance improvements for astrophysical codes while maintaining portability and accuracy. The work also demonstrates how new codes should be structured to allow simple and efficient directive-based GPU offloading.

ArXiv.org
Affordable and clean energy
Openalex Percentile: Top 45%
Parallel Computing and Optimization Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.