Towards performance portability in the Spark astrophysical magnetohydrodynamics solver in the Flash-X simulation framework
- Michigan State Univ., East Lansing, MI (United States)
- Argonne National Lab. (ANL), Argonne, IL (United States)
Simulations of core-collapse supernovae, and other astrophysical phenomena, are quintessential extreme-scale computing challenges. For core-collapse supernova simulations to be carried out by the ExaStar project under the Exascale Computing Project umbrella, a robust, efficient, and state-of-the-art magnetohydrodynamics solver is a critical requirement. In Flash-X, the primary software instrument for ExaStar, a new magnetohydrodynamics solver has been designed and implemented from the ground up to achieve accuracy and efficiency for simulations of complex astrophysical flows. This new solver, dubbed Spark, uses high-order spatial reconstruction, Runge-Kutta time integration, and an efficient cell-centered approach to satisfying the divergence-free condition for the magnetic fields. Spark was written to be optimized for data locality in cache hierarchy of CPUs. Since data locality optimizations for cache hierarchy are not directly compatible with those of accelerators, we have taken the approach of using program synthesis to avoid massive amounts of code replication that would be necessary if we were to maintain two different versions of the solver. Our program synthesis relies on a simple key-dictionary approach, implemented in python, that enables us to assemble the version of the solver suitable for the target hardware from code fragments identified by specific keys. In this work, we describe the data locality optimizations of the solver for CPUs and accelerators and the program synthesis tools that enable this portability. We also detail the parallel performance of Spark for both CPUs and accelerators.
- Research Organization:
- Argonne National Laboratory (ANL), Argonne, IL (United States)
- Sponsoring Organization:
- USDOE Office of Science (SC); USDOE Exascale Computing Project (ECP); USDOE National Nuclear Security Administration (NNSA)
- Grant/Contract Number:
- AC02-06CH11357; SC0017955
- OSTI ID:
- 1962609
- Journal Information:
- Parallel Computing, Journal Name: Parallel Computing Vol. 108; ISSN 0167-8191
- Publisher:
- ElsevierCopyright Statement
- Country of Publication:
- United States
- Language:
- English
Similar Records
MHD Models of Stellar Core Collapse with GenASiS
Development and Implementation of a Newton-BICGSTAB Iterative Solver in the FORMOSA-B BWR Core Simulator Code