gprMax + MPI: Large-scale open-source computational electrodynamics
Year: 2025
Type: article
Abstract: gprMax is an open-source software package for computational electrodynamics. Designed with a general electromagnetic solver engine, it has a set of core features developed for modelling Ground Penetrating Radar (GPR) and can be used to model electromagnetic wave propagation in fields such as engineering, geophysics, archaeology, and medicine. There are a wide range of applications including: assessing critical infrastructure such as bridges and roads, locating buried utilities, mapping glaciers, finding anti-personnel landmines, and detecting tumours in the human body. gprMax runs via the command-line or its Python API and is written in Python with performance-critical parts written in Cython. Before this project, gprMax simulations ran using a CPU solver parallelised using OpenMP or a GPU solver developed using the NVIDIA CUDA programming model. However, these solvers ran on a single CPU node or GPU, preventing the full utilisation of HPC systems and limiting models to those that fit in the memory of a single node. Our work dramatically increases the modelling capabilities of gprMax by adding a Message Passing Interface (MPI) domain decomposition to the CPU solver that divides models between multiple nodes/MPI tasks. This can reduce the time to results when running on a single node, but more importantly, enables researchers to scale the size and/or resolution of their electromagnetic simulations, allowing them to utilise HPC systems and explore new science.
Authors: Mannall, Nathan, Warren, Craig, Giannopoulos, Antonios, Richings, James
Institutions: University of Edinburgh, Northumbria University
Language: English
Subfield: Ocean Engineering
Field: Engineering
Domain: Physical Sciences
Open Access status: green
OpenAlex ID: W6912093690
FWCI:
Cites:
Cited by:
Related to:
