当前位置: 首页 > 专利查询>北京大学专利>正文

GPU并行三维地震波场生成方法和系统技术方案

技术编号:15637258 阅读:180 留言:0更新日期:2017-06-15 03:12
本发明专利技术公布了一种基于GPU并行加速的三维地震波场的正演模拟方法及其系统,属于数值模拟与高性能计算技术领域。本发明专利技术对地震波传播方程进行高阶有限差分,通过数值模拟计算得到高精度的勘探地震波传播数据,在计算过程中,通过GPU并行加速处理,高精度地、高效地生成地面地震记录数据和波场切片结果。通过本发明专利技术,能够实现高精度、高效率地求解三维地震波动方程,大大提高计算效率的同时,有效提高计算精度。

【技术实现步骤摘要】
GPU并行三维地震波场生成方法和系统
本专利技术属于数值模拟与高性能计算
,涉及地震波场正演模拟方法,具体涉及一种基于GPU并行加速的三维地震波场的正演模拟方法及其系统。
技术介绍
地震波场正演模拟是有效反映地下介质构造变化的一种数值模拟方法。随着油气勘探开发技术的发展,以及计算机运算能力的提升,地震波场正演模拟的方法已得到了广泛的应用。地震波场数值正演模拟是在地下介质结构和参数已知的情况下,利用理论计算的方法研究地震波在地下介质中的传播规律,并获得人工合成地震记录的一种技术。在现有的方法中,有限差分方法具有很好的灵活性而被广泛应用于数值计算之中。其中,有限差分方法的研究始于1968年,Alterman和Karal在文献[1]中,首先将弹性波有限差分模拟的方法应用到了拟合地层的层状介质中。之后,有限差分技术快速发展,文献[2]记载了Alford等比较了高阶差分与低阶差分保持同样精度时对网格间距的要求,深入研究有限差分法算法精度。随后,Kelly等文献[3]中研究了用有限差分法人工合成了地震记录,将方法与实际数据紧紧连系在了一起。在文献[4]中,Virieux提出了稳定有限差分交错网格的差分形式,适用于任何泊松比的介质,同时,交错网格提高了局部计算精度和算法的稳定性。之后,文献[5]记载了Levander将Virieux的结果进行了差分阶数的提升,得到更高精度的结果。在文献[6]中,Crase则将精度提高到任意阶数,进行高阶差分,因而对CPU、内存以及储存空间的要求也大大提升。在文献[7]中,Graves又在三维空间下完成了这一方法的实践应用,使该方法更好的结合到我们实际的勘探工作中。董国良等在文献[8]~[9]中对一阶弹性波交错网格高阶差分的方法以及其稳定性问题进行了深入研究。文献[10]中记载了张剑锋和刘铁林将网格的研究进一步发展,提出了矩形网格和三角网格相结合的方法,提高有限差分法在构造较复杂地区结果的精度。在文献[11]中,董国良和李培明又在前人的基础上针对频散这一问题进行了更加详细的讨论。文献[12]记载了李胜军等对地震波数值模拟中的频散压制方法的总结分析。之后,有限差分方法越来越多的应用到了勘探工业界,在实际工作中起着重要作用。目前,有限差分法可以说是最常用的数值模拟方法,已经较为成熟,它正向着高精度和高效率的波场模拟方向发展。正演模拟的方法还包括限元法、伪谱法、克希霍夫积分法等等。但从方法上而言,在有限差分法中,我们用相应的空间、时间的差分代替波场函数的空间、时间导数,对于各种条件下的介质都有着广泛的应用,能够真实并准确地模拟波在地下介质中的运动方式。同时,其具有运算快、数据量小的优势,这是其他方法都难以比拟的。因此,该方法是勘探应用最重要的方法之一。在数值模拟计算中,中央处理器CPU能完成复杂的逻辑运算,但其串行的结构限制了单位时间内运算的数据量,运算效率较低。近几年以来,图形处理器在并行计算中逐渐被广泛应用。文献[13]~[14]记载了图形处理器GPU采用的是浮点运算,其多核运算模式在数据量庞大的科学计算上有着巨大的优势。2007年,GPU技术迈出了历史性的一步,NVIDIA公司推出了CUDA平台,并开发了CUDAC语言,这一进步大大降低编译工作者的工作难度,程序也直接可以以C语言的形式进行编译开发。同时,CUDA是一种CPU和GPU的混合编程平台,其上代码不但包括GPU上的并行计算运行指令,还包括CPU上逻辑串行指令部分;在GPU上运行的程序为内核函数(Kernel)。CUDA并行程序将直接控制GPU上的数据操作,操作完成之后,CUDA指令可以控制主机端和设备端之间的数据交换,此外,CUDA还可以控制设备存储空间的分配和释放,管理纹理内存储空间。CUDA采用三维无符号整型向量来对线程与线程块进行组织和编号。其并行构架中,由内核函数Kernel进行运算编译,核函数被置入计算网格(Grid),每个网格中包含若干线程块(Block),而每个线程块又可以包含若干个线程(Thread)内。因此Kernel函数就是运算的中心,文献[14]~[15]即记载了利用Blocks和Threads的工作方式即可完成并行计算。线程块可以是一维至三维的组织方式,而线程块内的线程组织方式也可以是一至三维的。这使得网格中的每个线程块的每个线程的位置更加直观和精确。如今,GPU(GraphicProcessUnit)图形处理单元得到了迅速的发展,以往的GPU只是按照固定的流水线进行工作,负责图形处理,而现今,GPU已经发展到了可编程模式,例如现今NVIDIA的CUDA编程平台已经发展了多个版本,GPU硬件的功能也逐步强大。从制造工艺上来讲,GPU已经经过多代更新和发展,过去的十多年时间里,每年都会产生新一代的GPU,在其不断完善和发展中,GPU的性能也不断强大,可编程性也大大提高。现在,一些高端的GPU的计算性能已经可以相当于一个高性能计算集群系统。一方面,GPU在硬件技术的不断提高中,将会拥有更加强大的运算能力,存储性能和更高的数据传输速度,另外一个方面,计算平台的发展使GPU的通用性更强,越来越多的程序可以使用GPU实现高性能计算,GPU编程的简单化也使得GPU高性能计算拥有越来越广泛的适用人群。在地震勘探
,三维弹性波场正演模拟的结果能更加接近野外采集的实际数据,具有很好的参照性和对比性,同时,也能为之后的三维反演提供模型数据基础。但是,由于三维数据计算带来了庞大的计算量,而现有技术计算效率低,耗时长,难以达到高精度计算要求。目前,地震波场数值模拟技术尚需要提高计算效率,进一步提高计算的稳定性和精度。参考文献:[1]Alterman,Z.,andKaral,F.C..Propagationofelasticwaveinlayeredmediabyfinitedifferencemethod[J].BulletinoftheSeismologicalSocietyofAmerica,1968,58(1):367-398.[2]Alford,R.M.,Kelly,K.R.,Boore,D.M..Accuracyoffinitedifferencemodelingoftheacousticwaveequation[J].Geophysics.1974,39(6):834-842.[3]Kelly,K.R.,etal.Syntheticseismograms;afinitedifferenceapproach[J].Geophysics.1976,41(1):2-27.[4]Virieux,J..P-SVwavepropagationinheterogeneousmedia:Velocity-stressfinite-differencemethod(Shearwaves)[J].Geophysics,1986,51(4):889-901.[5]Levander,A.R..Fourth-orderfinite-differenceP-SVseismograms[J].Geophysics.1988.53(11):1425-1436.[6]Crase,E..High-order(spacean本文档来自技高网
...
GPU并行三维地震波场生成方法和系统

【技术保护点】
一种GPU并行三维地震波场生成方法,对地震波传播方程进行高阶有限差分,通过数值模拟计算得到高精度的勘探地震波传播数据,在计算过程中,通过GPU并行加速处理生成地面地震记录数据和波场切片,由此获得三维地震波正演模拟结果;包括如下步骤:1)获取地震子波及观测系统数据,获取地质参数信息;2)确定地震波传播三维正演模拟模型的初始条件、生成边界条件和算法稳定性条件,对地震波传播方程进行高阶有限差分,通过数值模拟得到高精度的勘探地震波传播数据;3)设计基于GPU并行的正演模拟算法结构,通过分维度数据并行加速处理方法,实现高精度结果的高效输出;4)输出波场切片结果和地面地震记录数据,模拟生成勘探地震波场。

