MPI- and CUDA- implementations of modal finite difference method for P-SV wave propagation modeling

Document Type : Research Article


Earthquake Research Center, Ferdowsi University of Mashhad, Iran



Among different discretization approaches, Finite Difference Method (FDM) is widely used for acoustic and elastic full-wave form modeling. An inevitable deficit of the technique, however, is its sever requirement to computational resources. A promising solution is parallelization, where the problem is broken into several segments, and the calculations are distributed over different processors. For the present FD routines, however, such parallelization technique inevitably needs domain-decomposition and inter-core data exchange, due to the coupling of the governing equations. In this study, a new FD-based procedure for seismic wave modeling, named as ‘Modal Finite Difference Method (MFDM)” is introduced, which deals with the simulation in the decoupled modal space; thus, neither domain-decomposition nor inter-core data exchange is anymore required, which greatly simplifies parallelization for both MPI- and CUDA implementations over CPUs and GPUs. With MFDM, it is also possible to simply cut off less-significant modes and run the routine for just the important ones, which will effectively reduce computation and storage costs. The efficiency of the proposed MFDM is shown by some numerical examples.


  • P-SV wave modeling is dealt with by the proposed modal finite difference method.
  • MFD routines can easily be parallelized without domain decomposition.
  • MFDM is implemented on multiple cores and GPUs.
  • Significant modes can only be incorporated in the simulation.


Main Subjects

[1] Z. Alterman, F.C. Karal, Propagation of elastic waves in layered media by finite difference methods, Bulletin of the Seismological Society of America, 58 (1968) 367-398.
[2] D.M. Boore, Love waves in nonuniform wave guides: Finite difference calculations, Journal of Geophysical Research, 75 (1970) 1512-1527.
[3] D.M. Boore, Finite difference methods for seismic wave propagation in heterogeneous materials, Methods in computational physics, 11 (1972) 1-37.
[4] O.C. Zienkiewicz, R.L. Taylor, The finite element method: solid mechanics, Butterworth-heinemann, 2000.
[5] G. Cohen, P. Joly, N. Tordjman, Higher-order finite elements with mass-lumping for the 1D wave equation, Finite Elements in Analysis and Design, 16 (1994) 329-336.
[6] D.D. Kosloff, E. Baysal, Forward modeling by a Fourier method, Geophysics, 47 (1982) 1402-1412.
[7] D.D. Kosloff, M. Reshef, D. Loewenthal, Elastic wave calculations by the Fourier method, Bulletin of the Seismological Society of America, 74 (1984) 875-891.
[8] B. Fornberg, The pseudospectral method: Comparisons with finite differences for the elastic wave equation, Geophysics, 52 (1987) 483-501.
[9] D. Komatitsch, J. Tromp, Introduction to the spectral element method for three-dimensional seismic wave propagation, Geophysical Journal International, 139 (1999) 806-822.
[10] M.J. Grote, A. Schneebeli, D. Schötzau, Discontinuous Galerkin finite element method for the wave equation, SIAM Journal on Numerical Analysis, 44 (2006) 2408-2431.
[11] J. Virieux, P-SV wave propagation in heterogeneous media: Velocity-stress finite-difference method, Geophysics, 51 (1986) 889-901.
[12] A.R. Levander, Fourth-order finite-difference P-SV seismograms, Geophysics, 53 (1988) 1425-1436.
[13] R.W. Graves, Simulating seismic wave propagation in 3D elastic media using staggered-grid finite differences, Bulletin of the Seismological Society of America, 86 (1996) 1091-1106.
[14] P. Moczo, J. Kristek, L. Halada, The finite-difference method for seismologists, Comenius University, 2004.
[15] P. Moczo, J.O.A. Robertsson, L. Eisner, The finite-difference time-domain method for modeling of seismic wave propagation, Advances in Geophysics, 48 (2007) 421-516.
[16] M.A. Dablain, The application of high-order differencing to the scalar wave equation, Geophysics, 51 (1986) 54-66.
[17] B.G. Mikhailenko, Seismic modeling by the spectral-finite difference method, Physics of the Earth and Planetary Interiors, 119 (2000) 133-147.
[18] S.K. Lele, Compact finite difference schemes with spectral-like resolution, Journal of Computational Physics, 103 (1992) 16-42.
[19] S. Pirozzoli, Performance analysis and optimization of finite-difference schemes for wave propagation problems, Journal of Computational Physics, 222 (2007) 809-831.
[20] T. Bohlen, Parallel 3-D viscoelastic finite difference seismic modelling, Computers & Geosciences, 28 (2002) 887-899.
[21] OpenMP Application Programming Interface, version 3.0, in,, 2009.
[22] W. Gropp, E. Lusk, A. Skjellum, Using MPI: portable parallel programming with the message-passing interface, MIT Press, 1999.
[23] R. Shams, P. Sadeghi, On optimization of finite-difference time-domain (FDTD) computation on heterogeneous and GPU clusters, Journal of Parallel and Distributed Computing, 71 (2011) 584-593.
[24] R. Mehra, N. Raghuvanshi, L. Savioja, M.C. Lin, D. Manocha, An efficient GPU-based time domain solver for the acoustic wave equation, Applied Acoustics, 73 (2012) 83-94.
[25] Y. Saad, Variations on Arnoldi's method for computing eigenelements of large unsymmetric matrices, Linear Algebra and its Applications, 34 (1980) 269-295.
[26] Y. Saad, Iterative methods for sparse linear systems, 2003.
[27] J.W. Choi, A. Singh, R.W. Vuduc, Model-driven autotuning of sparse matrix-vector multiply on GPUs, ACM Sigplan Notices, 45 (2010) 115-126.
[28] N. Bell, M. Garland, Implementing sparse matrix-vector multiplication on throughput-oriented processors, in:  Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis, ACM, Portland, OR, USA, 2009, pp. 18.
[29] CUDA toolkit documentation, in,
[30] H.-W. Chang, S.-E. Liu, R. Burridge, Exact eigensystems for some matrices arising from discretizations, Linear Algebra and its Applications, 430 (2009) 999-1006.
[31] N. Dugan, L. Genovese, S. Goedecker, A customized 3D GPU Poisson solver for free boundary conditions, Computer Physics Communications, 184 (2013) 1815-1820.