Acceleration of computation speed for elastic wave simulation using a Graphic Processing Unit
Norimitsu Nakata 1 2 Takeshi Tsuji 1 Toshifumi Matsuoka 11 Department of Urban Management, Faculty of Engineering, Kyoto University, C1-118, Kyotodaigaku-Katsura, Nishikyo-ku, Kyoto 615-8540, Japan.
2 Corresponding author. Email: n_nakata@earth.kumst.kyoto-u.ac.jp
Exploration Geophysics 42(1) 98-104 https://doi.org/10.1071/EG10039
Submitted: 16 August 2010 Accepted: 4 November 2010 Published: 25 February 2011
Abstract
Numerical simulation in exploration geophysics provides important insights into subsurface wave propagation phenomena. Although elastic wave simulations take longer to compute than acoustic simulations, an elastic simulator can construct more realistic wavefields including shear components. Therefore, it is suitable for exploration of the responses of elastic bodies. To overcome the long duration of the calculations, we use a Graphic Processing Unit (GPU) to accelerate the elastic wave simulation. Because a GPU has many processors and a wide memory bandwidth, we can use it in a parallelised computing architecture. The GPU board used in this study is an NVIDIA Tesla C1060, which has 240 processors and a 102 GB/s memory bandwidth. Despite the availability of a parallel computing architecture (CUDA), developed by NVIDIA, we must optimise the usage of the different types of memory on the GPU device, and the sequence of calculations, to obtain a significant speedup of the computation. In this study, we simulate two- (2D) and three-dimensional (3D) elastic wave propagation using the Finite-Difference Time-Domain (FDTD) method on GPUs. In the wave propagation simulation, we adopt the staggered-grid method, which is one of the conventional FD schemes, since this method can achieve sufficient accuracy for use in numerical modelling in geophysics. Our simulator optimises the usage of memory on the GPU device to reduce data access times, and uses faster memory as much as possible. This is a key factor in GPU computing. By using one GPU device and optimising its memory usage, we improved the computation time by more than 14 times in the 2D simulation, and over six times in the 3D simulation, compared with one CPU. Furthermore, by using three GPUs, we succeeded in accelerating the 3D simulation 10 times.
Key words: CUDA, elastic wave propagation, Graphic Processing Unit, seismic modelling, 3D Finite-difference.
References
Abdelkhalek, R., Calandra, H., Coulaud, O., Latu, G., and Roman, J., 2009, Fast seismic modeling and reverse time migration on a GPU cluster: Proceedings of the 2009 High Performance Computing & Simulation – HPCS09, 36–43.Chandra, R., Menon, R., Dagum, L., Kohr, D., Maydan, D., and McDonald, J., 2000, Parallel programming in OpenMP: Morgan Kaufmann.
Cerjan, C., Kosloff, D., Kosloff, R., and Reshef, M., 1985, A nonreflecting boundary condition for discrete acoustic and elastic wave equations: Geophysics, 50, 705–708
| A nonreflecting boundary condition for discrete acoustic and elastic wave equations:Crossref | GoogleScholarGoogle Scholar |
Cerveny, V., 2001, Seismic ray theory: Cambridge University Press.
Graves, R. W., 1996, Simulating seismic wave propagation in 3D elastic media using staggered-grid finite differences: Bulletin of the Seismological Society of America, 86, 1091–1106
Juhlin, C., 1995, Imaging of fracture zones in the Finnsjon area, central Sweden, using the seismic reflection method: Geophysics, 60, 66–75
| Imaging of fracture zones in the Finnsjon area, central Sweden, using the seismic reflection method:Crossref | GoogleScholarGoogle Scholar |
Levander, A. R., 1988, Fourth-order Finite-Difference P-SV seismograms: Geophysics, 53, 1425–1436
| Fourth-order Finite-Difference P-SV seismograms:Crossref | GoogleScholarGoogle Scholar |
Liu, Y., Liu, X., and Wu, E., 2004, Real-time 3D fluid simulation on GPU with complex obstacles: Proceedings of the 12th Pacific Conference on Computer Graphics and Applications – PG04, 247–256.
Micikevicius, P., 2009, 3D Finite Difference computation on GPUs using CUDA: GPGPU2.
Moussa, N. W., 2009, Seismic imaging using GPGPU accelerated reverse time migration CS315A final project report: Technical Document, Stanford University.
Nickolls, J., and Dally, W. J., 2010, The GPU computing era: IEEE Micro, 30, 56–69
| The GPU computing era:Crossref | GoogleScholarGoogle Scholar |
NVIDIA CUDA, 2010, Programming Guide Version 3.0.
Nyland, L., Harris, M., and Prins, J., 2007, Fast N-body simulation with CUDA in Nguyen, H. (ed.), GPU Gems 3: Addison-Wesley, pp. 677–695.
Owens, J. D., Housto, M., Luebke, D., Green, S., Stone, J. E., and Phillips, J. C., 2008, GPU computing: Proceedings of the IEEE, 96, 879–899
| GPU computing:Crossref | GoogleScholarGoogle Scholar |
Saito, M., 1993, Branch line contribution in Lamb’s problem: Butsuri Tansa, 46, 372–380
Stone, J. E., Philips, J. C., Freddolino, P. L., Hardy, D. J., Trabuco, L. G., and Schulten, K., 2007, Accelerating molecular modelling applications with graphics processors: Journal of Computational Chemistry, 28, 2618–2640
| Accelerating molecular modelling applications with graphics processors:Crossref | GoogleScholarGoogle Scholar | 1:CAS:528:DC%2BD2sXhtlarsbfJ&md5=71103c4e8a90fc16f5e9d87302fe3aabCAS | 17894371PubMed |
Takada, N., Takizawa, T., Gong, Z., Masuda, N., Ito, T., and Shimobaba, T., 2008, Fast computation of 2-D Finite-Difference Time-Domain method using Graphics Processing Unit with unified shader: IEICE, J91-D, 2562–2564
Virieux, J., 1986, P-SV wave propagation in heterogeneous media: velocity-stress finite difference method: Geophysics, 51, 889–901
| P-SV wave propagation in heterogeneous media: velocity-stress finite difference method:Crossref | GoogleScholarGoogle Scholar |