CN107121698B - 用于优化三维地震波场模拟和成像的方法、装置及系统 - Google Patents

用于优化三维地震波场模拟和成像的方法、装置及系统 Download PDF

Info

Publication number
CN107121698B
CN107121698B CN201610101863.7A CN201610101863A CN107121698B CN 107121698 B CN107121698 B CN 107121698B CN 201610101863 A CN201610101863 A CN 201610101863A CN 107121698 B CN107121698 B CN 107121698B
Authority
CN
China
Prior art keywords
seismic data
particle
gpu
directions
wave
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.)
Active
Application number
CN201610101863.7A
Other languages
English (en)
Other versions
CN107121698A (zh
Inventor
朱成宏
张长华
罗明秋
董宁
陈业全
魏哲枫
刘玉金
徐蔚亚
张春涛
高鸿
庞海玲
张建伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Petroleum and Chemical Corp
Sinopec Exploration and Production Research Institute
Original Assignee
China Petroleum and Chemical Corp
Sinopec Exploration and Production Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Petroleum and Chemical Corp, Sinopec Exploration and Production Research Institute filed Critical China Petroleum and Chemical Corp
Priority to CN201610101863.7A priority Critical patent/CN107121698B/zh
Publication of CN107121698A publication Critical patent/CN107121698A/zh
Application granted granted Critical
Publication of CN107121698B publication Critical patent/CN107121698B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V1/00Seismology; Seismic or acoustic prospecting or detecting
    • G01V1/28Processing seismic data, e.g. for interpretation or for event detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Environmental & Geological Engineering (AREA)
  • Geology (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Geophysics (AREA)
  • Geophysics And Detection Of Objects (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了用于优化三维地震波场模拟和成像的方法、装置和系统。该方法包括获取地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息;针对每个时刻的波动方程,针对每个质点,调用三个GPU线程分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子。应用本发明,能够充分发掘GPU的多线程潜力,显著提高三维地震波场模拟和成像的计算效率。

Description

用于优化三维地震波场模拟和成像的方法、装置及系统
技术领域
本发明涉及地震资料成像领域,更具体地,涉及用于优化三维地震波场模拟和成像的方法、用于优化三维地震波场模拟和成像的装置以及优化三维地震波场模拟和成像的系统。
背景技术
三维地震波场模拟计算方法是地震波成像技术的基石,地震波场的快速模拟计算技术是现代地震波成像技术的核心。高性能中央处理器CPU,以及由成千上万个CPU(Central Processing Unit,中央处理器)组成的高性能计算机集群,是近年来人们用来实现地震波场模拟的主要工具。最近,采用新型的高性能计算机硬件——图形处理器GPU(Graphic Processing Unit,图形处理器)协同CPU来实现地震波场模拟和成像,是当前提高三维地震波场模拟和成像计算效率的发展主题方向。与传统的CPU硬件结构不同,图形处理器GPU具有更多的计算单元(例如高达三位数甚至更多的核),以及更为复杂的内存体系结构和有限的内存资源。
地震波场的模拟和成像方法的实现基础,都是波动方程的数值模拟算法:
上述波动方程的数值模拟方法的关键在于波场在三维空间的拉普拉斯算子(即二阶偏导数)的技术实现。图1示出了现有三维地震波场模拟和成像的原理示意图,其利用CPU控制和逻辑功能强大以及GPU线程多的特点,由CPU调用多个GPU同时计算多个质点的波动方程,大大提高了计算效率。但本发明的发明人通过深入研究发现,图1所示的系统未能充分发掘GPU多核的优势,仍然不能令人满意。
发明内容
本发明提出了一种方法,其能够充分发掘GPU多核并行运算优势以实现三维地震波场模拟和成像。本发明还提出了相应的装置和系统。
根据本发明的一方面,提出了一种用于优化三维地震波场模拟和成像的方法,该方法包括:获取地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息;针对每个时刻的波动方程,针对每个质点,调用三个GPU线程分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子。
根据本发明的另一方面,提出了一种用于优化三维地震波场模拟和成像的方法,该方法包括:
步骤201,开始计算,初始化i=0,然后进入步骤202;
步骤202,判断i<n是否成立,如果成立,进入步骤203,否则,结束计算;
步骤203,准备ti时刻的地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息,然后进入步骤204;
步骤204,针对每个质点,调用三个GPU线程分别计算该质点在ti时刻的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子,然后进入步骤205;
步骤205,存储GPU返回的计算结果,然后进入步骤206;
步骤206,设置i=i+1,然后返回步骤202。
根据本发明的另一方面,提出了一种用于优化三维地震波场模拟和成像的装置,该装置包括:地震数据获取单元,用于获取地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息;GPU调用单元,针对每个时刻的波动方程,针对每个质点,用于调用三个GPU线程分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子。
根据本发明的另一方面,提出了一种用于优化三维地震波场模拟和成像的系统,该系统包括CPU和GPU。所述CPU被配置为:获取地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息;针对每个时刻的波动方程,针对每个质点,调用三个GPU线程分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子;存储GPU返回的计算结果。所述GPU被配置为:由所述CPU调用以计算质点的振动位移u在相应方向的拉普拉斯算子;返回计算结果。
本发明的各方面,针对每个质点,调用三个GPU线程分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子,充分发挥GPU线程多的优势,显著提高了计算效率,同时由于每个GPU只计算一个方向上的拉普拉斯算子,而不需要知道质点在其他方向的情况,能有效避免由于GPU寄存器数目有限所带来的计算效率限制。
附图说明
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了现有三维地震波场模拟和成像的原理示意图。
图2示出了根据本发明的三维地震波场模拟和成像的原理示意图。
图3示出了根据本发明的一个实施例的用于优化三维地震波场模拟和成像的方法的流程图。
图4(a)中示出了现有技术中调用GPU时所需的地震数据的三维空间位置示意图。
图4(b)示出了本发明中调用GPU时所需的地震数据的三维空间位置示意图。
图5示出了根据本发明的另一实施例的用于优化三维地震波场模拟和成像的方法的流程图。
图6(a)示出了在一个应用示例中应用现有技术得到地震波场结果图。
图6(b)示出了在该应用示例中应用本发明得到的地震波场结果图。
图7示出了在应用本发明的计算时间与应用现有技术的计算时间之比。
具体实施方式
下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
先对本发明的基本原理进行简单介绍。图2示出了根据本发明的三维地震波场模拟和成像的原理示意图。如图2所示,在本发明中,针对每个质点,CPU可调用三个GPU分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子,可更充分地发掘GPU的多线程计算潜力,显著提高计算效率、缩短计算时间。
实施例1
图3示出了根据本发明的一个实施例的用于优化三维地震波场模拟和成像的方法的流程图。在本实施例中,该方法包括:
步骤101,获取地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息;
步骤102,针对每个时刻的波动方程,针对每个质点,调用三个GPU线程分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子。
在本实施例中,通过调用三个GPU线程分别计算质点在三个方向上的拉普拉斯算子,大大缩短计算时间,提高计算效率。
图4(a)中示出了现有技术中调用GPU时所需的地震数据的三维空间位置示意图。如图所示,在现有技术中,调用一个GPU线程通过数值模拟方法计算某个质点(例如质点0)的波动方程时,除该点的信息外,通常还需要与其相邻的其他6个点(例如质点1~6)的信息。
图4(b)示出了本发明中调用GPU时所需的地震数据的三维空间位置示意图。如图所示,根据本发明,由于每个GPU仅计算该质点在某一维度上的拉普拉斯算子,因此除该点的信息外,每个线程通常只需要额外的其他2个点的信息。
因此,在本实施例的一些可能的实施方式中,该方法还可以包括:可以分别按照x、y、z三个方向对所述地震数据进行排序,按照x、y、z三个方向排序后的地震数据可以被分别提供给用以计算相应方向的拉普拉斯算子的GPU线程。这可带来以下好处:
(1)可减少每个GPU线程中使用的寄存器的数量。GPU具有多个线程(三位数甚至更多),每个线程中的寄存器的数量有限,这也成为制约GPU计算效率的一个关键因素。相比于现有技术,按不同方向给相应GPU提供地震数据,能显著节约GPU中寄存器的使用数量,有利于进一步提高计算效率。
(2)可提高GPU访问地震数据的速度。例如,如图4(a)所示,某一方向的相邻质点(例如质点5、6)可能与其他质点(例如质点0~4)的存储位置相距甚远,导致GPU无法合并访问,从而限制整体计算效率。按不同方向给相应GPU提供地震数据,使得计算当前质点所需的数据的存储位置紧密相邻,有利于GPU实现合并访问以提高整体计算效率。
上述方法可以在CPU中实施。
实施例2
图5示出了根据本发明的另一实施例的用于优化三维地震波场模拟和成像的方法的流程图。在本实施例中,该方法包括:
步骤201,开始计算,初始化i=0,然后进入步骤202;
步骤202,判断i<n是否成立,如果成立,进入步骤203,否则,结束计算;
步骤203,准备ti时刻的地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息,然后进入步骤204;
步骤204,针对每个质点,调用三个GPU线程分别计算该质点在ti时刻的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子,然后进入步骤205;
步骤205,存储GPU返回的计算结果,然后进入步骤206;
步骤206,设置i=i+1,然后返回步骤202。
在一种可能的实施方式中,准备ti时刻的地震数据可以包括:可以分别按照x、y、z三个方向对所述地震数据进行排序,按照x、y、z三个方向排序后的地震数据可以被分别提供给用以计算相应方向的拉普拉斯算子的GPU线程。
上述方法可以在CPU中实施。
实施例3
本发明还公开了一种用于优化三维地震波场模拟和成像的装置。在本实施例中,该装置包括地震数据获取单元和GPU调用单元。其中,地震数据获取单元用于获取地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息。针对每个时刻的波动方程,针对每个质点,GPU调用单元用于调用三个GPU线程分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子。
在一种可能的实施方式中,该装置还可包括地震数据排序单元。地震数据排序单元可用于分别按照x、y、z三个方向对所述地震数据进行排序,按照x、y、z三个方向排序后的地震数据可以被分别提供给用以计算相应方向的拉普拉斯算子的GPU线程。
实施例4
本发明还公开了一种用于优化三维地震波场模拟和成像的系统。该系统包括CPU和GPU。所述CPU被配置为:获取地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息;针对每个时刻的波动方程,针对每个质点,调用三个GPU线程分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子;存储GPU返回的计算结果。GPU被配置为:由所述CPU调用以计算质点的振动位移u在相应方向的拉普拉斯算子;返回计算结果。
在一些可能的实施方式中,上述CPU还可以被配置为:可以分别按照x、y、z三个方向对所述地震数据进行排序,按照x、y、z三个方向排序后的地震数据可以被分别提供给用以计算相应方向的拉普拉斯算子的GPU线程。
应用示例
为便于理解本发明实施例的方案及其效果,以下给出一个具体应用示例。本领域技术人员应理解,该示例仅为了便于理解本发明,其任何具体细节并非意在以任何方式限制本发明。
在一个应用示例中,采用256x256x256的三维计算网格,在相同GPU上执行了2000步波场模拟运算,应用现有技术和应用本发明得到的地震波场示意图分别如图6(a)和图6(b)所示。可以看出二者得到的地震波场模拟结果是一致的,但相比于现有技术,应用本发明可减少约36%的计算时间。
图7示出了在应用本发明的计算时间与应用现有技术的计算时间之比,其中横坐标表示网格数,纵坐标表示计算时间的比值。可以看出,当整体三维网格数为1x107时,前者所需的计算时间为后者的67%。并且随着计算量进一步加大,本发明的计算优势更为明显,当整体三维网格数为1x109时,前者所需的计算时间为后者的58%。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种用于优化三维地震波场模拟和成像的方法,该方法包括:
获取地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息;
针对每个时刻,根据波动方程,针对每个质点,调用三个GPU线程分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子。
2.根据权利要求1所述的方法,其中,该方法还包括:
分别按照x、y、z三个方向对所述地震数据进行排序,按照x、y、z三个方向排序后的地震数据被分别提供给用以计算相应方向的拉普拉斯算子的GPU线程。
3.根据权利要求1所述的方法,其中,所述方法在CPU中实施。
4.一种用于优化三维地震波场模拟和成像的方法,该方法包括:
步骤201,开始计算,初始化i=0,然后进入步骤202;
步骤202,判断i<n是否成立,如果成立,进入步骤203,否则,结束计算;
步骤203,准备ti时刻的地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息,然后进入步骤204;
步骤204,针对每个质点,调用三个GPU线程分别计算该质点在ti时刻的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子,然后进入步骤205;
步骤205,存储GPU返回的计算结果,然后进入步骤206;
步骤206,设置i=i+1,然后返回步骤202。
5.根据权利要求4所述的方法,其中,准备ti时刻的地震数据包括:
分别按照x、y、z三个方向对所述地震数据进行排序,按照x、y、z三个方向排序后的地震数据被分别提供给用以计算相应方向的拉普拉斯算子的GPU线程。
6.根据权利要求4所述的方法,其中,所述方法在CPU中实施。
7.一种用于优化三维地震波场模拟和成像的装置,该装置包括:
地震数据获取单元,用于获取地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息;
GPU调用单元,针对每个时刻,根据波动方程,针对每个质点,用于调用三个GPU线程分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子。
8.根据权利要求7所述的装置,其中,该装置还包括:
地震数据排序单元,用于分别按照x、y、z三个方向对所述地震数据进行排序,按照x、y、z三个方向排序后的地震数据被分别提供给用以计算相应方向的拉普拉斯算子的GPU线程。
9.一种用于优化三维地震波场模拟和成像的系统,该系统包括CPU和GPU,其中:
所述CPU被配置为:
获取地震数据,所述地震数据包括多个质点的振动位移u以及每个质点的三维空间位置信息;
针对每个时刻,根据波动方程,针对每个质点,调用三个GPU线程分别计算该质点的振动位移u在三维空间的x、y、z三个方向的拉普拉斯算子;
存储GPU返回的计算结果;
所述GPU被配置为:
由所述CPU调用以计算质点的振动位移u在相应方向的拉普拉斯算子;
返回计算结果。
10.根据权利要求9所述的系统,其中,所述CPU还被配置为:
分别按照x、y、z三个方向对所述地震数据进行排序,按照x、y、z三个方向排序后的地震数据被分别提供给用以计算相应方向的拉普拉斯算子的GPU线程。
CN201610101863.7A 2016-02-24 2016-02-24 用于优化三维地震波场模拟和成像的方法、装置及系统 Active CN107121698B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610101863.7A CN107121698B (zh) 2016-02-24 2016-02-24 用于优化三维地震波场模拟和成像的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610101863.7A CN107121698B (zh) 2016-02-24 2016-02-24 用于优化三维地震波场模拟和成像的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107121698A CN107121698A (zh) 2017-09-01
CN107121698B true CN107121698B (zh) 2019-02-19

Family

ID=59717784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610101863.7A Active CN107121698B (zh) 2016-02-24 2016-02-24 用于优化三维地震波场模拟和成像的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107121698B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1717604A1 (fr) * 2005-04-29 2006-11-02 Institut Français du Pétrole Méthode d'interprétation sédimentologique par estimation de différents scénarios chronologiques de mise en place des couches sédimentaires
CN102269820A (zh) * 2010-06-01 2011-12-07 潜能恒信能源技术股份有限公司 一种基于gpu小存储量交错网格三维地震叠前逆时偏移成像方法
CN103278848A (zh) * 2013-04-22 2013-09-04 中山大学 基于mpi并行预条件迭代的地震成像正演方法
CN103852157A (zh) * 2014-03-18 2014-06-11 华侨大学 爆破地震波作用下深埋圆形隧道围岩质点振动规律测试方法
CN103941290A (zh) * 2013-01-22 2014-07-23 中国石油集团东方地球物理勘探有限责任公司 一种海底电缆运动轨迹模拟方法及系统
CN104699235A (zh) * 2013-12-05 2015-06-10 浙江大学 基于超声波的三维空间成像交互方法及系统
CN105005072A (zh) * 2015-06-02 2015-10-28 中国科学院地质与地球物理研究所 利用cuda的pml边界三维地震波传播模拟方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1717604A1 (fr) * 2005-04-29 2006-11-02 Institut Français du Pétrole Méthode d'interprétation sédimentologique par estimation de différents scénarios chronologiques de mise en place des couches sédimentaires
CN102269820A (zh) * 2010-06-01 2011-12-07 潜能恒信能源技术股份有限公司 一种基于gpu小存储量交错网格三维地震叠前逆时偏移成像方法
CN103941290A (zh) * 2013-01-22 2014-07-23 中国石油集团东方地球物理勘探有限责任公司 一种海底电缆运动轨迹模拟方法及系统
CN103278848A (zh) * 2013-04-22 2013-09-04 中山大学 基于mpi并行预条件迭代的地震成像正演方法
CN104699235A (zh) * 2013-12-05 2015-06-10 浙江大学 基于超声波的三维空间成像交互方法及系统
CN103852157A (zh) * 2014-03-18 2014-06-11 华侨大学 爆破地震波作用下深埋圆形隧道围岩质点振动规律测试方法
CN105005072A (zh) * 2015-06-02 2015-10-28 中国科学院地质与地球物理研究所 利用cuda的pml边界三维地震波传播模拟方法

Also Published As

Publication number Publication date
CN107121698A (zh) 2017-09-01

Similar Documents

Publication Publication Date Title
Tang et al. Collision-streams: Fast GPU-based collision detection for deformable models
CN103365796A (zh) 通过优化缓存重用在多处理器共享存储器系统上体积绘制
Navrátil et al. Exploring the spectrum of dynamic scheduling algorithms for scalable distributed-memoryray tracing
CN116245997A (zh) 基于超级计算机的三维模型动态渲染并行加速方法、系统
Wang et al. 3D-TSV: The 3D trajectory-based stress visualizer
Ohno et al. Development of in-situ visualization tool for PIC simulation
US20130176304A1 (en) Method and apparatus for processing three-dimensional model data
CN107121698B (zh) 用于优化三维地震波场模拟和成像的方法、装置及系统
Shih et al. Out-of-core visualization of time-varying hybrid-grid volume data
Park et al. SpRay: Speculative ray scheduling for large data visualization
Zhang et al. Comparison of Three Different Parallel Computation Methods for a Two‐Dimensional Dam‐Break Model
Dong et al. Screen Partitioning Load Balancing for Parallel Rendering on a Multi-GPU Multi-Display Workstation.
Lai et al. A distributed memory hierarchy and data management for interactive scene navigation and modification on tiled display walls
Olsson et al. More efficient virtual shadow maps for many lights
Usher et al. In situ exploration of particle simulations with CPU ray tracing
Palmer et al. Ray casting on shared-memory architectures: memory-hierarchy considerations in volume rendering
Nouanesengsy et al. Revisiting Parallel Rendering for Shared Memory Machines.
Kaehler Massively parallel computation of accurate densities for N-body dark matter simulations using the phase-space-element method
Xie et al. Enabling technologies in the problem solving environment HEDP
Kawamura et al. Performance evaluation of runtime data exploration framework based on in-situ particle based volume rendering
Binyahib Scientific visualization on supercomputers: A survey
Yin et al. Multi-screen Tiled Displayed, Parallel Rendering System for a Large Terrain Dataset.
Wang et al. Multi-gpu compositeless parallel rendering algorithm
Misaki et al. Cache-aware, in-place rotation method for texture-based volume rendering
Siba et al. Parallel implementation and performance analysis of a 3D oil reservoir data visualization tool on the cell broadband engine and CUDA GPU

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant