Optimising GPR modelling: A practical, multi-threaded approach to 3D FDTD numerical modelling
Introduction
Ground-penetrating radar (GPR) is, arguably, the most popular, broad-based geophysical technique for near-surface ground investigation due to its unrivalled ability to stratigraphically map large areas in relatively short times. Unfortunately, the processing and interpretation of GPR data can be both difficult and time consuming, particularly in complex, heterogeneous environments. In the past few years, advanced GPR processing, modelling and interpretation methods have lead to more sophisticated approaches to data analysis and the ability to ‘extract’ material property information from the GPR sections, such as water content, porosity, etc. (Galagedara et al., 2005, Galagedara et al., 2003; Reppert et al., 2000). Sophisticated analysis and simulation techniques, such as finite-difference time-domain modelling and tomographic inversion, are now being applied to applications such as land contamination (Cassidy, 2008, Cassidy, 2007a; de Castro and Branco, 2007), hydrology (Kuroda et al., 2007) engineering (Liu et al., 2007) and utility/landmine detection (Crocco et al., 2009, Lopera and Milisavljevic, 2007). In part, this is due to the complexity of interpreting data generated from the latest GPR system designs, (e.g., multi-antenna array systems—Yarovoy et al., 2007), but also a consequence of our improved ability to accurately simulate, or model, GPR wave propagation at realistic, three-dimensional scales and in sensible times frames, measured in hours rather than of days (Cassidy, 2007b). The fundamental principles governing the propagation of the electromagnetic (EM) radiation are well known and have been successfully embedded into forward modelling computer programs for a wide range of applications since the late 1970s (Taflove and Hagness, 2005). For the forward modelling of ground penetrating radar, the method of moments (MoM) and, more specifically, the finite-difference time-domain (FDTD) technique have become the most popular simulation tools with both approaches being used to replicate practical near-surface GPR surveys in a range of environments (Cassidy, 2007a, Giannopoulos, 2009). As with all computationally demanding modelling schemes, any improvement in efficiency and program speed is of ultimate benefit to the user and with the increased use of multi-threaded parallel sequencing in modern PC hardware/software, it is now feasible to run complex, ‘realistic’ scale 3D GPR models on high-end portable and desktop machines.
In this paper, we focus on the application of the finite-difference time-domain (FDTD) technique for GPR wave propagation modelling and present an optimised multi-threaded approach to the core 3D algorithm that offers significant performance improvement over conventional sequential implementations. We begin, in Section 2, by explaining how multi-threading can be used to exploit modern multi-core CPU technology. Then, in Section 3, we introduce the fundamentals of the FDTD modelling scheme and discuss ways in which the calculation effort can be divided into thread-safe sub-tasks. In Section 4, we compare the different implementations’ performance by carrying out a simplified modelling task using C++, Java and Matlab, across four different platforms:
- (a)
Dual core machine (32 bit Intel® Core™ 2 Duo T7500 at 2.20 GHz),
- (b)
Twin dual core machine (64 bit AMD® Opteron™ 280, 2 X dual core, 2.8 GHz),
- (c)
Quad core machine (32 bit Intel® Core™ 2 Quad Q9300 at 2.5 GHz),
- (d)
Twin quad core machine (Intel 64 bit Xeon 5320, 1.86 GHz).
Having observed the increasing exploitation of the massively parallel capabilities of modern Graphics Processing Units by researchers in the scientific programming community (Adams et al., 2007), we have also added a GPU-specific implementation of the FDTD code executed via the quad-core machine on a modern graphics card (nVidia GeForce 8800 GT). Finally, in Section 5, we illustrate the use of the multi-threaded approach in an advanced, flexible 3D GPR modeller before drawing our conclusions in Section 6.
Section snippets
Multi-threading
Multi-threading is an efficient method of parallelising computing tasks that is particularly suited to modern CPU architectures with multiple cores and shared cache memory. Multi-threading involves maintaining multiple program counters within the single execution of a program, resulting in the multiple, simultaneous threads of execution (threads), all of which act on the same address space in memory. This differs from multi-processing, in which different threads of execution act upon different
The application of multi-threading to FDTD modelling
The FDTD method, first introduced by Yee (1966), uses time-stepping, explicit, finite-difference approximations to the differential form of Maxwell’s equations for Ampere and Faraday’s laws to calculate the electric and magnetic field vector components at regularly arranged, distinct points in space. These coupled equations relate the temporal rate of change of the electric field (E) to the spatial rate of change of the nearby magnetic field (H), and the temporal rate of change of the magnetic
Performance test
We measured the execution times of each of the different multi-threading schemes (the ‘sequential’, ‘parallel xyz’ (or just ‘xyz’ in the figures), ‘xyz interleaved’ and ‘spatial’ approaches as described previously) using programs coded in both Java and C++. The traditional sequential approach was also coded into Matlab, which does not offer programmatic thread control. The spatial scheme was implemented in CUDA for the GPU architecture. Significant attention was given to all the implementations
Multi-threaded FDTD as a GPR modelling tool: a practical modelling example
The Java version of the parellel x,y,z multi-threaded FDTD algorithm has been embedded into an advanced GPR modelling tool and tested on our Linux cluster facility as well as our Windows XP dual and quad core computers. The FDTD algorithm is based on a legacy Matlab program (Cassidy, 2001) with Java selected as the program language because it offers features that balance the cost of slightly lower performance when compared to C++, specifically:
- •
More portability: Can be used generically on any
Conclusions
In this paper, we have investigated different approaches to the sequencing and parallelization of the calculation blocks required for FDTD modelling of GPR wave propagation using conventional desktop/laptop computers (dual core, quad core, etc.). We have also presented a novel x,y,z parallel approach that performs favourably across all the platforms used for testing despite being much simpler than the traditional spatial division of the computational task. We note that the programming language
Acknowledgments
This work has been funded by EPSRC Grant EP/004032/1, IMAGINE project (Inversion, Modelling and Analysis of GPR in Near-Surface Environments).
References (23)
Evaluating LNAPL contamination using GPR and dielectric analysis: practical implications for signal attenuation and attribute analysis studies
Journal of Contaminant Hydrology
(2007)- et al.
The application of finite-difference time-domain modelling for the assessment of GPR in magnetically lossy materials
Journal of Applied Geophysics
(2009) - et al.
Early-stage leaking pipes GPR monitoring via microwave tomographic inversion
Journal of Applied Geophysics
(2009) - et al.
Field studies of the GPR ground wave method for estimating soil water content during irrigation and drainage
Journal of Hydrology
(2005) - et al.
Prediction of the effects of soil and target properties on the antipersonnel landmine detection performance of ground-penetrating radar: a Colombian case study
Journal of Applied Geophysics
(2007) - et al.
Dielectric constant determination using ground-penetrating radar reflection coefficients
Journal of Applied Geophysics
(2000) - Adams, S., Payne, J., Boppana, R., 2007. Finite difference time domain (FDTD) simulations using graphics processors....
- et al.
Finite-difference modelling of electromagnetic wave propagation in dispersive and attenuating media
Geophysics
(1998) - Cassidy, N., 2001. The application of mathematical modelling in the interpretation of ground penetrating radar data....
A review of practical numerical modelling methods for the advanced interpretation of ground-penetrating radar in near-surface environments
Near Surface Geophysics
(2007)