一种应用cpu-gpu平台进行地震波逆时偏移成像方法

文档序号:8318092阅读:642来源:国知局
一种应用cpu-gpu平台进行地震波逆时偏移成像方法
【技术领域】
[0001] 本发明涉及反射波地震数据处理技术领域,具体地,涉及一种应用CPU-GPU平台 进行地震波逆时偏移成像方法。
【背景技术】
[0002] 基于全声波方程的逆时偏移方法通过在时间-空间域用显示高阶有限差分算法 直接求解全声波偏微分方程,真实地模拟了波的传播现象。该方法完全遵守波动方程,不存 在倾角限制,可适用于速度场的急剧变化,在三维复杂构造成像方面具备明显优势,成像精 度高。
[0003] 由于采用了有限差分算法以及需要保存大量的震源波场数据,相对其它偏移算 法,逆时偏移方法的运算成本依然很高。不断提高计算效率是近年逆时偏移技术发展的重 要课题之一。以2001年NVIDIA公司推出的可用于编程的GPU芯片为标志,近年来发展的 GTO通用并行计算技术,已日趋实用成型,获得诸多应用领域的广泛关注。利用并行集群服 务器提供的CPU-GPU平台做高性能并行计算是适应石油工业中大规模计算需求的一个主 流发展方向。市面上提供的并行集群服务器一般都具有多个计算节点,包括一个主节点和 多个从属节点,由于主节点不参与计算,所以一般选择没有配备GPU的节点作为主节点,配 备GPU的节点作为从属节点用作高效计算,从属节点中通常包括一个CPU和两个GPU。
[0004] 目前,利用CPU-GPU平台的逆时偏移技术是国际各大公司的特色技术之一,各个 公司所采取的并行方式也各不相同,一个出色的并行框架能够充分利用集群的计算资源, 最大程度的节约逆时偏移的运算成本,是开发逆时偏移商业化软件的必备因素之一。
[0005] 但目前利用CPU-GPU平台的逆时偏移技术大多采用的是主奴模式的并行计算处 理,这种模式的特点是:由主节点将任务平均分配给多个从属节点;由主节点完成向从属 节点传递数据和速度模型,以及收集从属节点计算的偏移结果的工作;若某一从属节点发 生故障,则全部节点都要暂停,等到故障消除后,再启动全部节点继续工作;若某一从属节 点损坏,则整个项目都要重新开始。可见,这种主奴模式的并行计算处理中各节点间的运算 不够独立,并不能充分发挥集群的计算能力。
[0006] 此外,利用CPU-GPU平台实现逆时偏移技术的难点之一是平衡GPU的髙效计算能 力和数据存取负荷之间的矛盾。这是由于在逆时偏移算法中,炮点波场的模拟和检波点波 场的重建是在相反的时序方向上进行的,而成像过程要求同一时刻的两个波场做互相关, 这就需要把先计算的炮点波场保存下来,在检波点波场的重建过程中再读取相应时刻的炮 点波场,做互相关运算而成像,炮点波场为一个四维(三维空间加一维时间)数据体,规模较 大,数据存取所需的时间可能远超过GPU的运算时间,因此,在CPU-GPU平台上实现逆时偏 移的困难在于如何减少数据存取所占用的计算机时间。现有的解决方案之一是用GPU的计 算时间换取数据存储时间,其过程为:(1)先顺时序模拟炮点波场,不保存波场;(2)用最 后几个时刻的波场逆时重建炮点波场,同时也同步地逆时计算重建的检波点波场;(3)在 相同的时刻做两个波场的相关以成像。这种方案虽然没有了波场存取的问题,但是却存在 如下问题:炮点波场却计算了两遍;为了可以逆时重建炮点波场,整个过程中波场能量必 须保持在计算区域内,不可泄漏,因此不宜使用吸收边界条件;为回避相干的计算域边界反 射,需要在计算区域的各个边界面上加上一个随机速度带,用随机的人为反射替代相干的 人为反射,但是随即速度带将会带来反射噪声,给计算结果带来影响。

【发明内容】

