Solving 3D anisotropic elastic wave equations on parallel GPU devices

Efficiently modeling seismic data sets in complex 3D anisotropic media by solving the 3D elastic wave equation is an important challenge in computational geophysics. Using a stress-stiffness formulation on a regular grid, we tested a 3D finite-difference time-domain solver using a second-order temporal and eighth-order spatial accuracy stencil that leverages the massively parallel architecture of graphics processing units (GPUs) to accelerate the computation of key kernels. The relatively small memory of an individual GPU limits the model domain sizes that can be computed on a single device. To circumvent this constraint and move toward modeling industry-sized 3D anisotropic elastic data sets, we parallelized computation across multiple GPU devices by using domain decomposition and, for each time step, employing an interdevice communication protocol to exchange data values falling within interior boundaries of each subdomain. For two or more GPU devices within a single compute node, we use direct peer-to-peer (i.e., GPU-to-GPU) communication, whereas for networked nodes we employed message-passing interface directives to route data over the network. Our 2D GPU-based anisotropic elastic modeling tests achieved a 10× speedup relative to an OpenMP CPU implementation run on an eight-core machine, whereas our 3D tests using dual-GPU devices produced up to a 28× speedup. The performance boost afforded by the GPU architecture allowed us to model seismic data for 3D anisotropic elastic models at lower hardware cost and in less time than has been previously possible.

[1]  Hubert Nguyen,et al.  GPU Gems 3 , 2007 .

[2]  Matt Pharr,et al.  Gpu gems 2: programming techniques for high-performance graphics and general-purpose computation , 2005 .

[3]  Peyman P. Moghaddam,et al.  Industrial-Scale Reverse Time Migration On GPU Hardware , 2009 .

[4]  S. Brandsberg-Dahl,et al.  The 2004 BP Velocity Benchmark , 2005 .

[5]  Henri Calandra,et al.  Fast seismic modeling and Reverse Time Migration on a GPU cluster , 2009, 2009 International Conference on High Performance Computing & Simulation.

[6]  Moshe Reshef,et al.  A nonreflecting boundary condition for discrete acoustic and elastic wave equations , 1985 .

[7]  Paul Sava,et al.  Time-lapse image-domain tomography using adjoint-state methods , 2013 .

[8]  Gordon Erlebacher,et al.  High-order finite-element seismic wave propagation modeling with MPI on a large GPU cluster , 2010, J. Comput. Phys..

[9]  Baoli Wang,et al.  Using the effective boundary saving strategy in GPU-based RTM programming , 2014 .

[10]  Alex Fit-Florea,et al.  Precision and Performance: Floating Point and IEEE 754 Compliance for NVIDIA GPUs , 2011 .

[11]  T. Cullison,et al.  Experiences with Seismic Imaging on GPUs , 2008 .

[12]  Paulius Micikevicius,et al.  3D finite difference computation on GPUs using CUDA , 2009, GPGPU-2.

[13]  Toshifumi Matsuoka,et al.  Acceleration of computation speed for elastic wave simulation using a Graphic Processing Unit , 2011 .

[14]  L. Trefethen Finite Difference and Spectral Methods for Ordinary and Partial Differential Equations , 1996 .

[15]  James W. Rector,et al.  Support Vector Machines Implemented On a Graphics Processing Unit , 2007 .

[16]  Frédéric Maire,et al.  Implementation of Kernel Methods on the GPU , 2005, Digital Image Computing: Techniques and Applications (DICTA'05).

[17]  J. Sochacki Absorbing boundary conditions for the elastic wave equations , 1988 .

[18]  L. Thomsen Weak elastic anisotropy , 1986 .

[19]  B. Engquist,et al.  Absorbing boundary conditions for acoustic and elastic wave equations , 1977, Bulletin of the Seismological Society of America.

[20]  Baoli Wang,et al.  RTM using effective boundary saving: A staggered grid GPU implementation , 2014, Comput. Geosci..