【技术特征摘要】
1.一种GPU并行三维地震波场生成方法,对地震波传播方程进行高阶有限差分,通过数值模拟计算得到高精度的勘探地震波传播数据,在计算过程中,通过GPU并行加速处理生成地面地震记录数据和波场切片,由此获得三维地震波正演模拟结果;包括如下步骤:1)获取地震子波及观测系统数据,获取地质参数信息;2)确定地震波传播三维正演模拟模型的初始条件、生成边界条件和算法稳定性条件,对地震波传播方程进行高阶有限差分,通过数值模拟得到高精度的勘探地震波传播数据;3)设计基于GPU并行的正演模拟算法结构,通过分维度数据并行加速处理方法,实现高精度结果的高效输出;4)输出波场切片结果和地面地震记录数据,模拟生成勘探地震波场。2.如权利要求1所述GPU并行三维地震波场生成方法,其特征是,步骤3)所述分维度数据并行加速处理方法具体执行如下操作:31)通过将三维数据数组排列成一维数组的方法,将三维数据体一维化,并从CPU内存导入到GPU的内存中;32)对地震波传播三维正演模拟模型方程进行一维化,将三维数组对应的方程修改成相应一维数组对应的方程;所述三维正演模拟方程为弹性波应力-速度方程;选择GPU中的处理单元Block和Thread作为两个方向,用于分配地震波场第一维度和第二维度的数据,并储存地震波场第一维度和第二维度的数据的检索坐标用于并行计算;将地震波场数据的第三维度转化成循环状态进行处理;此时,数据为一维数据,检索号保持为三维的检索标准;33)通过内核函数Kernel分配变量的计算顺序,使得变量按照分配的顺序进行迭代计算;34)执行数据一维化GPU并行计算;35)计算结果输出及数据返回:得到一个时间节点的数据后,将结果导回CPU内存中输出;再将当前时间节点的数据返回到GPU中进行下一个时间节点的运算,直到时间循环结束。3.如权利要求2所述GPU并行三维地震波场生成方法,其特征是,步骤31)具体通过CUDA语言中的cudaMemcpy函数将数据由CPU拷贝到GPU;步骤35)具体通过CUDA中的cudaMemcpy函数将数据由GPU拷贝到CPU。4.如权利要求2所述GPU并行三维地震波场生成方法,其特征是,步骤33)通过内核函数Kernel分配变量的计算顺序,具体将变量数据计算顺序分为速度分量计算和应力分量计算两部分,分别进行速度分量和应力分量的计算,在循环中按顺序进行迭代计算。5.如权利要求1所述GPU并行三维地震波场生成方法,其特征是,步骤2)生成地震波传播三维正演模拟模型方程的边界条件包括如下步骤:首先设置衰减系数,再分解运算方程并加入衰减项;最后代入原方程重新进行差分计算,得到方程的边界条件。6.如权利要求5所述GPU并行三维地震波场生成方法,其特征是,所述方程的边界条件为完全...

【专利技术属性】
技术研发人员:胡天跃王为中安圣培
申请(专利权)人:北京大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1