[0007] 本发明实施例的主要目的在于提供一种应用CPU-GPU平台进行地震波逆时偏移 成像方法,以提供一种能够充分发挥CPU-GPU平台的集群并行处理能力的逆时偏移成像技 术。
[0008] 为了实现上述目的,本发明实施例提供一种应用CPU-GPU平台进行地震波逆时偏 移成像方法,应用于包括一个主控节点及多个从属节点的CPU-GPU平台,所述主控节点包 括一个CPU,所述从属节点包括一个CPU及两个GPU,所述方法包括 :
[0009] 所述主控节点根据炮集数据生成任务池,所述任务池包含至少一个任务,所述至 少一个任务与所述炮集数据中的炮一一对应,且所述任务包括对应炮的地震数据及速度模 型;
[0010] 所述主控节点根据GPU对单炮地震数据执行逆时偏移计算所需的内存大小,确定 CPU-GPU并行处理策略,并将该CPU-GPU并行处理策略发送给各从属节点;
[0011] 所述主控节点启动所述各从属节点;
[0012] 所述各从属节点从所述任务池领取任务,并按照所述CPU-GPU并行处理策略,利 用当前任务所包括的炮地震数据及速度模型进行逆时偏移计算,得到当前任务对应的单炮 逆时偏移结果;
[0013] 所述主控节点对所述各项任务对应的单炮逆时偏移结果进行叠加处理,得到所述 炮集数据对应的逆时偏移成像剖面;
[0014] 其中,所述CPU-GPU并行处理策略为:
[0015] 策略一,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个 GTO利用自身缓存各对一炮地震数据进行逆时偏移计算;或,
[0016] 策略二,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个 GI3U利用自身缓存和CPU内存各对一炮地震数据进行逆时偏移计算;或,
[0017] 策略三,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个 GTO利用自身缓存共同对一炮地震数据进行逆时偏移计算。
[0018] 借助于上述技术方案,本发明考虑了 GPU自身的缓存可能不足以满足进行逆时偏 移计算的需求,提出了首先由主控节点选择合适的CPU-GPU并行处理策略,再由各从属节 点根据CPU-GPU并行处理策略处理任务的处理模式,从整体上提高了 CPU-GPU平台的资源 利用率,充分发挥了 CPU-GPU平台并行计算的能力,同时与现有技术通过用GPU的计算时间 换取数据存储时间以平衡GPU髙效计算能力和数据存取负荷之间的矛盾相比,本发明节省 了一个炮点波场模拟的过程,而且没有来自随机速度带的反射噪声。本发明方法还具有并 行程度高,易于实现的优点,满足了逆时偏移成像商业化软件的开发以及工业化生产的需 要。
【附图说明】
[0019] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。
[0020] 图1是本发明提供的应用CPU-GPU平台进行地震波逆时偏移成像方法的流程示意 图;
[0021] 图2是本发明提供的从属节点采用策略一时的CPU-GPU处理示意图;
[0022] 图3是本发明提供的从属节点采用策略二时的CPU-GPU处理示意图;
[0023] 图4是本发明提供的从属节点采用策略三时的CPU-GPU处理示意图;
[0024] 图5是本发明实施例提供的逆时偏移成像的计算效率统计结果;
[0025] 图6是本发明实施例提供的逆时偏移成像结果剖面图。
【具体实施方式】
[0026] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0027] 本发明提供一种应用CPU-GPU平台进行地震波逆时偏移成像方法,应用于包括一 个主控节点及多个从属节点的CPU-GPU平台,所述主控节点包括一个CPU,所述从属节点包 括一个CPU及两个GPU,如图1所示,该方法包括 :
[0028] 步骤S11,主控节点根据炮集数据生成任务池,所述任务池包含至少一个任务,所 述至少一个任务与所述炮集数据中的炮一一对应,且所述任务包括对应炮的地震数据及速 度模型。
[0029] 步骤S12,主控节点根据GPU对单炮地震数据执行逆时偏移计算所需的内存大小, 确定CPU-GPU并行处理策略,并将该CPU-GPU并行处理策略发送给各从属节点。
[0030] 本发明中,CPU-GPU并行处理策略可以为:
[0031] 策略一,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个 GTO利用自身缓存各对一炮地震数据进行逆时偏移计算;或,
[0032] 策略二,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个 GI3U利用自身缓存和CPU内存各对一炮地震数据进行逆时偏移计算;或,
[0033] 策略三,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个 GTO利用自身缓存共同对一炮地震数据进行逆时偏移计算。
[0034] 具体的,炮地震数据的不同或逆时偏移计算参数的不同都会影响到GPU执行逆时 偏移计算所需的内存大小,本发明中,主控节点可以对GPU所要处理的炮地震数据以及时 偏移计算参数综合考虑后,再确定GPU执行逆时偏移计算所需的内存大小。
[0035] 由于同一炮集数据中不同炮的地震数据量差别不大,当逆时偏移计算参数相同 时,针对不同的炮地震数据,GPU执行逆时偏移计算所需的内存大小也差别很小。但是,逆 时偏移计算参数对整个计算的影响却很大,例如偏移孔径增大、计算网格间隔减小或者偏 移频率提高都能够使得逆时偏移计算所需的内存增大。因此具体实施时,为了简化计算过 程,提高计算效率,主控节点可以仅根据逆时偏移计算参数来确定GPU执行逆时偏移计算 所需的内存大小。即一种较佳的实施例中,主控节点可以先根据所述逆时偏移计算参数,计 算GPU对单炮地震数据执行逆时偏移计算所需内存的大小,然后再确定CPU-GPU并行处理 策略。本发明中的逆时偏移计算参数包括偏移孔径、计算网格、偏移频率及速度场。
[0036] 步骤S13,主控节点启动各从属节点。
[0037] 步骤S14,各从属节点从所述任务池领取任务,并按照所述CPU-GPU并行处理策 略,利用当前任务所包括的炮地震数据及速度模型进行逆时偏移计算,得到当前任务对应 的单炮逆时偏移结果。
[0038] 考虑到GPU自身的缓存可能不足以满足进行逆时偏移计算的需求,本发明中首先 由主控节点选择合适的CPU-GPU并行处理策略,再由各从属节点根据确定好的CPU-GPU并 行处理策略处理任务,从整体上
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1