本文介绍地震波场高阶有限差分正演及其GPU计算问题,通过数值模拟技术实现地震波正演。对于声波方程,利用泰勒级数展开式得出波动方程的高阶有限差分格式及其离散表达式。运用C++语言和CUDA编写二维和三维GPU正演程序,使用共享存储器提升GPU线程间通信传输速度,并且改善了三维模型情况下共享存储器容量对有限差分阶数的限制问题。建立不同尺度模型针对二维和三维GPU正演程序和CPU正演程序进行计算测试,比较两个程序的计算效率。测试结果表明,无论是在二维和三维的模型下,GPU正演程序的计算耗时都远远小于CPU正演程序的计算耗时,且随着计算数据量的增大,加速效果越来越显著,测试结果可以很好地证明GPU程序相对于单CPU程序计算的高效性。
This paper mainly introduces the seismic acoustic wave filed of high order finite difference forward and the problem of GPU computing. Through the numerical simulation technology, the forward problem of seismic wave propagation is realized. On the theoretical basis of the wave equation and with the utilization of Taylor series expansion, the wave equation's finite difference and its discrete form can be got. The 2D and 3D GPU forward procedures are written by C++ and CUDA, using the shared memory to prompt communication speed between different GPU threads, and improve the problem of 3D model sharing memory capacity limits on finite difference order. Different size models for 2D and 3D GPU and CPU program to calculate are established, running the program and getting consumption of time in order to compare the computational efficiency of the two procedures. The Test shows that, both in 2D and 3D model, the time consumption of GPU forward program is far less than that of CPU forward program, and with data amount increasing, the speedup is more and more significant. The test result proves that the efficiency of GPU program is better than that of CPU program.