Accelerating a three-dimensional finite-difference wave propagation code using GPU graphics cards
Bureau de Recherches Geologiques et Minieres, 3 avenue Claude Guillemin, BP 36009, 45060 Orleans Cedex 2, France
Geophysical Journal International, Vol. 182, No. 1., pp. 389-402
@article{michea2010accelerating,
title={Accelerating a three-dimensional finite-difference wave propagation code using GPU graphics cards},
author={Mich{‘e}a, D. and Komatitsch, D.},
journal={Geophysical Journal International},
volume={182},
number={1},
pages={389–402},
issn={1365-246X},
year={2010},
publisher={Wiley Online Library}
}
We accelerate a 3-D finite-difference in the time domain wave propagation code by a factor between about 20 and 60 compared to a serial implementation using graphics processing unit computing on NVIDIA graphics cards with the CUDA programming language. We describe the implementation of the code in CUDA to simulate the propagation of seismic waves in a heterogeneous elastic medium. We also implement convolution perfectly matched layers on the graphics cards to efficiently absorb outgoing waves on the fictitious edges of the grid. We show that the code that runs on a graphics card gives the expected results by comparing our results to those obtained by running the same simulation on a classical processor core. The methodology that we present can be used for Maxwell’s equations as well because their form is similar to that of the seismic wave equation written in velocity vector and stress tensor.
December 15, 2010 by hgpu