书签 分享 收藏 举报 版权申诉 / 13

一种应用CPUGPU平台进行地震波逆时偏移成像方法.pdf

  • 上传人:e1
  • 文档编号:5889407
  • 上传时间:2019-03-29
  • 格式:PDF
  • 页数:13
  • 大小:1.34MB
  • 摘要
    申请专利号:

    CN201310545969.2

    申请日:

    2013.11.06

    公开号:

    CN104635258A

    公开日:

    2015.05.20

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G01V 1/28申请日:20131106|||公开

    IPC分类号:

    G01V1/28; G01V1/30; G01V1/34

    主分类号:

    G01V1/28

    申请人:

    中国石油天然气集团公司; 中国石油集团东方地球物理勘探有限责任公司

    发明人:

    吴晓丰; 戴南浔; 武威; 刘磊

    地址:

    100007北京市东城区东直门北大街9号

    优先权:

    专利代理机构:

    北京三友知识产权代理有限公司11127

    代理人:

    任默闻

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供一种应用CPU-GPU平台进行地震波逆时偏移成像方法,应用于反射波地震数据处理技术领域,该方法包括:主控节点根据炮集数据生成任务池;主控节点根据GPU对单炮地震数据执行逆时偏移计算所需的内存大小,确定CPU-GPU并行处理策略,并将该CPU-GPU并行处理策略发送给各从属节点;主控节点启动各从属节点;各从属节点从任务池领取任务,并按照CPU-GPU并行处理策略,利用当前任务所包括的炮地震数据及速度模型进行逆时偏移计算,得到当前任务对应的单炮逆时偏移结果;主控节点对各项任务对应的单炮逆时偏移结果进行叠加处理,得到炮集数据对应的逆时偏移成像剖面。本发明充分发挥了CPU-GPU平台并行计算的能力,节省了一个炮点波场模拟的过程,具有并行程度高,易于实现的优点。

    权利要求书

    权利要求书
    1.  一种应用CPU-GPU平台进行地震波逆时偏移成像方法,其特征在于,应用于包括 一个主控节点及多个从属节点的CPU-GPU平台,所述主控节点包括一个CPU,所述从属节 点包括一个CPU及两个GPU,所述方法包括:
    所述主控节点根据炮集数据生成任务池,所述任务池包含至少一个任务,所述至少一 个任务与所述炮集数据中的炮一一对应,且所述任务包括对应炮的地震数据及速度模型;
    所述主控节点根据GPU对单炮地震数据执行逆时偏移计算所需的内存大小,确定 CPU-GPU并行处理策略,并将该CPU-GPU并行处理策略发送给各从属节点;
    所述主控节点启动所述各从属节点;
    所述各从属节点从所述任务池领取任务,并按照所述CPU-GPU并行处理策略,利用当 前任务所包括的炮地震数据及速度模型进行逆时偏移计算,得到当前任务对应的单炮逆时 偏移结果;
    所述主控节点对所述各项任务对应的单炮逆时偏移结果进行叠加处理,得到所述炮集 数据对应的逆时偏移成像剖面;
    其中,所述CPU-GPU并行处理策略为:
    策略一,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个GPU 利用自身缓存各对一炮地震数据进行逆时偏移计算;或,
    策略二,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个GPU 利用自身缓存和CPU内存各对一炮地震数据进行逆时偏移计算;或,
    策略三,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个GPU 利用自身缓存共同对一炮地震数据进行逆时偏移计算。

    2.  根据权利要求1所述的方法,其特征在于,所述主控节点确定CPU-GPU并行处理策 略之前,所述方法还包括:
    所述主控节点根据逆时偏移计算参数,计算GPU对单炮地震数据执行逆时偏移计算所 需内存的大小,所述逆时偏移计算参数包括偏移孔径、计算网格、偏移频率。

    3.  根据权利要求2所述的方法,其特征在于,所述主控节点根据GPU对单炮地震数据 执行逆时偏移计算所需的内存大小,确定CPU-GPU并行处理策略,具体为:
    确定所述GPU对单炮地震数据执行逆时偏移计算所需的内存小于GPU自身缓存时,选 择所述策略一;
    确定所述GPU对单炮地震数据执行逆时偏移计算所需的内存与GPU自身缓存的差值 小于设定值时,选择所述策略二;
    确定所述GPU对单炮地震数据执行逆时偏移计算所需的内存与GPU自身缓存的差值 大于等于设定值时,选择所述策略三。

    说明书

    说明书一种应用CPU-GPU平台进行地震波逆时偏移成像方法
    技术领域
    本发明涉及反射波地震数据处理技术领域,具体地,涉及一种应用CPU-GPU平台进行 地震波逆时偏移成像方法。
    背景技术
    基于全声波方程的逆时偏移方法通过在时间-空间域用显示高阶有限差分算法直接求 解全声波偏微分方程,真实地模拟了波的传播现象。该方法完全遵守波动方程,不存在倾 角限制,可适用于速度场的急剧变化,在三维复杂构造成像方面具备明显优势,成像精度 高。
    由于采用了有限差分算法以及需要保存大量的震源波场数据,相对其它偏移算法,逆 时偏移方法的运算成本依然很高。不断提高计算效率是近年逆时偏移技术发展的重要课题 之一。以2001年NVIDIA公司推出的可用于编程的GPU芯片为标志,近年来发展的GPU通 用并行计算技术,已日趋实用成型,获得诸多应用领域的广泛关注。利用并行集群服务器 提供的CPU-GPU平台做高性能并行计算是适应石油工业中大规模计算需求的一个主流发 展方向。市面上提供的并行集群服务器一般都具有多个计算节点,包括一个主节点和多个 从属节点,由于主节点不参与计算,所以一般选择没有配备GPU的节点作为主节点,配备 GPU的节点作为从属节点用作高效计算,从属节点中通常包括一个CPU和两个GPU。
    目前,利用CPU-GPU平台的逆时偏移技术是国际各大公司的特色技术之一,各个公司 所采取的并行方式也各不相同,一个出色的并行框架能够充分利用集群的计算资源,最大 程度的节约逆时偏移的运算成本,是开发逆时偏移商业化软件的必备因素之一。
    但目前利用CPU-GPU平台的逆时偏移技术大多采用的是主奴模式的并行计算处理,这 种模式的特点是:由主节点将任务平均分配给多个从属节点;由主节点完成向从属节点传 递数据和速度模型,以及收集从属节点计算的偏移结果的工作;若某一从属节点发生故障, 则全部节点都要暂停,等到故障消除后,再启动全部节点继续工作;若某一从属节点损坏, 则整个项目都要重新开始。可见,这种主奴模式的并行计算处理中各节点间的运算不够独 立,并不能充分发挥集群的计算能力。
    此外,利用CPU-GPU平台实现逆时偏移技术的难点之一是平衡GPU的髙效计算能力和 数据存取负荷之间的矛盾。这是由于在逆时偏移算法中,炮点波场的模拟和检波点波场的 重建是在相反的时序方向上进行的,而成像过程要求同一时刻的两个波场做互相关,这就 需要把先计算的炮点波场保存下来,在检波点波场的重建过程中再读取相应时刻的炮点波 场,做互相关运算而成像,炮点波场为一个四维(三维空间加一维时间)数据体,规模较 大,数据存取所需的时间可能远超过GPU的运算时间,因此,在CPU-GPU平台上实现逆时 偏移的困难在于如何减少数据存取所占用的计算机时间。现有的解决方案之一是用GPU的 计算时间换取数据存储时间,其过程为:(1)先顺时序模拟炮点波场,不保存波场;(2) 用最后几个时刻的波场逆时重建炮点波场,同时也同步地逆时计算重建的检波点波场; (3)在相同的时刻做两个波场的相关以成像。这种方案虽然没有了波场存取的问题,但 是却存在如下问题:炮点波场却计算了两遍;为了可以逆时重建炮点波场,整个过程中波 场能量必须保持在计算区域内,不可泄漏,因此不宜使用吸收边界条件;为回避相干的计 算域边界反射,需要在计算区域的各个边界面上加上一个随机速度带,用随机的人为反射 替代相干的人为反射,但是随即速度带将会带来反射噪声,给计算结果带来影响。
    发明内容
    本发明实施例的主要目的在于提供一种应用CPU-GPU平台进行地震波逆时偏移成像 方法,以提供一种能够充分发挥CPU-GPU平台的集群并行处理能力的逆时偏移成像技术。
    为了实现上述目的,本发明实施例提供一种应用CPU-GPU平台进行地震波逆时偏移成 像方法,应用于包括一个主控节点及多个从属节点的CPU-GPU平台,所述主控节点包括一 个CPU,所述从属节点包括一个CPU及两个GPU,所述方法包括:
    所述主控节点根据炮集数据生成任务池,所述任务池包含至少一个任务,所述至少一 个任务与所述炮集数据中的炮一一对应,且所述任务包括对应炮的地震数据及速度模型;
    所述主控节点根据GPU对单炮地震数据执行逆时偏移计算所需的内存大小,确定 CPU-GPU并行处理策略,并将该CPU-GPU并行处理策略发送给各从属节点;
    所述主控节点启动所述各从属节点;
    所述各从属节点从所述任务池领取任务,并按照所述CPU-GPU并行处理策略,利用当 前任务所包括的炮地震数据及速度模型进行逆时偏移计算,得到当前任务对应的单炮逆时 偏移结果;
    所述主控节点对所述各项任务对应的单炮逆时偏移结果进行叠加处理,得到所述炮集 数据对应的逆时偏移成像剖面;
    其中,所述CPU-GPU并行处理策略为:
    策略一,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个GPU 利用自身缓存各对一炮地震数据进行逆时偏移计算;或,
    策略二,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个GPU 利用自身缓存和CPU内存各对一炮地震数据进行逆时偏移计算;或,
    策略三,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个GPU 利用自身缓存共同对一炮地震数据进行逆时偏移计算。
    借助于上述技术方案,本发明考虑了GPU自身的缓存可能不足以满足进行逆时偏移计 算的需求,提出了首先由主控节点选择合适的CPU-GPU并行处理策略,再由各从属节点根 据CPU-GPU并行处理策略处理任务的处理模式,从整体上提高了CPU-GPU平台的资源利 用率,充分发挥了CPU-GPU平台并行计算的能力,同时与现有技术通过用GPU的计算时间 换取数据存储时间以平衡GPU髙效计算能力和数据存取负荷之间的矛盾相比,本发明节省 了一个炮点波场模拟的过程,而且没有来自随机速度带的反射噪声。本发明方法还具有并 行程度高,易于实现的优点,满足了逆时偏移成像商业化软件的开发以及工业化生产的需 要。
    附图说明
    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附 图获得其他的附图。
    图1是本发明提供的应用CPU-GPU平台进行地震波逆时偏移成像方法的流程示意图;
    图2是本发明提供的从属节点采用策略一时的CPU-GPU处理示意图;
    图3是本发明提供的从属节点采用策略二时的CPU-GPU处理示意图;
    图4是本发明提供的从属节点采用策略三时的CPU-GPU处理示意图;
    图5是本发明实施例提供的逆时偏移成像的计算效率统计结果;
    图6是本发明实施例提供的逆时偏移成像结果剖面图。
    具体实施方式
    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地 描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实 施例,都属于本发明保护的范围。
    本发明提供一种应用CPU-GPU平台进行地震波逆时偏移成像方法,应用于包括一个主 控节点及多个从属节点的CPU-GPU平台,所述主控节点包括一个CPU,所述从属节点包括 一个CPU及两个GPU,如图1所示,该方法包括:
    步骤S11,主控节点根据炮集数据生成任务池,所述任务池包含至少一个任务,所述 至少一个任务与所述炮集数据中的炮一一对应,且所述任务包括对应炮的地震数据及速度 模型。
    步骤S12,主控节点根据GPU对单炮地震数据执行逆时偏移计算所需的内存大小,确 定CPU-GPU并行处理策略,并将该CPU-GPU并行处理策略发送给各从属节点。
    本发明中,CPU-GPU并行处理策略可以为:
    策略一,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个GPU 利用自身缓存各对一炮地震数据进行逆时偏移计算;或,
    策略二,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个GPU 利用自身缓存和CPU内存各对一炮地震数据进行逆时偏移计算;或,
    策略三,每一从属节点中的CPU对一炮地震数据进行逆时偏移计算,同时,两个GPU 利用自身缓存共同对一炮地震数据进行逆时偏移计算。
    具体的,炮地震数据的不同或逆时偏移计算参数的不同都会影响到GPU执行逆时偏移 计算所需的内存大小,本发明中,主控节点可以对GPU所要处理的炮地震数据以及时偏移 计算参数综合考虑后,再确定GPU执行逆时偏移计算所需的内存大小。
    由于同一炮集数据中不同炮的地震数据量差别不大,当逆时偏移计算参数相同时,针 对不同的炮地震数据,GPU执行逆时偏移计算所需的内存大小也差别很小。但是,逆时偏 移计算参数对整个计算的影响却很大,例如偏移孔径增大、计算网格间隔减小或者偏移频 率提高都能够使得逆时偏移计算所需的内存增大。因此具体实施时,为了简化计算过程, 提高计算效率,主控节点可以仅根据逆时偏移计算参数来确定GPU执行逆时偏移计算所需 的内存大小。即一种较佳的实施例中,主控节点可以先根据所述逆时偏移计算参数,计算 GPU对单炮地震数据执行逆时偏移计算所需内存的大小,然后再确定CPU-GPU并行处理策 略。本发明中的逆时偏移计算参数包括偏移孔径、计算网格、偏移频率及速度场。
    步骤S13,主控节点启动各从属节点。
    步骤S14,各从属节点从所述任务池领取任务,并按照所述CPU-GPU并行处理策略, 利用当前任务所包括的炮地震数据及速度模型进行逆时偏移计算,得到当前任务对应的单 炮逆时偏移结果。
    考虑到GPU自身的缓存可能不足以满足进行逆时偏移计算的需求,本发明中首先由主 控节点选择合适的CPU-GPU并行处理策略,再由各从属节点根据确定好的CPU-GPU并行 处理策略处理任务,从整体上提高了CPU-GPU平台的资源利用率,充分发挥了CPU-GPU 平台并行计算的能力。
    步骤S15,主控节点对所述各项任务对应的单炮逆时偏移结果进行叠加处理,得到所 述炮集数据对应的逆时偏移成像剖面。
    在一种较佳的实施例中,主控节点根据GPU对单炮地震数据执行逆时偏移计算所需的 内存大小,确定CPU-GPU并行处理策略,具体为:
    确定所述GPU对单炮地震数据执行逆时偏移计算所需的内存小于GPU自身缓存时,选 择所述策略一;
    确定所述GPU对单炮地震数据执行逆时偏移计算所需的内存与GPU自身缓存的差值 小于设定值时,选择所述策略二;
    确定所述GPU对单炮地震数据执行逆时偏移计算所需的内存与GPU自身缓存的差值 大于等于设定值时,选择所述策略三。
    其中,选择所述策略二或策略三时,需要用到一设定值作为判断标准,对此设定值的 大小本发明不作具体限定,可以根据实际中处理速度或结果精确性的需要进行设定。一般 的,当GPU自身缓存明显不够执行逆时偏移计算所需的内存时,才选择策略三。
    如图2所示为从属节点采用策略一时的CPU-GPU处理示意图,其中,CPU自己计算一 炮地震数据S0,两个GPU各计算一炮地震数据,分别为S1和S2,计算过程中,GPU仅利用 自身缓存就可以满足计算要求。
    如图3所示为从属节点采用策略二时的CPU-GPU处理示意图,其中,CPU自己计算一 炮地震数据S0,两个GPU各计算一炮地震数据,分别为S1和S2,计算过程中,GPU不仅利 用自身缓存,还需要借用CPU的内存才可以满足计算要求。
    如图4所示为从属节点采用策略三时的CPU-GPU处理示意图,其中,CPU自己计算一 炮地震数据S0,两个GPU共同计算一炮地震数据,分别为S1-1和S1-2,由于一炮地震数据 被分为了两份,计算过程中,GPU仅利用自身缓存就可以满足计算要求。具体实施时,CPU 可以将一炮地震数据平均分为两份,再交由两个GPU分别处理。
    实施例
    本实施例对上述方法的一种具体执行过程进行介绍:
    步骤A11,主控节点根据炮集数据生成微型任务池(即Task Pool)存储于RAID共享盘 中,该任务池包含多个任务,这多个任务与炮集数据中各个炮的地震数据一一对应,每一 任务包括所对应炮的地震数据及速度模型;
    步骤A12,主控节点根据逆时偏移计算的偏移孔径、计算网格、偏移频率等参数,计 算出GPU对单炮地震数据执行逆时偏移计算所需内存的大小;
    步骤A13,主控节点根据GPU自身缓存的大小及GPU对单炮地震数据执行逆时偏移计 算所需内存的大小,决定选择哪一种CPU-GPU并行处理策略,然后将选择出的CPU-GPU 并行处理策略发送给各从属节点;
    步骤A14,主控节点依次启动所述各从属节点;
    步骤A15,从属节点启动后,其处理过程如下:
    首先,该从属节点的CPU到共享盘中领取一项未处理的任务,将其存到该从属节点的 本地盘中,此时,该从属节点中的CPU及两个GPU都没有执行逆时偏移计算(以下将没有 执行逆时偏移计算的状态称为空闲状态),按照默认设置的处理顺序,该从属节点中的CPU 或者GPU到本地盘中读取该任务开始执行;
    由于此时该从属节点还未满负荷,CPU再继续到共享盘中领取下一项未处理的任务, 并存到本地盘中,由当前处于空闲状态的CPU或GPU进行处理;依此类推,直到该从属节 点满负荷为止;
    当该从属节点中的CPU或者GPU完成一项任务时,此时该从属节点不再满负荷,处于 空闲状态的CPU或GPU发起下一项任务请求,由该节点的CPU继续到共享盘中领取下一项 未处理的任务,领取后由发起该任务请求的CPU或GPU进行处理;依此类推,直到任务池 中的任务全部执行完毕;
    在上述从属节点的处理过程中,CPU与GPU都要遵循主控节点确定的策略进行,即根 据策略的要求,两个GPU是各处理一炮地震数据还是共同处理一炮地震数据,GPU仅利用 自身缓存执行逆时偏移计算,还是在利用自身缓存的同时借用CPU内存执行逆时偏移计算; 其中,当对应策略三,两个GPU需要共同处理一炮地震数据时,CPU还需要将一项任务中 的炮地震数据均分为两份再存储于本地盘中;
    在上述从属节点的处理过程中,每当CPU或者GPU执行完成逆时偏移处理,得到相应 的单炮逆时偏移结果时,都由CPU负责将得到的单炮逆时偏移结果存储于本地盘中;
    在上述从属节点的处理过程中,CPU或者GPU利用当前任务所包括的炮地震数据及速 度模型进行逆时偏移计算的过程包括如下步骤:
    步骤B11,执行该计算的CPU或者GPU在该任务对应的炮点位置放置子波,然后进行 有限差分以及边界条件计算,实现炮点波场模拟,与此同时,CPU将设定时间间隔的炮点 波场进行压缩并存储于本地盘中;
    步骤B12,执行该计算的CPU或者GPU从本地盘读取该任务的炮地震数据,然后进行 有限差分以及边界条件计算,实现检波点波场模拟,与此同时,CPU将存储于本地盘中的 炮点波场进行解压缩,提供给执行该计算的CPU或者GPU进行互相关成像,得到单炮逆时 偏移结果。
    步骤A16,任务池中的任务全部执行完毕后,主控节点从各从属节点的本地盘上获取 各炮对应的单炮逆时偏移结果,并按照速度场模型,对各炮对应的单炮逆时偏移结果进行 叠加处理,得到炮集数据对应的逆时偏移成像剖面。
    执行该步骤时,为了提高叠加处理速度,在主控节点从各从属节点的本地盘上获取各 炮对应的单炮逆时偏移结果之前,可以先由各从属节点的CPU根据速度场模型对本地盘中 的单炮逆时偏移结果进行预叠加处理,再将这种预叠加处理的结果发送给主控节点。也就 是说,从属节点分担了一部分主控节点叠加处理的工作,从而提高了叠加处理效率,缩短 了处理时间。
    图5为本实施例对中亚某区块实际地震数据进行逆时偏移成像的计算效率统计,图6为 最终得到的逆时偏移成像剖面图;图5从左到右分别显示了节点名称、节点工作状态、节 点完成炮数以及节点完成一炮计算的平均时间,本例中,CPU计算一炮的平均时间为29分 钟左右,GPU计算一炮平均时间为12分钟左右,也就是说每个从属节点可同时计算三炮地 震数据。
    根据上述具体执行过程可知,本发明在进行逆时偏移成像处理时采用的处理模式(以 下简称自治并行模式)与现有的逆时偏移成像技术采用的处理模式(以下简称传统并行模 式)完全不同,表1对这两种处理模式进行了对比:
    表1


    从表1可知本发明采用的自治并行模式具有如下特点:效率更高,从属节点出故障时, 只需出故障的节点从断点重启;允许非均匀机群协同工作;其自然负荷均衡机制确保非均 匀集群几乎所有节点同时完成项目的计算任务;在项目运算过程中,用户可以自由地中断 /删除/添加从属节点,以上操作对正在运算的其他节点没有任何影响。
    此外,通过分析上述具体执行过程可知,本发明采用了如下模式平衡GPU的髙效计算 能力和数据存取负荷之间的矛盾:在GPU的高效处理能力进行炮点波场模拟的同时,CPU 并行地进行压缩及写盘,由于压缩算法本身的效率和压缩比都很高,这使得CPU完成压缩 和写盘过程所需的时间完全可以隐含在GPU做有限差分运算的时间之中。同样,在GPU做 检波点波场模拟的同时,CPU并行地读取和解压缩炮点波场,并与检波点波场做互相关成 像,这一过程所需的时间也完全隐含于GPU的运算时间之中。
    可见,与现有技术用GPU的计算时间换取数据存储时间相比,本发明节省了一个炮点 波场模拟的过程,而且没有来自随机速度带的反射噪声。
    综上所述,本发明提供的应用CPU-GPU平台进行地震波逆时偏移成像方法具有以下有 益效果:
    (1)充分利用了CPU-GPU集群的计算资源,提高了应用CPU-GPU平台进行逆时偏移 成像的效率;
    (2)具有并行程度高,易于实现的优点,满足了逆时偏移技术的商业化软件开发以 及工业化生产的需要。
    以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说 明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护 范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明的保护范围之内。

    关 键  词:
    一种 应用 CPUGPU 平台 进行 地震波 偏移 成像 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种应用CPUGPU平台进行地震波逆时偏移成像方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-5889407.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1