Elastodynamic full waveform inversion on GPUs with time-space tiling and wavefield reconstruction

Full waveform inversion (FWI) is a procedure used to determine the elastic parameters of the Earth by reducing the misfit between observed elastodynamic wavefields and their numerically modelled counterparts. The numerical solution of the elastodynamic wave equation is computationally expensive, and its performance is typically bandwidth bound. Computing the gradient of the FWI misfit functional adds further complexity as it involves computing the zero-lag cross-correlation of two wavefields propagating in opposite temporal directions. In this paper, we utilize graphics processing units (GPUs) for their high memory bandwidth and combine two principal optimizations in order to compute FWI gradients on large models and for long simulation times. Wavefield reconstruction methods allow efficient gradient computations with minimal memory requirements and interconnection transfers. Time-space tiling techniques permit us to transcend the limited amount of GPU memory while avoiding dramatic slowdowns due to the low interconnection bandwidth. The implementation considers a task-oriented, hybrid usage of explicitly managed and Unified Memory in order to satisfy the requirements. Benchmarks demonstrate that the proposed approach is able to preserve 78–90% of the original performance, when oversubscribing the amount of physical memory available on GPUs. Comparison with existing methods highlights the benefits of the method.

[1]  William J. Dally,et al.  The GPU Computing Era , 2010, IEEE Micro.

[2]  B. Fornberg Generation of finite difference formulas on arbitrarily spaced grids , 1988 .

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

[4]  Wave equation processing using finite-difference propagators, Part 1: Wavefield dissection and imaging of marine multicomponent seismic data , 2014 .

[5]  E. Raknes,et al.  Challenges and solutions for performing 3D time-domain elastic full-waveform inversion , 2017 .

[6]  Espen Birger Raknes,et al.  Wavefield reconstruction for velocity–stress elastodynamic full-waveform inversion , 2020 .

[7]  Nicholas Wilt,et al.  The CUDA Handbook: A Comprehensive Guide to GPU Programming , 2013 .

[8]  Xiaodong Zheng,et al.  The implementation of an improved NPML absorbing boundary condition in elastic wave modeling , 2009 .

[9]  Paweł Czarnul,et al.  Performance evaluation of Unified Memory with prefetching and oversubscription for selected parallel CUDA applications on NVIDIA Pascal and Volta GPUs , 2019, The Journal of Supercomputing.

[10]  Pradeep Dubey,et al.  3.5-D Blocking Optimization for Stencil Computations on Modern CPUs and GPUs , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[11]  Johan O. A. Robertsson,et al.  An efficient method for calculating finite‐difference seismograms after model alterations , 1999 .

[12]  Jie Cheng,et al.  CUDA by Example: An Introduction to General-Purpose GPU Programming , 2010, Scalable Comput. Pract. Exp..

[13]  R. Mittet Implementation of the Kirchhoff integral for elastic waves in staggered‐grid modeling schemes , 1994 .

[14]  David G. Wonnacott,et al.  Using time skewing to eliminate idle time due to memory bandwidth and network limitations , 2000, Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000.

[15]  Johan O. A. Robertsson,et al.  Exact wavefield reconstruction on finite-difference grids with minimal memory requirements , 2016 .

[16]  Arthur B. Weglein,et al.  Green’s theorem as a comprehensive framework for data reconstruction, regularization, wavefield separation, seismic interferometry, and wavelet estimation: A tutorial , 2009 .

[17]  Dimitri Komatitsch,et al.  Accelerating a three-dimensional finite-difference wave propagation code using GPU graphics cards , 2010 .

[18]  Albert Tarantola,et al.  Theoretical background for the inversion of seismic waveforms including elasticity and attenuation , 1988 .

[19]  Alejandro Duran,et al.  Effective Use of Large High-Bandwidth Memory Caches in HPC Stencil Computation via Temporal Wave-Front Tiling , 2016, 2016 7th International Workshop on Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS).

[20]  Wiktor Weibull,et al.  Efficient 3D elastic full-waveform inversion using wavefield reconstruction methods , 2016 .

[21]  Jean Virieux,et al.  An overview of full-waveform inversion in exploration geophysics , 2009 .

[22]  D. J. Manen,et al.  Immersive boundary conditions: Theory, implementation, and examples , 2017 .

[23]  Guang R. Gao,et al.  Mapping the FDTD Application to Many-Core Chip Architectures , 2009, 2009 International Conference on Parallel Processing.

[24]  J. Etgen,et al.  An overview of depth imaging in exploration geophysics , 2009 .

[25]  Rune Mittet,et al.  General Source And Receiver Positions In Coarse-grid Finite-difference Schemes , 1999 .

[26]  Max Grossman,et al.  Professional CUDA C Programming , 2014 .

[27]  Guang R. Gao,et al.  Locality Optimization of Stencil Applications Using Data Dependency Graphs , 2010, LCPC.

[28]  John D. Owens,et al.  GPU Computing , 2008, Proceedings of the IEEE.

[29]  Takeshi Fukaya,et al.  Time-space tiling with tile-level parallelism for the 3D FDTD method , 2018, HPC Asia.

[30]  D K Smith,et al.  Numerical Optimization , 2001, J. Oper. Res. Soc..

[31]  J. Virieux P-SV wave propagation in heterogeneous media: Velocity‐stress finite‐difference method , 1986 .

[32]  A. Fichtner Full Seismic Waveform Modelling and Inversion , 2011 .

[33]  Robert W. Graves,et al.  Simulating seismic wave propagation in 3D elastic media using staggered-grid finite differences , 1996, Bulletin of the Seismological Society of America.

[34]  Jon Marius Venstad Industry-scale finite-difference elastic wave modeling on graphics processing units using the out-of-core technique , 2016 .

[35]  Hans-Peter Seidel,et al.  Cache Accurate Time Skewing in Iterative Stencil Computations , 2011, 2011 International Conference on Parallel Processing.

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

[37]  J. Tromp Seismic wavefield imaging of Earth’s interior across scales , 2019, Nature Reviews Earth & Environment.

[38]  Denes Vigh,et al.  Elastic full-waveform inversion application using multicomponent measurements of seismic data collection , 2014 .

[39]  Michael Wolfe,et al.  More iteration space tiling , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[40]  R. Plessix A review of the adjoint-state method for computing the gradient of a functional with geophysical applications , 2006 .

[41]  Gabriel Fabien-Ouellet,et al.  Time-domain seismic modeling in viscoelastic media for full waveform inversion on heterogeneous computing platforms with OpenCL , 2017, Comput. Geosci..

[42]  Samuel Williams,et al.  Roofline: an insightful visual performance model for multicore architectures , 2009, CACM.

[43]  Olav Holberg,et al.  Computational aspects of the choice of operator and sampling interval for numerical differentiation in large-scale simulation of wave phenomena , 1985 .

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