CN113126162A - 随机噪声衰减计算方法及装置 - Google Patents
随机噪声衰减计算方法及装置 Download PDFInfo
- Publication number
- CN113126162A CN113126162A CN201911390348.5A CN201911390348A CN113126162A CN 113126162 A CN113126162 A CN 113126162A CN 201911390348 A CN201911390348 A CN 201911390348A CN 113126162 A CN113126162 A CN 113126162A
- Authority
- CN
- China
- Prior art keywords
- seismic data
- threads
- calculation
- gpu
- data
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 131
- 238000000034 method Methods 0.000 claims abstract description 81
- 230000015654 memory Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 abstract description 44
- 238000004519 manufacturing process Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 45
- 238000010586 diagram Methods 0.000 description 27
- 238000003860 storage Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 239000000523 sample Substances 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- IERHLVCPSMICTF-XVFCMESISA-N CMP group Chemical group P(=O)(O)(O)OC[C@@H]1[C@H]([C@H]([C@@H](O1)N1C(=O)N=C(N)C=C1)O)O IERHLVCPSMICTF-XVFCMESISA-N 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 239000013317 conjugated microporous polymer Substances 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 210000003643 myeloid progenitor cell Anatomy 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 241001676573 Minium Species 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011056 performance test Methods 0.000 description 3
- 239000003208 petroleum Substances 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000004519 grease Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V1/00—Seismology; Seismic or acoustic prospecting or detecting
- G01V1/28—Processing seismic data, e.g. analysis, for interpretation, for correction
- G01V1/36—Effecting static or dynamic corrections on records, e.g. correcting spread; Correlating seismic signals; Eliminating effects of unwanted energy
- G01V1/362—Effecting static or dynamic corrections; Stacking
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V1/00—Seismology; Seismic or acoustic prospecting or detecting
- G01V1/28—Processing seismic data, e.g. analysis, for interpretation, for correction
- G01V1/30—Analysis
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V1/00—Seismology; Seismic or acoustic prospecting or detecting
- G01V1/28—Processing seismic data, e.g. analysis, for interpretation, for correction
- G01V1/30—Analysis
- G01V1/303—Analysis for determining velocity profiles or travel times
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V1/00—Seismology; Seismic or acoustic prospecting or detecting
- G01V1/28—Processing seismic data, e.g. analysis, for interpretation, for correction
- G01V1/36—Effecting static or dynamic corrections on records, e.g. correcting spread; Correlating seismic signals; Eliminating effects of unwanted energy
- G01V1/364—Seismic filtering
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)
Abstract
本发明提供了一种随机噪声衰减计算方法及装置,该方法包括:获取三维关键字参数和地震数据;根据三维关键字参数和地震数据确定多个子地震数据;根据GPU设备个数生成多个GPU控制线程;根据主线程和多个GPU控制线程并行获取子地震数据;根据CPU的主线程的多个计算线程和多个GPU控制线程的计算线程计算子地震数据,得到随机噪声衰减计算结果。本发明可以并行获取及计算子地震数据,充分利用CPU和多个GPU设备的计算能力,大大提高海量地震数据的RNA计算效率,有效缩短生产中RNA的处理时间。
Description
技术领域
本发明涉及地震勘探技术领域,尤其是涉及一种随机噪声衰减计算方法及装置。
背景技术
在地震数据的采集过程中,由于工区地表条件的复杂性,以及震源与检波点所处外部环境的影响,地震资料中常含有许多随机噪声,如微震、背景干扰等。这些在地震记录上表现为杂乱无章的随机噪声分布很广,严重影响了资料的信噪比,给地震资料的处理解释工作带来了极大的困难。因此,人们一直在探寻去除随机噪声的有效方法。
基于预测理论的随机噪声衰减(Random Noise Attenuation,RNA)是比较有效的方法之一,它最早由canales于1984年提出(F-X域),并以其理论上的严密性和实际效果上的显著性很快在地震资料数字处理中得到广泛应用。经过长期不断的发展,已经从早期的二维,发展到目前的四维(三维叠前)。在地震资料处理过程中,需要计算RNA,而对于海量数据的地震资料处理过程,现有的RNA计算方法,计算性能较差,计算耗时长,无法满足石油地球物理勘探资料处理的需求。
发明内容
本发明提供了一种随机噪声衰减计算方法及装置,可以提高RNA计算的效率,有效缩短生产中RNA处理时间。
第一方面,本发明实施例提供了一种随机噪声衰减计算方法,该方法包括:获取三维关键字参数和地震数据;根据所述三维关键字参数和所述地震数据确定多个子地震数据;根据GPU(Graphics Processing Unit,图形处理器)设备个数生成多个GPU控制线程;根据CPU的主线程和多个所述GPU控制线程并行获取所述子地震数据;根据所述主线程的多个计算线程和多个所述GPU控制线程的计算线程计算所述子地震数据,得到随机噪声衰减计算结果。
第二方面,本发明实施例还提供一种随机噪声衰减计算装置,该装置包括:获取模块,用于获取三维关键字参数和地震数据;划分模块,用于根据所述三维关键字参数和所述地震数据确定多个子地震数据;生成模块,用于根据GPU设备个数生成多个GPU控制线程;数据模块,用于根据CPU的主线程和多个所述GPU控制线程并行获取所述子地震数据;计算模块,用于根据所述主线程的多个计算线程和多个所述GPU控制线程的计算线程计算所述子地震数据,得到随机噪声衰减计算结果。
第三方面,本发明实施例还提供一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述随机噪声衰减计算方法。
第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述随机噪声衰减计算方法。
本发明实施例带来了以下有益效果:本发明实施例提供了一种随机噪声衰减计算方案,该方案通过三维关键字参数对地震数据进行划分,得到多个子地震数据,之后,根据GPU设备个数生成多个GPU控制线程,根据主线程和多个GPU控制线程并行动态地获取子地震数据,实现负载均衡,最后,根据CPU(central processing unit,中央处理器)的主线程的多个计算线程和多个GPU控制线程的计算线程并行计算子地震数据,得到随机噪声衰减计算结果。本发明实施例可以并行获取及计算子地震数据,充分利用CPU和多个GPU设备的计算能力,大大提高海量地震数据的RNA计算效率,有效缩短生产中RNA的处理时间。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的随机噪声衰减计算方法流程图;
图2为本发明实施例提供的CPU+GPU协同计算RNA方法流程示意图;
图3为本发明实施例提供的GPU计算逻辑图;
图4为本发明实施例提供的性能测试结果示意图;
图5为本发明实施例提供的随机噪声衰减计算装置结构框图;
图6为本发明实施例提供的计算机设备结构框图;
图7为本发明实施例提供的一种参数界面图;
图8为本发明实施例提供的另一种参数界面图;
图9为本发明实施例提供的另一种参数界面图;
图10为本发明实施例提供的参数取值界面示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
预测理论的频率空间F-XYZ域预测去噪技术,把X、Y、Z维分别定义为CROSSLINE方向的不同LINE、INLINE方向的不同CMP、共CMP道集中的炮检距(或道号),将预测去噪技术应用到CMP域三维叠前地震记录中,实现三维叠前地震记录的随机噪声衰减。
基于F-XYZ域预测去噪技术的三维叠前随机噪声衰减将三维地震数据从整体上进行考虑,充分利用三维空间信息,完整保留构造形态,去噪效果显著。但由于它需要在较大的空间范围内对地震数据进行整体预测,因而每次处理的数据量很大,计算量也很大,处理周期的延长对生产项目的整体进度产生了很大的影响。
GPU加速技术的出现为提升模块运行效率、缩短处理周期提供了新的技术途径。
基于此,本发明实施例提供的一种随机噪声衰减计算方法及装置,可以提高生产中的RNA计算效率,缩短项目周期,满足石油地球物理勘探资料处理中降本增效的需求。
为描述本发明的方法,首先说明三维叠前RNA的串行实现过程。三维叠前RNA串行实现算法:(1)、数据分块,将整体数据拆分成多个小空间窗数据;(2)、读取一个小空间窗数据;(3)、RNA计算,包括FFT变换,算子求取,DECON及反FFT变换;(4)、做Z方向重叠;(5)、做Y方向重叠;(6)、做X方向重叠,并输出一个X数据,转第(2)步。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种随机噪声衰减计算方法进行详细介绍。
本发明实施例提供了一种随机噪声衰减计算方法,参见图1所示的一种随机噪声衰减计算方法流程图,该方法包括以下步骤:
步骤S102,获取三维关键字参数和地震数据。
在本发明实施例中,地震数据是三维叠前地震数据,可以是应用了静校正和动校正之后的共CMP(Common Middle Point,共中心点)道集数据。三维关键字参数用于对地震数据进行划分,得到多个小空间窗数据。
需要说明的是,三维关键字参数可以根据需求进行设定。例如,可以包括CMP线号参数、CMP号参数、道集的最盖次数参数、空间窗在X域的长度参数、空间窗在Y域的长度参数、空间窗在O域的长度参数、时间窗长度参数、算子长度参数、道数参数和混波参数等。
步骤S104,根据三维关键字参数和地震数据确定多个子地震数据。
在本发明实施例中,根据三维关键字参数对地震数据进行划分,得到多个小空间窗数据,可以根据三维关键字参数对每个空间窗数据进行初始化操作,从而根据每个空间窗数据得到一个子地震数据,所有的子地震数据构成随机噪声衰减中要实现的任务。按照用户给定三维关键字参数将集中存储的地震数据按X、Y、Z三个方向进行分块,每块数据为一个计算任务。
另外需要说的是,子地震数据之间可以有部分数据重叠,例如,在某X维度上,将数据范围1-10划分至第一个子地震数据,将数据6-15划分至第二个子地震数据,将数据13-18划分至第三个子地震数据。同样的,在Y维度上也可以有部分数据重叠,在O维度上也可以有部分数据重叠。
步骤S106,根据GPU设备个数生成多个GPU控制线程。
在本发明实施例中,每个节点上都可以设置多个GPU设备,可以根据GPU设备的个数生成多个GPU控制线程。
步骤S108,根据CPU的主线程和多个GPU控制线程并行获取子地震数据。
在本发明实施例中,主线程是节点中CPU的控制线程。主线程和GPU控制线程分别请求任务,可以从任务列表中分别获取子地震数据。由于各个小空间窗数据的处理是相对独立的,因而可以将多个小空间窗数据的计算处理并行起来。
步骤S110,根据主线程的多个计算线程和多个GPU控制线程的计算线程计算子地震数据,得到随机噪声衰减计算结果。
在本发明实施例中,主线程的计算线程可以为多个,由于每个节点中包括多个GPU控制线程,因此GPU控制线程的计算线程也相应的有多个,每个节点中多个主线程的计算线程和多个GPU控制线程的计算线程可以并行计算子地震数据,大大提高了RNA的计算效率。
本发明实施例提供了一种随机噪声衰减计算方案,该方案通过三维关键字参数对地震数据进行划分,得到多个子地震数据,之后,根据GPU设备个数生成多个GPU控制线程,根据主线程和多个GPU控制线程并行动态地获取子地震数据,实现负载均衡,最后,根据CPU的主线程的多个计算线程和多个GPU控制线程的计算线程并行计算子地震数据,得到随机噪声衰减计算结果。本发明实施例可以并行获取及计算子地震数据,充分利用CPU和多个GPU设备的计算能力,大大提高了海量地震数据的RNA计算效率,有效缩短生产中RNA的处理时间。
为了充分利用CPU的多核计算能力,根据主线程的多个计算线程和多个GPU控制线程的计算线程计算子地震数据,得到随机噪声衰减计算结果,可以按照如下步骤执行:
获取CPU核数,生成多个主机端计算线程;主机端计算线程的个数与CPU核数相同;根据每个GPU控制线程确定一个设备端计算线程;根据多个主机端计算线程和多个设备端计算线程并行计算子地震数据,得到随机噪声衰减计算结果。
在本发明实施例中,为了充分利用每个节点的CPU核,主线程获取计算任务后,派生CPU核数个线程并行计算。在每个节点内部,生成CPU核数个主机端计算线程,每个GPU控制线程可以通过调用的Kernel(核函数)进行数据计算,多个主机端计算线程和多个设备端计算线程并行计算子地震数据,可以高效地得到随机噪声衰减计算结果。
在本发明实施例中,主节点负责任务初始化和分发、记录任务完成情况,从节点主线程生成CPU核数的CPU计算线程、GPU设备数的控制线程,实现了CPU+GPU协同并行计算的动态负载均衡,实现了并行效率的最优化。
需要说明的是,为了进一步提高计算效率,对在设备上运行的Kernel函数可以进行如下优化:
(1)在CUDA(Compute Unified Device Architecture,统一计算设备架构)程序中充分利用共享存储器,以减少对全局存储器的访问次数,同时在使用共享存储器时尽量避免出现bank冲突的情况,这样可以减少内核函数的执行时间,提高程序的性能;
(2)在编译CUDA程序时加上预设选项,例如,可以是-use_fast_math选项,使程序中使用的数学函数都会被替换成与之对应的快速版本;
(3)使用制导语句#pragma unroll来要求编译器对特定的循环进行展开,从而避免出现warp分支。
为了准确地将各节点的计算结果进行合并,得到最终的随机噪声衰减计算结果,根据多个主机端计算线程和多个设备端计算线程并行计算子地震数据,得到随机噪声衰减计算结果,可以按照如下步骤执行:
获取各节点中子地震数据计算结果;对子地震数据计算结果进行重叠处理,得到各节点的结果数据;对结果数据进行合并,得到随机噪声衰减计算结果。
在本发明实施例中,由于子地震数据之间可以有部分数据重叠,因此,子地震数据计算结果之间也相应存在数据重叠,通过重叠处理,消除数据重叠的影响得到各节点的结果数据。由于多个节点可以并行计算,得到多个节点的结果数据,对结果数据进行合并,即可得到随机噪声衰减计算结果。
需要说明的是,例如,在某X维度上,将数据范围1-10划分至第一个子地震数据,将数据6-15划分至第二个子地震数据,其中数据6-10出现了重叠,那么在重叠处理的过程中,需要去除重复的子地震数据,还要对第一个子地震数据和第二个子地震数据中的噪声进行处理,例如,去除两次噪声的平均值,以免出现重复去噪的情况,提升去噪的准确度。
为了对中间数据进行保护,获取各节点中子地震数据计算结果之后,还可以执行如下步骤:
对子地震数据计算结果添加读写锁。
在本发明实施例中,对子地震数据计算结果添加读写锁,可以用于控制该子地震数据计算结果的读写权限,实现对数据的保护。
为了充分利用多GPU设备的并行计算能力,根据GPU设备个数生成多个GPU控制线程,可以按照如下步骤执行:
获取GPU设备个数,生成多个GPU控制线程;GPU控制线程的个数与GPU设备个数相同。
在本发明实施例中,生成GPU设备数个GPU控制线程,每个控制线程都可以用于RNA计算处理的过程,
在本发明实施例中所涉及的RNA并行方法包括:将数据按用户给定的三维关键字划分数据块,每一块数据作为节点内各线程的计算任务;每个节点根据GPU设备数量N生成N个控制线程,每个控制线程分别负责GPU的任务请求、任务计算、输出中间结果、通知主节点完成计算任务,主线程控制CPU的任务请求、与CPU核数相同的计算线程共同完成任务计算、输出中间结果、通知主节点完成计算任务;RNA计算,包括FFT变换、算子求取、DECON及反FFT变换;分别做Z、Y、X方向重叠;各节点输出结果数据,主节点合并作为成果数据。
本发明实施例可以用于加速三维叠前RNA处理过程,提高其处理性能,尤其是海量数据的地震资料处理,充分利用Linux集群多节点的CPU多核、多GPU设备的并行计算能力,大大提高了海量地震数据的RNA计算效率,有效缩短生产中RNA处理时间,满足石油地球物理勘探资料处理的需求。
下面以一个具体实施例,对本发明实施例的随机噪声衰减计算方法进行说明。
CPU+GPU协同计算的RNA并行方法分为以下步骤:
(1)将地震数据按照用户给定三维关键字参数进行任务划分;
(2)主线程处理输入参数并完成相应初始化操作;
(3)主线程生成GPU设备数个GPU控制线程;
(4)主线程和GPU控制线程分别请求任务;
(5)获取任务后启用CPU核数个计算线程进行主机端计算,GPU控制线程调用Kernel函数进行设备端计算;
(6)计算完成后输出中间数据文件,通过读写锁对数据文件加以保护;
(7)重复(4)--(6)过程;
(8)所有计算任务完成后做Z、Y、X方向重叠;
(9)各节点分别输出结果数据;
(10)主节点合并各节点输出的结果数据。
由于各个小空间窗数据的处理是相对独立的,因而可以将多个小空间窗数据的处理并行起来,本发明的并行方法正是基于此。本发明的并行策略是将前三个方向空间窗数据分发到各个节点上并行处理,在每个节点内部,运用CPU核数个主机端计算线程、N个设备端控制线程调用的Kernel进行数据重建计算,计算完成后,运用锁保护机制把计算结果写入一个中间数据文件。最后进行Z、Y、X方向的重叠处理及输出、合并最终结果。
具体实现可以为:
(1)主节点生成计算任务队列。
按照用户给定三维关键字参数将集中存储的地震数据按X、Y、Z三个方向进行分块,每块数据为一个计算任务。
(2)节点内主线程处理输入参数。
节点内主线程获取RNA方法中用户设定的参数,并进行参数初始化,为计算做准备。
(3)主线程生成GPU设备数个控制线程。
每个控制线程负责GPU设备的初始化,计算任务的获取、调用Kernel函数及结果输出,这样就满足了GPU设备间的并行化,同时也实现了设备间动态负载均衡。
(4)主线程充分利用CPU多核。
为了充分利用每个节点的CPU核,主线程获取计算任务后,派生CPU核数个线程并行计算。
(5)节点内数据输出。
在计算节点内各线程完成一次计算任务后,将启用锁保护机制输出计算结果到数据文件。
(6)主节点记录文件。
在计算节点请求任务时,将上一次完成的任务ID和结果信息传送给主节点,主节点负责将从节点传回的信息记录文件(作为故障恢复的凭据),然后再分配任务。
(7)节点容错。
在计算过程中,某个计算节点发生故障,主节点根据记录文件信息进行结果检查,并将其未完成的任务交由其它节点完成。
(8)故障恢复。
在作业执行过程中,由于各种机器原因导致作业执行失败时,重启作业后主节点根据记录文件重建任务列表,并检查计算结果的正确性。
(9)X、Y、Z三个方向的空间窗重叠计算。
在进行任务划分时,每个窗跟相邻窗之间都有重叠部分,在计算完成后,需要对窗间重叠部分进行拼接处理,以降低窗间的痕迹,提高资料的分辨率。
(10)各节点输出数据,主节点合并数据。
下面对本发明实施例涉及的具体实施过程进行介绍:
(1)主节点进程实施内容。
将输入地震数据按照用户给定三维关键字参数进行分开,每块数据作为一个计算任务,建立任务列表;计算节点进程请求任务时进行分配,并建立已分配任务的列表;在计算节点请求任务时,将上一次完成的任务ID和结果信息传送给主节点,主节点负责将从节点传回的信息记录文件(作为故障恢复的凭据),然后分配任务。记录文件名为发送作业用户目录下的作业名,以免用户间作业冲突。作业中断后重启将读此文件,从中断任务处继续分配;所有任务完成后合并结果数据。
(2)计算节点进程实施内容。
初始化RNA方法所需参数和GPU设备,生成GPU卡数个控制线程用于负责每个CPU的任务请求、输出结果和与主进程通信。为了充分利用每个节点的CPU核,建立CPU核数个线程用于CPU并行计算。利用pthread创建线程,并使用pthread_mutex_t和pthread_cond_t进行线程控制。这样就实现了CPU与GPU之间的充分并行,同一节点的GPU与GPU之间的充分并行,实现了计算任务的动态负载均衡,最大程度发挥了CPU+GPU的计算能力。
(3)GPU设备计算过程。
RNA_GPU的实现主要包括四个大的模块:一是将地震数据从时域转换为频率域的模块CX4D_FFT_CUFFT_GPU_NWIN;二是根据频率片数量循环计算的核心计算模块FFT_GJY_DECON;三是将计算后的数据从频率域转换为时域的模块CX4D_IFFT_CUFFT_GPU_NWIN;四是将最终计算结果更新地震数据的更新模块Update_DATA_SR,当内核被启动以后,首先读取地震数据并调用CX4D_FFT_CUFFT_GPU_NWIN将数据从时域转换为频率域;然后调用FFT_GJY_DECON进行计算;然后调用CX4D_IFFT_CUFFT_GPU_NWIN将频率域转换为时域;最后调用Update_DATA_SR将地震数据更新,其总体实现逻辑图参见图3所示的GPU计算逻辑图。
下面对本发明实施例的随机噪声衰减计算方法性能测试的过程进行介绍。测试集群环境包括硬件环境、软件环境、运行软件,其中硬件环境为200个节点的Linux集群,每个节点包括16核,节点之间通过千兆网络连接(两根网线绑定);运行软件包括RNA并行程序;测试数据采用某三维工区数据,具体各项参数表1所示。
表1
为了保证测试性能结果的稳定性和可信度,我们采用20个节点分别测试多进程版、多线程版、GPU版,具体结果如表2所示:
表2
参见图4所示的性能测试结果示意图,由测试结果可见,本发明通过CPU+GPU协同计算,最大程度发挥CPU多核和多GPU设备的计算能力,在未改变RNA的处理结果情况下,与CPU的多进程多线程相比,加速比4倍以上,大幅缩短了地震资料处理中RNA的时间,并且具有节点容错和故障恢复功能。
下面对结合一个具体的实施例对三维关键字参数的使用过程进行介绍。
本发明实施例可以用于对三维叠前地震数据进行随机噪声衰减。可以通过三维叠前随机噪声衰减模块(PreStkRNAB3D)的GPU并行版本实现,地球物理功能没有任何变化。
本发明实施例的并行策略是将地震数据按照用户给定的三维关键字参数划分成多个小空间窗数据,在多个节点上并行进行处理,每个节点使用多线程或GPU计算一块小空间数据。将三维叠前地震数据视为一个四维数据体,一个维为线号、一个维为CMP号、一个维为CMP内的offset或trace、再一维为记录时间,利用F-XYO预测理论求取每一个频率成分的预测算子,把预测算子应用于三维叠前地震数据,达到衰减三维叠前随机噪声的目的。
本发明实施例的叠前随机噪声衰减方法,基于三维频率空间的F-XYO域预测去噪技术。它假设地震记录中的有效波在F-XYO域具有可预测性,而随机噪声无此特性。利用多道复数最小平方原理求取三维预测算子,并用该预测算子对该频率成分的四维地震数据体进行预测滤波,达到衰减随机噪声的目的。
设叠前地震数据体在时间方向上经过傅氏变换后,对于每一频率f有s(i,j,k)。利用复数最小平方原理设计的三维预测算子为u(l,m,n),并设其预测误差能量为Q(f),则有
(其中p,q,r=1,2,3,…,L,这里L为预测算子长度)可得
H·U=R
式中:H和R是来自F-XYO域地震数据的协方差矩阵;U是三维预测算子。
求解上矩阵方程可得三维预测算子,再用该预测算子对该频率成分的地震数据进行预测滤波,然后利用反傅氏变换回到时间域,就可以得到去噪后的结果。
本模块不需要GeoEast的标准输入输出模块,而是以一个单独模块的形式提交作业,模块自身管理地震数据的输入和输出。
关于输入/输出数据说明。
输入数据:三维叠前地震数据,可以是应用了静校正和动校正之后的共CMP道集数据。输出数据:经本发明实施例处理后的三维叠前地震数据。
关于参数界面说明。
参见图7所示的一种参数界面图,对图中的三维关键字参数进行说明:
minimum CMP line:输入的最小CMP线号,在处理中为X域。
maximum CMP line:输入的最大CMP线号,在处理中为X域。
minimum CMP:输入的最小CMP号,在处理中为Y域。
maximum CMP:输入的最大CMP号,在处理中为Y域。
minimum fold:输入道集的最低覆盖次数,在处理中为O域。必须为1。
maximum fold:输入道集的最大覆盖次数,在处理中为O域。超过最大覆盖次数的数据将丢失。
spatial window width in CMP line direction(X):空间窗在X域的长度,以道数计。其值必须大于等于两倍的算子长度。默认值为4倍算子长度+1。
spatial window width in CMP direction(Y):空间窗在Y域的长度,以道数计。其值必须大于等于两倍的算子长度。默认值为4倍算子长度+1。
spatial window width in fold direction(O):空间窗在O域的长度,以道数计。其值必须大于等于两倍的算子长度。默认值为4倍算子长度+1。
time window length(ms)时间窗长度(毫秒),推荐值取500毫秒,构造复杂时可取小些,取值范围:200毫秒~道长。
注:若要使用较大时窗长度,则算子长度也应适当增大。
predictive operator length:算子长度,推荐值7,取值范围:1~15。
number of overlap traces in spatial window:空间窗重叠的道数,取值范围:0~最小空间窗长度的一半,缺省值为算子长度。
time window overlap percent:时间窗重叠的百分比,取值范围:0~100,缺省为10。
white noise percent:白噪系数,取值范围:0~100,缺省为1。
start frequency for noise attenuation(Hz):进行去噪处理的起始频率,单位赫兹,缺省为0。
end frequency for noise attenuation(Hz):进行去噪处理的终止频率,单位赫兹,缺省为Nyquist频率。
mixing parameter:混波参数,成对出现,最多可提供5对。缺省为不混波。
time(ms):混波时间,单位毫秒。
add-back percent:加入原始数据的百分比。
zero fill options:对起始时间(第一个非零样点,即道头Min time of validsamples in the trace)之前的采样进行充0处理的选项。
yes对起始时间之前的采样进行充0处理。缺省值。
no不进行充0处理。
weighting options:对去噪后的个频率成分进行加权处理的选项。
not weighting:不进行加权。缺省值。
S/N:用信噪比值进行加权处理,此加权处理适用于低信噪比数据。
output energy is equal to input energy:进行加权处理,使输出能量等于输入能量。
amplitude dynamic balancing process options:对输出数据进行振幅动平衡处理的选项
yes进行动平衡处理。
no不进行动平衡处理。缺省值。
number_of_tasks:所用任务个数。
注:只在主控发送作业时起作用,用psjob命令发送时该参数不起作用。
input file name:输入地震数据文件名称。目前用户最多一次可输入当前工区下100个数据体文件。
参见图8所示的另一种参数界面图,对图中的参数进行说明:Filename:文件名。line:测线名。survey:工区名。project:项目名。注:目前多文件输入功能只能输入同一工区下的数据。input line range:与输入地震数据文件对应的输入线的范围。
参见图9所示的另一种参数界面图,对图中的参数进行说明:
start value:起始线,默认为输入数据的最小线。end value:结束线,默认为输入数据的最大线。注:输入线范围不可重叠。output data file name:输出地震数据文件名称。输出在当前工区下。sorting in CMP gather options:CMP道集内排序方式选件。trace:按炮内道检索号排序。offset:按实际炮检距排序。默认值。projected offset:按炮检距在测线上的投影排序。not sorting:不进行排序。specify temp file path options:指定临时文件存放目录选件。yes:指定临时文件存放目录。no:不指定临时文件存放目录。缺省值。临时文件将存储至GeoEast系统定义的本地临时盘中,具体路径详见注意事项a。temp file path:指定的临时文件存放目录。选定指定临时文件存放目录选件为yes时使用。number of GPUs per node:单个节点的GPU使用个数。默认为0,即不使用GPU。numberof threads per node for computing:单个节点用于计算的CPU线程个数。默认为节点CORE个数﹣GPU个数。
参见图10所示的参数取值界面示意图,可知对某三维叠前地震数据进行随机噪声衰减,作业及参数取值。
关于输出信息介绍如下:
正常信息:
GPUPreStkRNA3D--x--Right:3D prestack random noise attenuation(GPU),模块名及意义。GPUPreStkRNA3D--x—Right:GPUPreStkRNA3D Decoding completed,译码过程结束。GPUPreStkRNA3D--x—Right:Open database file successfully,打开地震数据文件成功。GPUPreStkRNA3D--x—Right:Open output file successfully,打开输出文件成功。
错误信息:
GPUPreStkRNA3D--x—Error:Error in opening database file,打开地震数据文件错误。GPUPreStkRNA3D--x—Error:Sample interval or trace length is wrong!,错误的采样间隔或道长。注:主要发生在多文件输入时,不同输入数据的采样间隔或道长不相等。GPUPreStkRNA3D--x—Error:Error in opening output file,打开输出文件错误。GPUPreStkRNA3D--x—Error:Minimum CMP line is greater than maximum CMP line,最小CMP线号大于最大CMP线号。GPUPreStkRNA3D--x—Error:Minimum CMP is greater thanmaximum CMP,最小CMP号大于最大CMP号。GPUPreStkRNA3D--x—Error:Maximum foldparameter is not right,最大覆盖次数参数填写不正确。GPUPreStkRNA3D--x—Error:Spatial window width in CMP line direction(X)is not right,CMP线方向上的空间窗长度不正确(必填参数)。GPUPreStkRNA3D--x—Error:Spatial window width in CMPdirection(Y)is not right,CMP号方向上的空间窗长度不正确(必填参数)。GPUPreStkRNA3D--x—Error:Spatial window width in fold direction(O)is notright,覆盖次数方向上的空间窗长度不正确(必填参数)。GPUPreStkRNA3D--x—Error:Spatial window width in X,Y,O direction is less than 2*(predictive operatorlength),X,Y,O方向上的空间窗长度小于2倍的算子长度。GPUPreStkRNA3D--x—Error:Maximum fold parameter is too small!!,最大覆盖次数太小!!。GPUPreStkRNA3D--x—Error:Mixing time is greater than trace length,混波时间大于道长。GPUPreStkRNA3D--x—Error:Mixing percent is greater than 100,混波百分比大于100。GPUPreStkRNA3D--x—Error:Start frequency is greater than end frequencyfor noise attenuation,去噪处理的起始频率大于终止频率。GPUPreStkRNA3D--x—Error:Error in reading data,please check data or maximum fold,读数据出错,请检查数据或最大覆盖次数。GPUPreStkRNA3D--x—Error:Error in writing trace header,写道头出错。GPUPreStkRNA3D--x—Error:Error in writing trace data,写道数据出错。GPUPreStkRNA3D--x—Error:Error in opening temp file,打开临时文件错误。GPUPreStkRNA3D--x—Error:The start line is greater than the end line,输入线的起始值大于终止值。GPUPreStkRNA3D--x—Error:The input line overlaps,pleasecheck the input data and the input line range,输入线重叠,请检查输入数据及输入线的范围。GPUPreStkRNA3D--x—Error:Out of memory,spatial window length is toobig,please check parameters,内存占用过大,空间窗长度太大,请检查作业参数。GPUPreStkRNA3D--x—Error:Number of processes per node is not equal,they mustbe equal,please check node list file!,每个节点的进程数必须相等,请检查节点文件。GPUPreStkRNA3D--x—Error:Number of processes per node is not equal to 3+GPUs,please check node list file!,每个节点的进程数必须等于3加上GPU使用个数,请检查节点文件。
警告信息:
GPUPreStkRNA3D--x—Warning:Minimum CMP line is less than that of realdata,minimum CMP line should be equal to real one,最小CMP线号小于实际数据的最小CMP线号,最小CMP线号应等于实际最小CMP线号。GPUPreStkRNA3D--x—Warning:MaximumCMP line is greater than that of real data,maximum CMP line should be equalto real one,最大CMP线号大于实际数据的最大CMP线号,最大CMP线号应等于实际最大CMP线号。GPUPreStkRNA3D--x—Warning:Minimum CMP is less than that of real data,minimum CMP should be equal to real one,最小CMP号小于实际数据的最小CMP号,最小CMP号应等于实际最小CMP号。GPUPreStkRNA3D--x—Warning:Maximum CMP is greaterthan that of real data,maximum CMP should be equal to real one,最大CMP号大于实际数据的最大CMP号,最大CMP号应等于实际最大CMP号。GPUPreStkRNA3D--x—Warning:Filled number of CMP lines is less than spatial window width in X direction,spatial window width in X direction will be set as number of CMP lines,设置的CMP线数小于X方向的空间窗长度,X方向的空间窗长度将等于设置的CMP线数。GPUPreStkRNA3D--x—Warning:Filled number of CMPs is less than spatial windowwidth in Y direction,spatial window width in Y direction will be set asnumber of CMPs,设置的CMP数小于Y方向的空间窗长度,Y方向的空间窗长度将等于设置的CMP数。GPUPreStkRNA3D--x—Warning:Filled fold is less than spatial windowwidth in O direction,spatial window width in O direction will be set as fold,设置的覆盖次数小于O方向的空间窗长度,O方向的空间窗长度将等于设置的覆盖次数。
关于限制和注意事项:
1.本模块需要较大的磁盘空间存储临时文件;该临时磁盘最好为本地盘,具体路径可通过temp file path参数填入。若不指定临时文件存放目录,临时文件将存入GeoEast系统定义的本地盘临时目录中(具体参见geosystem定义的FS_Name),具体路径是:GeoEast本地盘临时目录/RNA临时文件夹/,RNA临时文件夹定义为:RNA_TEMP_+用户名_+日期,如在2012年5月1日用户test启动作业,则RNA临时文件夹为RNA_TEMP_test_20120501。模块正常结束,将自动删除该文件夹;若程序意外中断,请手动删除该文件夹,并终止进程(如果存在)。
2.本模块每个节点所需临时存储空间大致为:2*(地震数据总量/节点数),模块LOG文件中所报最大临时存储空间(You need maximum temp disk space)是将数据全部按照最大覆盖次数计算得出,一般所需临时存储空间不会大于该值;若在LOG文件中出现“WARNING:free disk space may not be enough!!nodeid==”信息,请检查nodeid(nodeid按照节点文件中节点名顺序从0开始标号)对应的节点剩余磁盘空间。
3.本模块的临时文件命令规则如下:模块名.作业名.CJ号.*,其中CJ号在使用psjob命令发送时为0,在使用psjob命令发送不同作业时,请务必保证作业名不相同,否则会引起临时文件数据错误。
4.本模块的输入数据目前只适用于应用了静校正和动校正的CMP道集数据。
5.所有的空间窗长度都必须大于或等于两倍的算子长度。
6.若出现内存占用超过节点最大内存时(程序自行报错),可通过修改X,Y,O方向空间窗长度解决。
7.本版本为GPU并行版本,也可不使用GPU进行计算(Number of GPUs per node默认值0),即采用CPU多线程模式进行计算。目前本模块只能使用命令行psjob发送作业,具体命令如下:psjob作业名进程个数节点文件。
节点文件书写方式为:节点名:每个节点进程数。节点文件中每个节点使用进程数=3+GPU个数(若不正确程序自动报错,请留意LOG文件错误信息),进程个数=节点数*每个节点进程数。例:每个节点使用2个GPU,节点文件为nodefile,内容则为:dell2-01:5;dell2-02:5;dell2-03:5。
作业名为test.job,总的进程个数为15,则可使用如下命令发送作业:psjobtest.job 15nodefile。
8.本模块目前只适用于每个节点的GPU使用个数相等的Linux集群(若不等,程序自动报错)。
9.本模块需要先对输入数据进行顺序遍历,因而设定的数据范围(即CMP-line、CMP范围)最好与实际数据一致,若小于实际数据范围可能会浪费较多数据遍历时间。
关于输入道头字:
本模块使用下列道头字:Sample interval:采样间隔。Trace length:当前地震道记录长度。Min time of valid samples in the trace:起始有效时间。Data attributetype:地震数据属性类型。Trace type:地震道标识类型。CMP line:CMP线号。CMP:CMP号。Fold:生成当前道的水平叠加次数(实际覆盖次数)。Trace order in volume:当前道在数据体内的统一道顺序号。Trace order in gather:本道在当前道集内的顺序号。Trace:解编时产生的炮内道检索号。Offset:实际炮检距,单位为m。Projected offset:炮检距在测线上的投影,单位为m。User defined int.2:用户自定义整型参数2。
关于输出道头字:
下列道头字的内容可能被修改:Max amplitude in the trace:本地震道中样点的最大值。Min amplitude in the trace:本地震道中样点的最小值。Trace order ingather:本道在当前道集内的顺序号。User defined int.2:用户自定义整型参数2。
参见图2所示的CPU+GPU协同计算RNA方法流程示意图,本发明实施例提供了一种随机噪声衰减计算方法及装置,该方法运用CPU与GPU协同计算方式加速三维叠RNA,将地震数据按照用户给定三维关键字参数进行分块,每块数据作为一个计算任务,每个节点的主线程获取GPU设备数量N,根据设备数创建N个线程,主线程和N个GPU控制线程独立获取计算任务和参数初始化,使N+1个线程全部动态任务获取,主线程再生成CPU核数个计算线程进行节点内CPU并行计算,以上方式不仅实现了节点间任务的负载均衡,而且实现了各GPU卡间任务的负载均衡,利用集群中多计算节点及节点内多核、多GPU设备并行计算实现加速RNA资料处理方法。对CPU+GPU协同计算的RNA方法进行了优化,使用了优化访存、优化存储器之间的数据传输、高效访问共享存储器等策略。本发明解决了现有的RNA方法并行规模小、计算耗时长的问题,达到了简单快速完成地震资料处理的三维叠前随机噪声衰减的技术效果,形成一种高扩展性的地震资料RNA处理的并行方法。
本发明实施例还提供一种随机噪声衰减计算装置,参见图5所示的随机噪声衰减计算装置结构框图,该装置包括:
获取模块71,用于获取三维关键字参数和地震数据;划分模块72,用于根据三维关键字参数和地震数据确定多个子地震数据;生成模块73,用于根据GPU设备个数生成多个GPU控制线程;数据模块74,用于根据CPU的主线程和多个GPU控制线程并行获取子地震数据;计算模块75,用于根据主线程的多个计算线程和多个GPU控制线程的计算线程计算子地震数据,得到随机噪声衰减计算结果。
在一个实施例中,计算模块,具体用于:获取CPU核数,生成多个主机端计算线程;主机端计算线程的个数与CPU核数相同;根据每个GPU控制线程确定一个设备端计算线程;根据多个主机端计算线程和多个设备端计算线程并行计算子地震数据,得到随机噪声衰减计算结果。
在一个实施例中,计算模块,具体用于:获取各节点中子地震数据计算结果;对子地震数据计算结果进行重叠处理,得到各节点的结果数据;对结果数据进行合并,得到随机噪声衰减计算结果。
在一个实施例中,该装置还包括加锁模块,具体用于:对子地震数据计算结果添加读写锁。
在一个实施例中,生成模块,具体用于:获取GPU设备个数,生成多个GPU控制线程;GPU控制线程的个数与GPU设备个数相同。
本发明实施例还提供一种计算机设备,参见图6所示的计算机设备结构示意框图,该计算机设备包括存储器81、处理器82,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一种方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的计算机设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述
本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述任一种方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种随机噪声衰减计算方法,其特征在于,包括:
获取三维关键字参数和地震数据;
根据所述三维关键字参数和所述地震数据确定多个子地震数据;
根据GPU设备个数生成多个GPU控制线程;
根据CPU的主线程和多个所述GPU控制线程并行获取所述子地震数据;
根据所述主线程的多个计算线程和多个所述GPU控制线程的计算线程计算所述子地震数据,得到随机噪声衰减计算结果。
2.根据权利要求1所述的方法,其特征在于,根据所述主线程的多个计算线程和多个所述GPU控制线程的计算线程计算所述子地震数据,得到随机噪声衰减计算结果,包括:
获取CPU核数,生成多个主机端计算线程;所述主机端计算线程的个数与所述CPU核数相同;
根据每个所述GPU控制线程确定一个设备端计算线程;
根据所述多个主机端计算线程和多个所述设备端计算线程并行计算所述子地震数据,得到随机噪声衰减计算结果。
3.根据权利要求2所述的方法,其特征在于,根据所述多个主机端计算线程和多个所述设备端计算线程并行计算所述子地震数据,得到随机噪声衰减计算结果,包括:
获取各节点中子地震数据计算结果;
对所述子地震数据计算结果进行重叠处理,得到各节点的结果数据;
对所述结果数据进行合并,得到随机噪声衰减计算结果。
4.根据权利要求3所述的方法,其特征在于,获取各节点中子地震数据计算结果之后,还包括:
对所述子地震数据计算结果添加读写锁。
5.根据权利要求2所述的方法,其特征在于,根据GPU设备个数生成多个GPU控制线程,包括:
获取GPU设备个数,生成多个GPU控制线程;所述GPU控制线程的个数与所述GPU设备个数相同。
6.一种随机噪声衰减计算装置,其特征在于,包括:
获取模块,用于获取三维关键字参数和地震数据;
划分模块,用于根据所述三维关键字参数和所述地震数据确定多个子地震数据;
生成模块,用于根据GPU设备个数生成多个GPU控制线程;
数据模块,用于根据CPU的主线程和多个所述GPU控制线程并行获取所述子地震数据;
计算模块,用于根据所述主线程的多个计算线程和多个所述GPU控制线程的计算线程计算所述子地震数据,得到随机噪声衰减计算结果。
7.根据权利要求6所述的装置,其特征在于,所述计算模块,具体用于:
获取CPU核数,生成多个主机端计算线程;所述主机端计算线程的个数与所述CPU核数相同;
根据每个所述GPU控制线程确定一个设备端计算线程;
根据所述多个主机端计算线程和多个所述设备端计算线程并行计算所述子地震数据,得到随机噪声衰减计算结果。
8.根据权利要求7所述的装置,其特征在于,所述计算模块,具体用于:
获取各节点中子地震数据计算结果;
对所述子地震数据计算结果进行重叠处理,得到各节点的结果数据;
对所述结果数据进行合并,得到随机噪声衰减计算结果。
9.一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至5任一项所述的方法的步骤。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行上述权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911390348.5A CN113126162A (zh) | 2019-12-30 | 2019-12-30 | 随机噪声衰减计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911390348.5A CN113126162A (zh) | 2019-12-30 | 2019-12-30 | 随机噪声衰减计算方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113126162A true CN113126162A (zh) | 2021-07-16 |
Family
ID=76767534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911390348.5A Pending CN113126162A (zh) | 2019-12-30 | 2019-12-30 | 随机噪声衰减计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113126162A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007046711A1 (en) * | 2005-10-18 | 2007-04-26 | Sinvent As | Geological response data imaging with stream processors |
US20110276274A1 (en) * | 2010-05-06 | 2011-11-10 | Margaret Chen Yu | Seismic Interference Noise Elimination |
CN102854532A (zh) * | 2011-06-30 | 2013-01-02 | 中国石油天然气集团公司 | 三维叠前炮检域随机噪声压制方法 |
US20140278118A1 (en) * | 2013-03-14 | 2014-09-18 | Chevron U.S.A. Inc. | System and method for attenuating noise in seismic data |
CN104459781A (zh) * | 2014-12-09 | 2015-03-25 | 中国石油天然气集团公司 | 三维叠前地震数据的随机噪声衰减方法 |
CN104635258A (zh) * | 2013-11-06 | 2015-05-20 | 中国石油天然气集团公司 | 一种应用cpu-gpu平台进行地震波逆时偏移成像方法 |
CN105445792A (zh) * | 2015-11-26 | 2016-03-30 | 中国科学院地质与地球物理研究所 | 一种叠前多次波逆时偏移地震数据处理方法及系统 |
CN106842320A (zh) * | 2017-01-19 | 2017-06-13 | 北京大学 | Gpu并行三维地震波场生成方法和系统 |
CN108254789A (zh) * | 2018-01-26 | 2018-07-06 | 东北石油大学 | 一种压制地震数据随机噪音的去噪方法、设备及介质 |
US20190033479A1 (en) * | 2017-07-25 | 2019-01-31 | Advanced Geophysical Technology Inc. | Memory efficient q-rtm computer method and apparatus for imaging seismic data |
-
2019
- 2019-12-30 CN CN201911390348.5A patent/CN113126162A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007046711A1 (en) * | 2005-10-18 | 2007-04-26 | Sinvent As | Geological response data imaging with stream processors |
US20110276274A1 (en) * | 2010-05-06 | 2011-11-10 | Margaret Chen Yu | Seismic Interference Noise Elimination |
CN102854532A (zh) * | 2011-06-30 | 2013-01-02 | 中国石油天然气集团公司 | 三维叠前炮检域随机噪声压制方法 |
US20140278118A1 (en) * | 2013-03-14 | 2014-09-18 | Chevron U.S.A. Inc. | System and method for attenuating noise in seismic data |
CN104635258A (zh) * | 2013-11-06 | 2015-05-20 | 中国石油天然气集团公司 | 一种应用cpu-gpu平台进行地震波逆时偏移成像方法 |
CN104459781A (zh) * | 2014-12-09 | 2015-03-25 | 中国石油天然气集团公司 | 三维叠前地震数据的随机噪声衰减方法 |
CN105445792A (zh) * | 2015-11-26 | 2016-03-30 | 中国科学院地质与地球物理研究所 | 一种叠前多次波逆时偏移地震数据处理方法及系统 |
CN106842320A (zh) * | 2017-01-19 | 2017-06-13 | 北京大学 | Gpu并行三维地震波场生成方法和系统 |
US20190033479A1 (en) * | 2017-07-25 | 2019-01-31 | Advanced Geophysical Technology Inc. | Memory efficient q-rtm computer method and apparatus for imaging seismic data |
CN108254789A (zh) * | 2018-01-26 | 2018-07-06 | 东北石油大学 | 一种压制地震数据随机噪音的去噪方法、设备及介质 |
Non-Patent Citations (7)
Title |
---|
FENG WANG等: "Residual Learning of Deep Convolutional Neural Network for Seismic Random Noise Attenuation", IEEE GEOSCIENCE AND REMOTE SENSING LETTERS, vol. 16, no. 08, pages 1314 - 1318, XP011736036, DOI: 10.1109/LGRS.2019.2895702 * |
方云峰等: "基于数据规则化和稀疏反演的三维表面多次波压制方法", 地球物理学报, vol. 59, no. 02, pages 673 - 681 * |
林茂;董玉敏;蒋立;许涛;刘新军;: "利用GPU技术使去噪方法并行化", 计算机与应用化学, vol. 29, no. 11, pages 1379 - 1383 * |
王宏琳;: "计算机前沿技术在地球物理中的应用――下一代地震计算机将会是什么样子?", 勘探地球物理进展, vol. 31, no. 06, 31 December 2008 (2008-12-31), pages 419 - 426 * |
苏贵士, 周兴元, 李承楚: "频率空间(三维)F-XYZ域预测去噪技术", 石油地球物理勘探, vol. 33, no. 01, pages 95 - 104 * |
詹毅等: "GeoEast V3.0地震数据处理解释一体化软件系统", 石油科技论坛, vol. 36, no. 1, pages 4 - 7 * |
高新成;李春生;: "基于CPU/GPU协同加速叠前逆时偏移方法研究", 陕西理工学院学报(自然科学版), vol. 32, no. 01, pages 44 - 49 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10036829B2 (en) | Fault removal in geological models | |
CN103119471A (zh) | 用于生成地下构造的图像的系统和方法 | |
Ortega et al. | Fastspmm: An efficient library for sparse matrix matrix product on gpus | |
Zinno et al. | A cloud computing solution for the efficient implementation of the P-SBAS DInSAR approach | |
Zhang et al. | Accelerating 3D Fourier migration with graphics processing units | |
Martínez et al. | Towards seismic wave modeling on heterogeneous many-core architectures using task-based runtime system | |
Xu et al. | An efficient implementation of 3D high-resolution imaging for large-scale seismic data with GPU/CPU heterogeneous parallel computing | |
Gimenes et al. | Evaluating the performance and cost of accelerating seismic processing with cuda, opencl, openacc, and openmp | |
CN103675908A (zh) | 一种海量数据图形处理器的波动方程逆时偏移成像方法 | |
Panetta et al. | Accelerating Kirchhoff migration by CPU and GPU cooperation | |
Akbudak et al. | Asynchronous computations for solving the acoustic wave propagation equation | |
CN111751870B (zh) | 叠后层间多次波压制方法及装置 | |
Deschizeaux et al. | Imaging earth’s subsurface using CUDA | |
Witte et al. | Event-driven workflows for large-scale seismic imaging in the cloud | |
JP2001519932A (ja) | 超並列計算機による周波数ドメイン地震データ処理方法 | |
CN113126162A (zh) | 随机噪声衰减计算方法及装置 | |
Fu et al. | Pangulu: A scalable regular two-dimensional block-cyclic sparse direct solver on distributed heterogeneous systems | |
Assis et al. | Distributed-memory load balancing with cyclic token-based work-stealing applied to reverse time migration | |
CN109100804B (zh) | 改善地震数据空间采样属性的数据重建方法、装置及系统 | |
US20140310507A1 (en) | Methods of and apparatus for multidimensional indexing in microprocessor systems | |
US20150331964A1 (en) | Domain decomposition using a multi-dimensional spacepartitioning tree | |
Arora et al. | A tool for interactive parallelization | |
Kumar et al. | Spatially-aware parallel I/O for particle data | |
Hardy | The Devil truly is in the detail. A cautionary note on computational determinism: Implications for structural geology numerical codes and interpretation of their results | |
CN113885028A (zh) | 基于多服务器多gpu的星载sar成像实时处理方法 |
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 |