一种在多GPU上分偏移距的Kirchhoff类偏移并行计算方法技术

技术编号:13569629 阅读:99 留言:0更新日期:2016-08-21 12:01
本发明专利技术公开了一种在多GPU上分偏移距的Kirchhoff类偏移并行计算方法。所述方法采用一种分偏移距的策略,可以根据GPU内存的限制,增加参与计算的线程数量,从而充分发挥GPU计算核心多的优势。所述方法包括以下步骤:分发数据、计算偏移距范围、局部偏移距成像和生成成像道集。所述方法能够最大限度地增加单个GPU计算的成像点数量,发挥GPU的众核优势,计算效率大幅提高,计算结果正确。

【技术实现步骤摘要】

本专利技术属于信息处理
,具体涉及一种在多GPU上分偏移距的Kirchhoff类偏移并行计算方法
技术介绍
基于Kirchhoff积分的地震数据叠前偏移具有原理简单、计算稳定,适应性强、面向目标成像等特点,目前在工业生产中得到广泛应用。Kirchhoff类成像的计算原理可以描述为输入的地震道根据走时计算,将振幅放置到成像孔径内的成像点上,根据输入数据的偏移距,单个地表成像点的输出为如图1(a)所示的偏移距道集,然后对偏移距道集进行叠加,结果如图1(b)所示,最终成为成像剖面图,如图1(c)所示。传统的Kirchhoff积分类偏移应用MPI等并行技术在大型计算机集群上进行并行计算,并行方式为将地表的每个成像点分配到集群中参与计算的各个节点上进行计算,输出的道集是共成像点道集,单个节点能够计算的成像点数取决于节点内存大小,如果输出的偏移据越多,则在有限内存在,计算得成像点数越少。如果成像点总数超出所有节点的计算范围,则分几轮依次计算。基于计算集群技术的Kirchhoff类偏移计算具有高能耗、高占地等缺点,而基于图形处理器GPU的并行计算可以在更小的能耗下完成同等工作。基于GPU并行计算的Kirchhoff类偏移的核心思路就是将整个成像空间的成像点分配到GPU的不同线程上进行计算,GPU的整个线程结构如图2所示,其中,每个线程块(block)负责计算一个地表的成像道,线程块内的x和y方向的线程分别表示地表subline和crossline两个方向的成像道,而在block内的线程(thread)则计算每个成像道下边的成像点。GPU相对于普通的PC计算,内存较小,可容纳的成像点数量小,如果依然按照计算集群的并行计算方式,则因为输出的每个成像点偏移距较多而占用了更多的内存空间,因此,单次参与并行计算的成像点数量就很少,需要的计算线程数量也小,因为GPU单线程主频小,不能够跟普通得计算机相比,如果参与计算得线程数量小得话,则不能够发挥GPU线程多,以多取胜得特点,这样就大大影响了计算效率,不能发挥GPU的作用,解决途径就是如何在有限的GPU内存下,增加单个GPU计算的成像点数。
技术实现思路
为了解决现有的基于GPU并行计算的Kirchhoff类偏移算法,因GPU内存容量小导致计算效率不高,GPU的众核优势无法充分发挥的问题,本专利技术根据Kirchhoff类偏移的计算原理,提供一种在多GPU上分偏移距的Kirchhoff类偏移并行计算方法。所述方法,可以大幅度提高GPU上Kirchhoff类偏移的计算效率,充分发挥GPU的众核优势,加快工业生产。为实现上述目标,本专利技术采用以下技术方案:一种在多GPU上分偏移距的Kirchhoff类偏移并行计算方法,所述方法采用一种分偏移距的策略,可以根据GPU内存的限制,增加参与计算的block数量,从而充分发挥GPU计算核心多的优势,具体做法如下:1)分发数据:依据参加计算的GPU数量X,将地震数据按偏移距大小等分成X份,分别将每份数据发送到GPU所在的计算节点上,每个GPU承担一份数据的计算任务;2)计算偏移距范围:计算各个GPU计算上的最小和最大偏移距;3)局部偏移距成像:根据成像输出的偏移距间距,设置各个GPU上输出的偏移距道集信息;4)生成成像道集:将各个GPU输出的结果合并到一起,然后按共中心点和偏移距分选,获得最终的成像道集,继而可以用其完成速度分析等工作。上述流程的具体操作如图3所示。本专利技术的优点和有益效果为:跟传统的分成像道到各节点的计算方法相比,本专利技术提供的计算方法对单个节点的偏移距少,根据内存大小,可以最大容量地增加成像点数,让所有的GPU计算核心处于忙碌状态,充分发挥了GPU的众核特长,增加了计算效率。附图说明下面结合附图和实施例对本专利技术作进一步说明。图1为Kirchhoff类成像的计算原理示意图。图中,a是单个地表成像点输出的偏移距道集,b是偏移距道集叠加图, c是成像剖面图。图2为Kirchhoff类偏移的并行线程模型示意图。图中,x是承担x方向成像道计算的线程,y是承担y方向成像道计算的线程,block是计算每个成像道下边成像点的线程。图3为本专利技术所述分偏移距的多GPU并行计算流程示意图。图4为不同成像点数下的CPU和GPU计算效率对比图。图5为不同成像点数下的CPU和GPU计算加速比效果图。图6为CPU计算和本专利技术所述方法计算结果对比图。图中,a是CPU计算结果,b是本专利技术所述方法中GPU计算结果,c是二者单道对比结果。图7为本专利技术所述分偏移距的多GPU并行计算流程图。具体实施方式实施例1根据本专利技术所述方法,我们采用数据进行了测试,测试GPU为GTX680,CPU主频为2.5GHz。测试结果如图4和图5所示:其中,横坐标表示成像点数,图4的纵坐标表示计算时间,斜线为CPU计算时间,横线为GPU计算时间,从中可以看出,数据成像空间越大,GPU的加速程度也就越大;图5表示CPU和GPU计算时间的比值,我们可以看到,成像空间越大,加速比越大。图6是CPU计算和本专利技术所述方法计算结果对比,其中图6(a)是CPU计算结果,图6(b)是GPU计算结果,图6(c)为二者单道对比。从图6中可以看出,本专利技术所述方法的计算结果与CPU计算结果无明显差别,结果合理。最后应说明的是:显然,上述实施例仅仅是为清楚地说明本专利技术所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本专利技术的保护范围之中。本文档来自技高网
...

【技术保护点】
一种在多GPU上分偏移距的Kirchhoff类偏移并行计算方法,其特征在于:所述方法采用分偏移距的策略,根据GPU内存的限制,增加参与计算的线程数量,从而充分发挥GPU计算核心多的优势。

【技术特征摘要】
1.一种在多GPU上分偏移距的Kirchhoff类偏移并行计算方法,其特征在于:所述方法采用分偏移距的策略,根据GPU内存的限制,增加参与计算的线程数量,从而充分发挥GPU计算核心多的优势。2.如权利要求1所述的一种在多GPU上分偏移距的Kirchhoff类偏移并行计算方法,其特征在于,所述方法包括如下步骤:1)分发数据:依据参加计算的GPU数量X,将地震数据按偏移距大小等...

【专利技术属性】
技术研发人员:刘国峰李春
申请(专利权)人:中国地质大学北京
类型:发明
国别省市:北京;11

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

1