Efficient seismic modeling is more and more needed because of the advent of full waveform inversion (FWI). For real case FWI, an efficient usage of the available computer resources is paramount. With the diversity of processor architectures found today, this is not a trivial task. In this study, we investigate the use of OpenCL to take advantage of large heterogeneous clusters in the context of FWI. The main objective is to present a scalable, multi-device code for the resolution of the viscoelastic wave equation that can compute the gradient of the objective function by the adjoint state method. We present several algorithmic aspects of our program in details, with an emphasis on its different levels of parallelism. The performance of the program is shown with several tests performed on large clusters with nodes containing three types of processors: Intel CPUs, NVidia GPUs and Intel Xeon PHI. We obtain a speed-up of more than 80 when using GPUs compared to a single threaded implementation and a linear scaling when computations are divided on separate nodes. Our results show that OpenCL allows a better usage of the computing resources available using a single source code for a multitude of devices.


Article metrics loading...

Loading full text...

Full text loading...


  1. Bohlen, T.
    [2002] Parallel 3-D viscoelastic finite difference seismic modelling. Computers and Geo-sciences, 28(8), 887–899.
    [Google Scholar]
  2. Carcione, J.M., Kosloff, D. and Kosloff, R.
    [1988] Viscoacoustic wave propagation simulation in the earth. Geophysics, 53(6), 769–777.
    [Google Scholar]
  3. Du, P., Weber, R., Luszczek, P., Tomov, S., Peterson, G. and Dongarra, J.
    [2012] From CUDA to OpenCL: Towards a performance-portable solution for multi-platform GPU programming. Parallel Computing, 38(8), 391–407.
    [Google Scholar]
  4. Levander, A.R.
    [1988] Fourth-order finite-difference P-SV seismograms. Geophysics, 53(11), 1425–1436.
    [Google Scholar]
  5. Mattson, T.G., Sanders, B.A. and Massingill, B.L.
    [2004] Patterns for parallel programming. Pearson Education.
    [Google Scholar]
  6. Michéa, D. and Komatitsch, D.
    [2010] Accelerating a three-dimensional finite-difference wave propagation code using GPU graphics cards. Geophysical Journal International, no-no.
    [Google Scholar]
  7. Nvidia, C.
    [2007] Compute unified device architecture programming guide.
    [Google Scholar]
  8. Okamoto
    [2011] Accelerating large-scale simulation of seismic wave propagation by multi-GPUs and three-dimensional domain decomposition. Earth, Planets and Space, 62(12), 939–942.
    [Google Scholar]
  9. Plessix, R.E.
    [2006] A review of the adjoint-state method for computing the gradient of a functional with geophysical applications. Geophysical Journal International, 167(2), 495–503.
    [Google Scholar]
  10. Robertsson, J.O.A., Blanch, J.O. and Symes, W.W.
    [1994] Viscoelastic finite-difference modeling. Geophysics, 59(9), 1444–1456.
    [Google Scholar]
  11. Rubio, F., Hanzich, M., Farrés,A., de la Puente, J. and María Cela, J.
    [2014] Finite-difference staggered grids in GPUs for anisotropic elastic wave propagation simulation. Computers and Geosciences, 70, 181–189.
    [Google Scholar]
  12. Stone, J.E., Gohara, D. and Shi, G.
    [2010] OpenCL: A parallel programming standard for heterogeneous computing systems. Computing in science and engineering, 12(1–3), 66–73.
    [Google Scholar]
  13. Tarantola, A.
    [1984] Inversion of seismic reflection data in the acoustic approximation. Geophysics, 49(8), 1259–1266.
    [Google Scholar]
  14. [1988] Theoretical background for the inversion of seismic waveforms including elasticity and attenuation. Pure and Applied Geophysics, 128(1–2), 365–399.
    [Google Scholar]
  15. Virieux, J. and Operto, S.
    [2009] An overview of full-waveform inversion in exploration geophysics. Geophysics, 74(6), WCC1–WCC26.
    [Google Scholar]
  16. Weiss, R.M. and Shragge, J.
    [2013] Solving 3D anisotropic elastic wave equations on parallel GPU devices. Geophysics, 78(2), F7–F15.
    [Google Scholar]

Data & Media loading...

This is a required field
Please enter a valid email address
Approval was a Success
Invalid data
An Error Occurred
Approval was partially successful, following selected items could not be processed due to error