z-logo
open-access-imgOpen Access
Accelerating a three‐dimensional finite‐difference wave propagation code using GPU graphics cards
Author(s) -
Michéa David,
Komatitsch Dimitri
Publication year - 2010
Publication title -
geophysical journal international
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 1.302
H-Index - 168
eISSN - 1365-246X
pISSN - 0956-540X
DOI - 10.1111/j.1365-246x.2010.04616.x
Subject(s) - cuda , computer science , graphics , computational science , general purpose computing on graphics processing units , graphics processing unit , code (set theory) , parallel computing , finite difference , seismic wave , finite difference method , seismic migration , computer graphics (images) , physics , mathematics , programming language , mathematical analysis , geophysics , set (abstract data type)
SUMMARY 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.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here