CN104570080A - 一种海量数据叠前逆时偏移多gpu卡协同快速计算方法 - Google Patents
一种海量数据叠前逆时偏移多gpu卡协同快速计算方法 Download PDFInfo
- Publication number
- CN104570080A CN104570080A CN201310517925.9A CN201310517925A CN104570080A CN 104570080 A CN104570080 A CN 104570080A CN 201310517925 A CN201310517925 A CN 201310517925A CN 104570080 A CN104570080 A CN 104570080A
- Authority
- CN
- China
- Prior art keywords
- gpu
- data
- imaging
- space
- reverse
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Geophysics And Detection Of Objects (AREA)
Abstract
本发明公开了一种积分法叠前时间偏移地震资料处理方法,该方法预先分析积分法叠前时间偏移计算方法和数据访问特点,在数据管理和访问采用MapReduce框架,在具体的偏移计算时采用CUDA编程实现CPU/GPU异构集群协同加速。具体步骤包括:地震数据准备、输入数据划分、偏移任务运行、启动Reduce操作将各节点分布式文件系统中的临时成像结果进行合并、输出最终成像结果。本发明同时还公开了一种积分法叠前时间偏移地震资料处理系统。与传统基于CPU集群的叠前时间偏移方法相比,本发明所提供的方法成像清晰,更加方便海量数据的处理,提高计算效率15倍,处理效率大幅提升。
Description
技术领域
本发明属于地震资料处理领域,具体涉及一种海量数据叠前逆时偏移多GPU卡协同快速计算方法。
背景技术
三维叠前逆时深度偏移是目前最精确的一种成像方法,计算量大是制约其应用的瓶颈。高性能计算设备GPU及其CUDA编程模型的出现,为逆时偏移快速计算提供了新的机遇。相比传统的微机群技术,GPU具有更多的计算核心,更高的数据传输带宽,可以大幅提高计算密集型算法的运算效率。在逆时偏移实现过程中,通常采用高阶有限差分求解波动方程实现波场延拓。有限差分是一个局部化算法,波场延拓时仅需要周围空间的信息。显式差分计算可以抽象为矩阵数乘与矩阵求和的形式,非常适合于GPU运算。包括中国石化胜利油田分公司物探研究院在内的国内多家研究单位,在利用GPU平台实现逆时偏移快速计算方面有很多成功的实践。但以往实现方法均是针对较小规模单炮数据开发的单GPU卡快速计算方法。然而,为满足精细勘探的要求,野外地震采集数据的规模持续增大。对基于炮集的逆时偏移而言,大规模地震数据带来的挑战是单炮成像空间规模增大,波场外推计算量增大。数据规模的增大也进一步带来了数据传输与磁盘占有量的增大。特别在对大规模地震数据进行基于炮集的逆时偏移计算时,所需要的内存空间达到6-10GB。在此情况下,目前任何一款独立GPU的显存都难以存放整个偏移空间数据。这就导致以往基于单个GPU实现逆时偏移快速计算的策略不再满足需要,制约了叠前逆时偏移技术在实际地震资料成像处理中的应用。
发明内容
野外地震采集数据规模逐渐增大,基于单GPU卡的三维叠前逆时偏移快速计算方法在应用过程中,遇到单GPU显存无法满足偏移计算内存需要的难题,制约了叠前逆时偏移这一精确成像技术在大规模实际地震数据成像处理中的应用。为了能够利用叠前逆时偏移技术处理大规模地震数据,实现该方法的实用化,发明了海量地震数据叠前逆时偏移多GPU卡协同快速计算方法。
本发明采用的技术方案是:
一种海量数据叠前逆时偏移多GPU卡协同快速计算方法,其特征在于:包括下列步骤:
(1)根据单炮数据的逆时偏移成像空间规模与计算节点GPU设备资源状况,对单炮数据的成像空间进行分解,为每个GPU分配进行有限差分计算和成像的数据;
(2)在每个数据分解边界外增加一定空间用于存放来自相邻GPU的差分结果,称为缓冲区;
(3)在每个GPU对分解边界以内,设立与缓冲区范围相同的空间进行有限差分计算,称为计算区域;
(4)在每个GPU完成各自剩余数据空间的有限差分计算,同时通过缓冲区完成与相邻GPU的计算区域的数据交换。
作为优选,所述相邻GPU之间的数据交换通过CPU内存为中转来实现。
作为优选,所述GPU为具有统一存储器地址空间(Unified Virtual Addressing,UVA)的Fermi架构或比Fermi架构更新的架构的GPU;利用CUDA4.0或CUDA4.0更新的版本和上述GPU设备,实现相同IOH下的GPU间内存数据的点对点(peer-to-peer,P2P)通讯,无需通过系统内存进行中转。
作为优选,在对单炮数据的成像空间进行分解时,以尽量减小传递数据的规模为原则选择空间分解的方向。
本发明在地震数据区域分解基础上,基于点对点(peer-to-peer,P2P)数据交换技术,研究形成了多GPU协同的三维叠前逆时偏移快速计算方法,开发了海量地震数据逆时偏移在CPU/GPU异构平台上的实用化算法和技术,并在多块三维实际地震数据中进行了应用。
本项发明很好地利用了CUDA程序语言和Fermi及以上架构GPU设备所具备的性能,基于多GPU卡间能够进行点对点(P2P)直接数据通讯技术,实现了多GPU卡有限差分快速计算,解决了单GPU显存无法满足海量地震数据叠前逆时偏移对内存空间的要求,实现了任意规模三维地震数据的叠前逆时偏移成像。基于P2P技术,多GPU卡间数据交换时间可以完全隐藏在有限差分核函数计算时间内,叠前逆时偏移的整体计算效率未受到卡间数据传递时间的影响。实际地震资料成像处理应用表明,基于P2P数据交换的海量数据叠前逆时偏移多GPU卡协同快速计算方法的整体计算效率高,且成像效果理想,总体性能达到可实用化水平。
附图说明
图1是双GPU卡地震数据区域分解与分配示意图
图2 是双GPU协同计算与数据交换策略示意图。
图3a是在传统GPU Direct1.0技术下数据传输示意图。
图3b是在 GPU Direct2.0技术下数据传输示意图。
图4a是应用本发明方法的叠前逆时深度偏移成像结果。
图4b是Kirchhoff叠前深度偏移成像结果。
具体实施方式
下面,结合附图和具体实施例对本发明做进一步说明。
实施例1。一种海量数据叠前逆时偏移多GPU卡协同快速计算方法,包括下列步骤:
(1)根据单炮数据的逆时偏移成像空间规模与计算节点GPU设备资源状况,对单炮数据的成像空间进行分解,为每个GPU分配进行有限差分计算和成像的数据;
(2)在每个数据分解边界外增加一定空间用于存放来自相邻GPU的差分结果,称为缓冲区;
(3)在每个GPU对分解边界以内,设立与缓冲区范围相同的空间进行有限差分计算,称为计算区域;
(4)在每个GPU完成各自剩余数据空间的有限差分计算,同时通过缓冲区完成与相邻GPU的计算区域的数据交换。
具体的步骤是:
地震数据区域分解,就是根据单炮数据的逆时偏移成像空间规模与计算节点GPU设备资源状况,沿地表空间X(或Y)方向对单炮数据的成像空间进行分解(如图1所示,沿X方向)。每个GPU负责完成所分配数据的有限差分计算和成像。以两个GPU协同完成一炮数据的M阶有限差分计算为例。设单炮数据在X方向的空间网格点数为Nx,则每个GPU负责计算X方向上Nx/2个网格范围的数据。同时,考虑到每个外推时间步骤的差分计算需要相邻空间点的波场值,为了确保分解边界处波场差分计算的正确性,需要在每个数据分解边界外增加厚度为M/2的空间(M为差分阶数)用于存放来自相邻GPU的差分结果,称为缓冲区。两个相邻GPU卡之间需进行数据交换,且数据传递必须高效。为此,需在计算之初,合理选择成像空间分解的方向(如图1为X方向),以尽量减小传递数据的规模。
在对地震数据完成区域分解的基础上,研究了多GPU协同实现单炮逆时偏移计算的方法。以双GPU卡协同计算为例,每个时间步的计算可分为两个主要步骤(如图2所示)。
步骤一(S1),每个GPU对分解边界以内,与缓冲区范围相同的空间进行有限差分计算,称为计算区域(图中标明“计算”的区域为计算区域)。
步骤二(S2),每个GPU完成各自剩余数据空间的有限差分计算,并同时完成与相邻GPU 的缓冲区的数据交换。利用CUDA编程语言可实现有限差分核函数计算和GPU间数据交换的异步执行,将核函数计算时间与数据传递时间重叠,以提高整体计算效率。
对于具有任何计算能力的GPU而言,上述GPU卡间数据交换过程,都可以CPU内存为中转,通过由GPU0到CPU,再由CPU到GPU1的数据传递流程实现。然而,在传统GPU Direct1.0技术下,GPU之间通过系统内存进行通讯,数据传递效率低(如图3a所示的框架下,需要两次数据拷贝)。因此,只有当步骤S2的核函数计算量大,卡间数据交换时间较快时,才能很好地隐藏掉数据通讯的时间。
实施例2。本实施例与实施例1不同之处在于:利用CUDA4.0(及以上)和具有统一存储器地址空间(Unified Virtual Addressing,UVA)的Fermi架构(及以上)GPU设备,可以实现相同IOH下的GPU间内存数据的点对点(peer-to-peer,P2P)通讯,无需通过系统内存进行中转(如图3b所示的框架下,仅需要一次数据拷贝),极大地提高了GPU间数据交换的效率。在此情况下,利用多GPU协同实现大规模单炮数据逆时偏移时,卡间数据交换时间可完全隐藏于差分计算核函数执行时间内,逆时偏移计算的整体效率得到提高。
该方法已成功集成到中国石化胜利油田分公司物探研究院自主研发的STseis神通地震成像处理系统中,能够实现水平地表与起伏地表逆时偏移计算,算法模块具有计算断点恢复功能。
实验例1。应用海量地震数据多GPU卡协同叠前逆时偏移快速计算方法,完成了包括胜利油田西部哈山西三维探区在内的多块三维实际地震数据,并且取得了理想的成像效果。
哈山西三维探区地表起伏,地下地质构造复杂。地下发育丰富的逆冲推覆构造,前缘冲断带和走滑断裂成像难度较大。该区野外地震数据采集采用中间放炮双边接收观测系统,炮点距为100m,道距为50m,单炮满次接收道数为4224道,最大偏移距为6990m,最大非纵距为2350m,纵向偏移距为6575m,单个炮集分布面积约30km2。数据最大记录时间为8s,采样间隔为1ms。炮集数据大小约为2.9TB。叠前成像处理采用25m×25m的面元网格,最大成像深度为15000m,深度采样10m。为了满足陡构造成像要求,逆时偏移时在单炮X、Y方向分别增加孔径为2000m和5000m的镶边。X、Y方向的吸收边界厚度均为500m。包括镶边及吸收边界在内,单个炮集叠前逆时偏移计算所需内存空间可达9GB左右,单块NVIDIA GPU显存空间不能满足需要。偏移处理时,采用两块NVIDIA Tesla M2090 GPU卡协同完成一炮数据的逆时偏移计算,并选择沿Y方向对单炮数据的成像空间进行区域分解。Tesla M2090具有512个计算核心,显存为6GB,存储带宽为177.6 GB/sec,支持UVA和P2P功能。两块M2090 GPU协同完成单炮数据逆时偏移计算的时间约为20分钟左右,能够很好地满足实际生产进度要求。
如图4a、图4b所示,从该区三维地震数据叠前逆时深度偏移与Kirchhoff积分法叠前深度偏移成像结果对比可以看出,逆时偏移成像结果的波场特征清楚、信息丰富,绕射波收敛、偏移归位精度较高,推覆体构造成像清晰,成像效果优于积分法叠前深度偏移。
Claims (4)
1.一种海量数据叠前逆时偏移多GPU卡协同快速计算方法,其特征在于:包括下列步骤:
(1)根据单炮数据的逆时偏移成像空间规模与计算节点GPU设备资源状况,对单炮数据的成像空间进行分解,为每个GPU分配进行有限差分计算和成像的数据;
(2)在每个数据分解边界外增加一定空间用于存放来自相邻GPU的差分结果,称为缓冲区;
(3)在每个GPU对分解边界以内,设立与缓冲区范围相同的空间进行有限差分计算,称为计算区域;
(4)在每个GPU完成各自剩余数据空间的有限差分计算,同时通过缓冲区完成与相邻GPU的计算区域的数据交换。
2.如权利要求1所述的一种海量数据叠前逆时偏移多GPU卡协同快速计算方法,其特征在于:所述相邻GPU之间的数据交换通过CPU内存为中转来实现。
3.如权利要求1所述的一种海量数据叠前逆时偏移多GPU卡协同快速计算方法,其特征在于:所述GPU为具有统一存储器地址空间(Unified Virtual Addressing,UVA)的Fermi架构或比Fermi架构更新的架构的GPU;利用CUDA4.0或CUDA4.0更新的版本和上述GPU设备,实现相同IOH下的GPU间内存数据的点对点(peer-to-peer,P2P)通讯,无需通过CPU内存进行中转。
4.如权利要求1到3任意一权利要求所述的一种海量数据叠前逆时偏移多GPU卡协同快速计算方法,其特征在于:在对单炮数据的成像空间进行分解时,以尽量减小传递数据的规模为原则选择空间分解的方向。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310517925.9A CN104570080A (zh) | 2013-10-29 | 2013-10-29 | 一种海量数据叠前逆时偏移多gpu卡协同快速计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310517925.9A CN104570080A (zh) | 2013-10-29 | 2013-10-29 | 一种海量数据叠前逆时偏移多gpu卡协同快速计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104570080A true CN104570080A (zh) | 2015-04-29 |
Family
ID=53086594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310517925.9A Pending CN104570080A (zh) | 2013-10-29 | 2013-10-29 | 一种海量数据叠前逆时偏移多gpu卡协同快速计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104570080A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105445792A (zh) * | 2015-11-26 | 2016-03-30 | 中国科学院地质与地球物理研究所 | 一种叠前多次波逆时偏移地震数据处理方法及系统 |
CN105868022A (zh) * | 2016-03-24 | 2016-08-17 | 中国地质大学(北京) | 一种在多GPU上分偏移距的Kirchhoff类偏移并行计算方法 |
CN107944064A (zh) * | 2016-10-12 | 2018-04-20 | 中国石油化工股份有限公司 | 炮属性融合的并行化计算方法及系统 |
CN108072895A (zh) * | 2016-11-09 | 2018-05-25 | 中国石油化工股份有限公司 | 一种基于gpu的各向异性叠前逆时偏移优化方法 |
CN108345030A (zh) * | 2017-12-28 | 2018-07-31 | 北京东方盈科伟业科技有限公司 | 基于逆时偏移算法的异构节点自适应调用系统及方法 |
US20210406427A1 (en) * | 2020-06-30 | 2021-12-30 | China Petroleum & Chemical Corporation | Computer-implemented method for high speed multi-source loading and retrieval of wavefields employing finite difference models |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010014118A1 (en) * | 2008-08-01 | 2010-02-04 | Ikelle Luc T | Statistical decoding and imaging of multishot and single-shot seismic data |
CN102628956A (zh) * | 2011-04-08 | 2012-08-08 | 中国科学院地质与地球物理研究所 | Gpu/cpu协同方式可控震源数据相关处理设备及方法 |
US20120203523A1 (en) * | 2011-02-09 | 2012-08-09 | Advanced Geophysical Technology Inc. | Method and System to Reduce: Memory Requirements, Device-to-Host Transfer Bandwidth Requirements, and Setup Time, for Seismic Modeling on Graphics Processing Units |
-
2013
- 2013-10-29 CN CN201310517925.9A patent/CN104570080A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010014118A1 (en) * | 2008-08-01 | 2010-02-04 | Ikelle Luc T | Statistical decoding and imaging of multishot and single-shot seismic data |
US20120203523A1 (en) * | 2011-02-09 | 2012-08-09 | Advanced Geophysical Technology Inc. | Method and System to Reduce: Memory Requirements, Device-to-Host Transfer Bandwidth Requirements, and Setup Time, for Seismic Modeling on Graphics Processing Units |
CN102628956A (zh) * | 2011-04-08 | 2012-08-08 | 中国科学院地质与地球物理研究所 | Gpu/cpu协同方式可控震源数据相关处理设备及方法 |
Non-Patent Citations (2)
Title |
---|
孔祥宁 等: "海量地震数据叠前逆时偏移的多GPU联合并行计算策略", 《石油物探》 * |
石颖 等: "基于GPU并行加速的叠前逆时偏移方法", 《东北石油大学学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105445792A (zh) * | 2015-11-26 | 2016-03-30 | 中国科学院地质与地球物理研究所 | 一种叠前多次波逆时偏移地震数据处理方法及系统 |
CN105868022A (zh) * | 2016-03-24 | 2016-08-17 | 中国地质大学(北京) | 一种在多GPU上分偏移距的Kirchhoff类偏移并行计算方法 |
CN105868022B (zh) * | 2016-03-24 | 2019-03-29 | 中国地质大学(北京) | 一种在多GPU上分偏移距的Kirchhoff类偏移并行计算方法 |
CN107944064A (zh) * | 2016-10-12 | 2018-04-20 | 中国石油化工股份有限公司 | 炮属性融合的并行化计算方法及系统 |
CN107944064B (zh) * | 2016-10-12 | 2020-09-29 | 中国石油化工股份有限公司 | 炮属性融合的并行化计算方法及系统 |
CN108072895A (zh) * | 2016-11-09 | 2018-05-25 | 中国石油化工股份有限公司 | 一种基于gpu的各向异性叠前逆时偏移优化方法 |
CN108345030A (zh) * | 2017-12-28 | 2018-07-31 | 北京东方盈科伟业科技有限公司 | 基于逆时偏移算法的异构节点自适应调用系统及方法 |
US20210406427A1 (en) * | 2020-06-30 | 2021-12-30 | China Petroleum & Chemical Corporation | Computer-implemented method for high speed multi-source loading and retrieval of wavefields employing finite difference models |
US11281825B2 (en) * | 2020-06-30 | 2022-03-22 | China Petroleum & Chemical Corporation | Computer-implemented method for high speed multi-source loading and retrieval of wavefields employing finite difference models |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104570080A (zh) | 一种海量数据叠前逆时偏移多gpu卡协同快速计算方法 | |
CN104570081B (zh) | 一种积分法叠前时间偏移地震资料处理方法及系统 | |
CN103281351A (zh) | 一种高效能遥感数据处理与分析的云服务平台 | |
CN103793442A (zh) | 空间数据的处理方法及系统 | |
CN103675908A (zh) | 一种海量数据图形处理器的波动方程逆时偏移成像方法 | |
CN105403913A (zh) | 叠前深度偏移方法和装置 | |
CN110968636A (zh) | 面向地震预警的多维大数据分析与处理系统 | |
CN106484532B (zh) | 面向sph流体模拟的gpgpu并行计算方法 | |
CN103472481B (zh) | 一种利用gpu进行逆时偏移提取角度道集的方法 | |
CN106662665A (zh) | 用于更快速的交错网格处理的重新排序的插值和卷积 | |
Wang et al. | An optimized parallelized SGFD modeling scheme for 3D seismic wave propagation | |
CN103294639A (zh) | 一种实现大规模计算的cpu+mic混合异构集群系统 | |
Xia et al. | Remote Sensing Image Data storage and search method based on pyramid model in cloud | |
CN103064110A (zh) | 一种波动方程叠前偏移中的分层延拓成像方法 | |
CN105572730B (zh) | 三维复杂结构声波正演方法 | |
Ni et al. | Study on the conversion of GOCAD models to FLAC3D models | |
CN104407383B (zh) | 三维地震照明分析并行实现方法 | |
Adamova et al. | New strategies of the LHC experiments to meet the computing requirements of the HL-LHC era | |
CN105574073B (zh) | 一种用于大数据处理的四维数据库及其创建方法 | |
Boito et al. | High performance I/O for seismic wave propagation simulations | |
Jamroz et al. | Asynchronous communication in spectral-element and discontinuous Galerkin methods for atmospheric dynamics–a case study using the High-Order Methods Modeling Environment (HOMME-homme_dg_branch) | |
Xu et al. | Geospatial data infrastructure: The development of metadata for geo-information in China | |
Li et al. | Optimization of a precise integration method for seismic modeling based on graphic processing unit | |
Wangzhang et al. | Efficient Large Scale Reverse-time Migration Imaging Computation based on Distributed Spark Cluster with GPUs | |
Xia et al. | M2L optimization in FMBEM and its GPU implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150429 |