The PLUTO Code on GPUs: A First Look at Eulerian MHD Methods
Marco Rossazza, Andrea Mignone, Matteo Bugli, Stefano Truzzi, Lubomir Riha, Tomas Panoc, Ondrej Vysocky, Nitin Shukla, Alessandro Romeo, Vittoria Berta
TL;DR
gPLUTO introduces a GPU-optimized, OpenACC-based rewrite of the PLUTO MHD code in C++, enabling efficient finite-volume MHD simulations on GPUs. It demonstrates strong and weak scaling on multiple HPC systems through 3D Orszag–Tang and circularly polarized Alfvén benchmarks, achieving roughly an order of magnitude per-node acceleration over CPU runs. The work also analyzes energy efficiency via GPU clock tuning, showing meaningful savings with small runtime overhead, and outlines future plans for broader physics modules and HPC portability. Collectively, the results indicate gPLUTO is well-positioned for exascale plasma simulations, combining performance, scalability, and energy-aware operation.
Abstract
We present preliminary performance results of gPLUTO, the new GPU-optimized implementation of the PLUTO code for computational plasma astrophysics. Like its predecessor, gPLUTO employs a finite-volume formulation to numerically solve the equations of magnetohydrodynamics (MHD) in multiple spatial dimensions. Still, this new implementation is a complete rewrite in C++ and leverages the OpenACC programming model to achieve acceleration on NVIDIA GPUs. While a more comprehensive description of the code and its several other modules will be presented in a future paper, here we focus on some preparatory results that demonstrate the code potential and performance on pre exa-scale parallel architectures.
