foap4: Adaptive mesh refinement with OpenACC/OpenMP, MPI, and p4est
Abstract
GPUs and other accelerators are increasingly used for scientific computing. We want to add GPU support to existing parallel adaptive mesh refinement (AMR) codes written in Fortran. To understand which changes are necessary to obtain good performance we have developed foap4, an AMR framework implemented in Fortran that uses OpenACC/OpenMP, MPI, and the p4est library. We discuss the design and implementation of the framework. Several benchmark problems are considered, in which Euler's equations of gas dynamics are solved using explicit time integration. These benchmarks are performed in both 2D and 3D, using static and adaptive meshes, for varying problem sizes on different hardware. Our results show that AMR simulations can be carried out efficiently on GPUs, even when using relatively small grid blocks of 83 or 163 cells. With NVIDIA's nvfortran compiler similar performance is obtained with OpenACC and OpenMP offloading. Initial results with the gfortran compiler and OpenACC demonstrate the portability of foap4.
Related
- Residual-Based Adaptive Refinement in Hybrid Variational-Collocation PINNs for Singular Elliptic PDEs with Mixed Dirichlet-Neumann Boundary Conditions
- AMOR: Adaptive Modal Operator Refinement for Operator Learning on Arbitrary Meshes and Irregular 3D Geometries
- A Geometry-Adaptive Mesh Refinement Framework for Immersed Boundary Methods on Hybrid Unstructured Meshes
- Towards Heterogeneous Exascale CFD with a Single Fortran Code Base: OpenMP Target Acceleration of the High-Order Unstructured Solver UCNS3D
- OGRR-Net: observation-guided residual refinement learning for photoacoustic imaging
BibTeX
@misc{teunissen2026foap4,
title = {{foap4: Adaptive mesh refinement with OpenACC/OpenMP, MPI, and p4est}},
author = {Jannis Teunissen and Héctor R. Olivares Sánchez and Jesse Vos and Leon Oostrum and Johan Hidding and Victor Azizi and Yuhao Zhou and Hao Wu and Adrian Kelly and Olaf Willocx and Chun Xia and Rony Keppens and Oliver Porth},
howpublished = {arXiv},
year = {2026},
month = oct,
doi = {10.48550/arxiv.2605.07612},
eprint = {2605.07612},
archivePrefix = {arXiv},
url = {https://arxiv.org/abs/2605.07612},
}
RIS
TY - UNPB
TI - foap4: Adaptive mesh refinement with OpenACC/OpenMP, MPI, and p4est
AU - Jannis Teunissen
AU - Héctor R. Olivares Sánchez
AU - Jesse Vos
AU - Leon Oostrum
AU - Johan Hidding
AU - Victor Azizi
AU - Yuhao Zhou
AU - Hao Wu
AU - Adrian Kelly
AU - Olaf Willocx
AU - Chun Xia
AU - Rony Keppens
AU - Oliver Porth
PY - 2026
DA - 2026/10/23
PB - arXiv
DO - 10.48550/arxiv.2605.07612
UR - https://arxiv.org/abs/2605.07612
AB - GPUs and other accelerators are increasingly used for scientific computing. We want to add GPU support to existing parallel adaptive mesh refinement (AMR) codes written in Fortran. To understand which changes are necessary to obtain good performance we have developed foap4, an AMR framework implemented in Fortran that uses OpenACC/OpenMP, MPI, and the p4est library. We discuss the design and implementation of the framework. Several benchmark problems are considered, in which Euler's equations of gas dynamics are solved using explicit time integration. These benchmarks are performed in both 2D and 3D, using static and adaptive meshes, for varying problem sizes on different hardware. Our results show that AMR simulations can be carried out efficiently on GPUs, even when using relatively small grid blocks of 8^3 or 16^3 cells. With NVIDIA's nvfortran compiler similar performance is obtained with OpenACC and OpenMP offloading. Initial results with the gfortran compiler and OpenACC demonstrate the portability of foap4.
ER -