Forward and adjoint simulations of seismic wave propagation on emerging large-scale GPU architectures

Computational seismology is an area of wide sociological and economic impact, ranging from earthquake risk assessment to subsurface imaging and oil and gas exploration. At the core of these simulations is the modeling of wave propagation in a complex medium. Here we report on the extension of the high-order finite-element seismic wave simulation package SPECFEM3D to support the largest scale hybrid and homogeneous supercomputers. Starting from an existing highly tuned MPI code, we migrated to a CUDA version. In order to be of immediate impact to the science mission of computational seismologists, we had to port the entire production package, rather than just individual kernels. One of the challenges in parallelizing finite element codes is the potential for race conditions during the assembly phase. We therefore investigated different methods such as mesh coloring or atomic updates on the GPU. In order to achieve strong scaling, we needed to ensure good overlap of data motion at all levels, including internode and host-accelerator transfers. Finally we carefully tuned the GPU implementation. The new MPI/CUDA solver exhibits excellent scalability and achieves speedup on a node-to-node basis over the carefully tuned equivalent multi-core MPI solver. To demonstrate the performance of both the forward and adjoint functionality, we present two case studies run on the Cray XE6 CPU and Cray XK6 GPU architectures up to 896 nodes: (1) focusing on most commonly used forward simulations, we simulate seismic wave propagation generated by earthquakes in Turkey, and (2) testing the most complex seismic inversion type of the package, we use ambient seismic noise to image 3-D crust and mantle structure beneath western Europe.

[1]  Chen Ji,et al.  A 14.6 billion degrees of freedom, 5 teraflops, 2.5 terabyte earthquake simulation on the Earth Simulator , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[2]  J. Tromp,et al.  Elastic imaging and time-lapse migration based on adjoint methods , 2009 .

[3]  Lapo Boschi,et al.  Radial anisotropy in the European mantle: Tomographic studies explored in terms of mantle flow , 2011 .

[4]  Gordon Erlebacher,et al.  Modeling the propagation of elastic waves using spectral elements on a cluster of 192 GPUs , 2010, Computer Science - Research and Development.

[5]  Gordon Erlebacher,et al.  Porting a high-order finite-element earthquake modeling application to NVIDIA graphics cards using CUDA , 2009, J. Parallel Distributed Comput..

[6]  Qinya Liu,et al.  Tomography, Adjoint Methods, Time-Reversal, and Banana-Doughnut Kernels , 2004 .

[7]  Jeroen Tromp,et al.  High-frequency simulations of global seismic wave propagation using SPECFEM3D_GLOBE on 62K processors , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[8]  D. Komatitsch,et al.  Introduction to the spectral element method for three-dimensional seismic wave propagation , 1999 .

[9]  H.M. Tufo,et al.  Terascale Spectral Element Algorithms and Implementations , 1999, ACM/IEEE SC 1999 Conference (SC'99).

[10]  Emanuele Casarotti,et al.  Forward and adjoint simulations of seismic wave propagation on fully unstructured hexahedral meshes , 2011 .

[11]  Jie Cheng,et al.  Programming Massively Parallel Processors. A Hands-on Approach , 2010, Scalable Comput. Pract. Exp..

[12]  Eric Darve,et al.  Assembly of finite element methods on graphics processors , 2011 .

[13]  Michel Campillo,et al.  High-Resolution Surface-Wave Tomography from Ambient Seismic Noise , 2005, Science.

[14]  I. Molinari,et al.  EPcrust: a reference crustal model for the European Plate , 2011 .

[15]  Kuvvet Atakan,et al.  Strong ground motion estimation in the Sea of Marmara region (Turkey) based on a scenario earthquake , 2004 .

[16]  Michael Krivelevich,et al.  Coloring Random Graphs — an Algorithmic Perspective , 2002 .

[17]  Alexandre Fournier,et al.  A 2‐D spectral‐element method for computing spherical‐earth seismograms—II. Waves in solid–fluid media , 2008 .

[18]  Franck Cappello,et al.  FTI: High performance Fault Tolerance Interface for hybrid systems , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[19]  Alexandre Fournier,et al.  A two‐dimensional spectral‐element method for computing spherical‐earth seismograms – I. Moment‐tensor source , 2007 .

[20]  D. Komatitsch,et al.  Spectral-element simulations of global seismic wave propagation—I. Validation , 2002 .

[22]  R. Madariaga Dynamics of an expanding circular fault , 1976, Bulletin of the Seismological Society of America.

[23]  Jean-Jacques Droux An algorithm to optimally color a mesh , 1993 .

[24]  J. Tromp,et al.  Noise cross-correlation sensitivity kernels , 2010 .

[25]  François Pellegrini,et al.  PT-Scotch: A tool for efficient parallel graph ordering , 2008, Parallel Comput..

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

[27]  Dimitri Komatitsch,et al.  Fluid–solid coupling on a cluster of GPU graphics cards for seismic wave propagation , 2011 .