全波形反演并行计算方法及系统与流程

文档序号:13613764阅读:270来源:国知局
全波形反演并行计算方法及系统与流程

本发明涉及石油勘探应用中的地震资料成像技术领域,更具体地,涉及一种基于自动作业控制的全波形反演并行计算方法及系统。



背景技术:

全波形反演是地震波建模成像中的关键和前沿技术,由于它的计算量非常巨大,通常需要依赖大型高性能计算机集群的并行计算来实现,因此怎样实现全波形反演的并行计算,并使得并行效率得到充分利用,成为人们实现全波形反演技术的关键技术难点。目前所有公开的全波形反演并行计算实现方案,都是采用mpi技术,通过计算机节点间的实时通讯交换信息来实现。

发明人发现,在实际应用中,mpi技术存在一些问题,比如大规模并行计算效率低下、稳定性差、硬件成本高、不支持异构设备等。因此,有必要开发一种高效稳定的全波形反演并行计算方法及系统。

公开于本发明背景技术部分的信息仅仅旨在加深对本发明的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。



技术实现要素:

本发明提出了一种全波形反演并行计算方法及系统,其能够通过自动作业控制,使计算节点根据炮点数据不同的计算状态进行计算,实现一种高效稳定的全波形反演并行计算方法。

根据本发明的一方面,提出了一种全波形反演并行计算方法。该方法可以包括以下步骤:基于所采集的地震资料,获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件;基于所述并行状态文件,进行自动作业控制,计算所述炮点数据的全波形反演项目,获得所述炮点数据的全波形反演项目结果;以及基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型,其中,所述自动作业控制包括:基于所述并行状态文件,由计算节点获取多个所述炮点数据的计算状态;所述计算节点对计算状态为未完成的所述炮点数据进行计算,并在计算完成后更改所述炮点数据的计算状态为完成。

根据本发明的另一方面,提出了一种全波形反演并行计算系统,所述系统可以包括:用来基于所采集的地震资料,获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件的单元;用来基于所述并行状态文件,进行自动作业控制,计算所述炮点数据的全波形反演项目,获得所述炮点数据的全波形反演项目结果的单元;以及用来基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型的单元,其中,所述自动作业控制包括:基于所述并行状态文件,由计算节点获取多个所述炮点数据的计算状态;所述计算节点对计算状态为未完成的所述炮点数据进行计算,并在计算完成后更改所述炮点数据的计算状态为完成。

本发明的方法和装置具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施方式中将是显而易见的,或者将在并入本文中的附图和随后的具体实施方式中进行详细陈述,这些附图和具体实施方式共同用于解释本发明的特定原理。

附图说明

通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出了根据本发明的全波形反演并行计算方法的步骤的流程图。

图2示出了根据本发明的一个实施方式的炮点数据的并行状态文件的示意图。

图3a及图3b分别示出了根据本发明的一个实施方式的全波形反演并行计算方法的示意图。

图4a及图4b分别示出了根据现有技术的一种计算方法的示意图。

图5a及图5b分别示出了根据现有技术的另一种计算方法的示意图。

具体实施方式

下面将参照附图更详细地描述本发明。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。

实施方式1

图1示出了根据本发明的全波形反演并行计算方法的步骤的流程图。

在该实施方式中,根据本发明的全波形反演并行计算方法可以包括:步骤101,基于所采集的地震资料,获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件;步骤102,基于所述并行状态文件,进行自动作业控制,计算所述炮点数据的全波形反演项目,获得所述炮点数据的全波形反演项目结果;以及步骤103基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型,其中,所述自动作业控制可以包括:基于所述并行状态文件,由计算节点获取多个所述炮点数据的计算状态;所述计算节点对计算状态为未完成的所述炮点数据的全波形反演项目进行计算,并在计算完成后更改所述炮点数据的计算状态为完成。

该实施例通过自动作业控制,使计算节点根据炮点数据不同的计算状态进行计算,实现一种高效稳定的全波形反演并行计算。

下面详细说明根据本发明的全波形反演并行计算方法的具体步骤。

获取炮点数据的并行状态文件

在一个示例中,可以基于所采集的地震资料,获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件。其中,炮点数据的计算状态可以包括:完成和未完成,具体地,未完成可以包括:未计算、1节点计算、2节点计算、……、n节点计算、n+1节点计算、……,其中,n可以为2、3、……、n-1,n可以为计算节点的数量。例如,计算节点的数量可以为3个,炮点数据的计算状态可以包括:完成、未计算、1节点计算、2节点计算、3节点计算。

图2示出了根据本发明的一个实施方式的炮点数据的并行状态文件的示意图。该并行状态文件用来记录每一次并行计算过程中的每一个炮点数据的计算状态。如图2所示,炮点数据的数量可以为20个,计算节点的数量可以为3个。炮点数据的计算状态为完成可以记录为done,炮点数据的计算状态为未计算可以记录为untouched,炮点数据的计算状态为1节点计算可以记录为1sttry,炮点数据的计算状态为2节点计算可以记录为2ndtry。

自动作业控制计算

在一个示例中,可以基于并行状态文件,进行自动作业控制,可以计算炮点数据的全波形反演项目,可以获得炮点数据的全波形反演项目结果。

在一个示例中,炮点数据的全波形反演项目可以包括炮点数据的梯度与线性搜索。

在一个示例中,自动作业控制可以包括:基于并行状态文件,计算节点可以获取炮点数据的计算状态;计算节点对计算状态为未完成的所述炮点数据的全波形反演项目可以进行计算,并在计算完成后可以更改炮点数据的计算状态为完成。

图3a及图3b示出了根据本发明的一个实施方式的全波形反演并行计算的流程及示意图。如图3a所示,计算节点可以为3个,分别为a、b、c,炮点数据的数量可以为20个。计算节点c的计算效率可以为计算节点a或b的两倍。计算节点a可以获取炮点数据1的计算状态为untouched,计算节点a可以对炮点数据1的全波形反演项目进行计算,并在计算完成后可以更改炮点数据1的计算状态为done;计算节点b可以获取炮点数据2的计算状态为untouched,计算节点b可以对炮点数据2的全波形反演项目进行计算,并在计算完成后可以更改炮点数据2的计算状态为done;计算节点c可以获取炮点数据3的计算状态为untouched,计算节点c可以对炮点数据3的全波形反演项目进行计算,并在计算完成后可以更改炮点数据3的计算状态为done;计算节点c可以获取炮点数据4的计算状态为untouched,计算节点c可以对炮点数据4的全波形反演项目进行计算,并在计算完成后可以更改炮点数据4的计算状态为done。

在一个示例中,计算节点对计算状态为未完成的炮点数据进行计算可以包括:可以在炮点数据的计算状态为未计算的情况下,计算节点可以对炮点数据的全波形反演项目进行计算,并可以将炮点数据的计算状态改变为1节点计算。可以在炮点数据的计算状态为1节点计算的情况下,计算节点可以对炮点数据的全波形反演项目进行计算,并可以将炮点数据的计算状态改变为2节点计算;可以在炮点数据的计算状态为n节点计算的情况下,计算节点可以对炮点数据的全波形反演项目进行计算,并可以将炮点数据的计算状态改变为n+1节点计算,其中,n可以为2、3、……、n-1。

具体地,在炮点数据1的计算状态为untouched的情况下,计算节点a可以对炮点数据1的全波形反演项目进行计算,并可以将炮点数据1的计算状态改变为1sttry;在炮点数据2的计算状态为untouched的情况下,计算节点b可以对炮点数据2的全波形反演项目进行计算,并可以将炮点数据2的计算状态改变为1sttry;在炮点数据3的计算状态为untouched的情况下,计算节点c可以对炮点数据3的全波形反演项目进行计算,并可以将炮点数据3的计算状态改变为1sttry。

在炮点数据1的计算状态为1sttry的情况下,计算节点b可以对炮点数据1的全波形反演项目进行计算,并可以将炮点数据1的计算状态改变为2ndtry。

在炮点数据1的计算状态为2ndtry的情况下,计算节点c可以对炮点数据1的全波形反演项目进行计算,并可以将炮点数据1的计算状态改变为3rdtry。

如图3b所示,由计算节点a、b、c可以分别获取20个炮点数据的计算状态;计算节点a、b、c可以分别对计算状态为未完成的所述炮点数据的全波形反演项目进行计算,并在计算完成后更改所述炮点数据的计算状态为完成。如图3b所示,计算节点a计算的炮点数据可以为炮点数据1、炮点数据5、炮点数据9、炮点数据13、炮点数据17,计算节点b计算的炮点数据可以为炮点数据2、炮点数据6、炮点数据10、炮点数据14、炮点数据18,计算节点c计算的炮点数据可以为炮点数据3、炮点数据4、炮点数据7、炮点数据8、炮点数据11,炮点数据12、炮点数据15、炮点数据16、炮点数据19、炮点数据20。

获取全波形反演模型

在一个示例中,基于炮点数据的全波形反演项目结果更新速度模型,在速度模型的更新次数未达到指定次数的情况下,可以按照更新后的速度模型继续进行全波形反演并行计算;在速度模型的更新次数达到指定次数的情况下,最后一次更新的速度模型可以作为最终速度模型,进而可以获得全波形反演模型,其中,指定次数可以为人为设定的并行计算的总次数。如图2所示,指定次数可以设定为6次,在速度模型的更新次数未达到6次的情况下,可以按照更新后的速度模型继续进行全波形反演并行计算;在速度模型的更新次数达到6次的情况下,最后一次更新的速度模型可以作为最终速度模型,进而可以获得全波形反演模型。

应用示例

为便于理解本发明实施方式的方案及其效果,以下给出一个具体应用示例。本领域技术人员应理解,该示例仅为了便于理解本发明,其任何具体细节并非意在以任何方式限制本发明。

图3a及图3b示出了根据本发明的一个实施方式的全波形反演并行计算方法的示意图。图4a及图4b示出了根据现有技术的一种计算方法的示意图。图5a及图5b示出了根据现有技术的另一种计算方法的示意图。

具体地,如图3a、图4a及图5a所示,计算节点可以为3个,可以分别为a、b、c,炮点数据的数量可以为20个。计算节点a、b可以为8核计算机,计算节点c可以为16核计算机,计算节点c的计算效率为计算节点a或b的两倍,计算节点a和b单独完成任何一炮的时间可以为1小时,计算节点c完成任何一炮的时间可以为0.5小时。

具体地,如图3b所示,计算节点a计算的炮点数据可以为炮点数据1、炮点数据5、炮点数据9、炮点数据13、炮点数据17,计算节点b计算的炮点数据可以为炮点数据2、炮点数据6、炮点数据10、炮点数据14、炮点数据18,计算节点c计算的炮点数据可以为炮点数据3、炮点数据4、炮点数据7、炮点数据8、炮点数据11,炮点数据12、炮点数据15、炮点数据16、炮点数据19、炮点数据20,计算20个炮点数据的时间为5小时。

如图4a及图4b所示,根据现有技术的一种计算方法,基于单炮区域分解进行并行计算。如图4b所示,该方法依次计算炮点数据1、2、3、…、20,并在计算每一个炮点数据的过程中,把该炮点数据的计算区域按参与计算的计算节点个数分解为三份,可以实现每一炮的并行计算。具体地,3个节点同时计算一炮的时间不小于1/3小时,该方法计算20个炮点数据的时间为6.7小时。

如图5a及图5b所示,根据现有技术的一种计算方法,基于均分炮数进行并行计算。如图5b所示,该方法中20个炮点数据被尽可能均匀地分配到每一个计算节点上,每一个计算节点负责一部分炮点数据的计算。具体地,计算节点a计算的炮点数据为炮点数据1、炮点数据4、炮点数据7、炮点数据10、炮点数据13、炮点数据16、炮点数据19,计算节点b计算的炮点数据为炮点数据2、炮点数据5、炮点数据8、炮点数据11、炮点数据14、炮点数据17、炮点数据20,计算节点c计算的炮点数据为炮点数据3、炮点数据6、炮点数据9、炮点数据12、炮点数据15、炮点数据18,计算20个炮点数据的时间为7小时。

由此可见,根据本发明的全波形反演并行计算方法比现有技术所需时间显著减少,计算效率提升34%—40%。

本领域技术人员应理解,上面对本发明的实施方式的描述的目的仅为了示例性地说明本发明的实施方式的有益效果,并不意在将本发明的实施方式限制于所给出的任何示例。

实施方式2

根据本发明的实施方式,提供了一种全波形反演并行计算系统,所述系统可以包括:用来基于所采集的地震资料,获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件的单元;用来基于所述并行状态文件,进行自动作业控制,计算所述炮点数据的全波形反演项目,获得所述炮点数据的全波形反演项目结果的单元;以及用来基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型的单元。其中,自动作业控制可以包括:基于所述并行状态文件,由计算节点获取多个炮点数据的计算状态;计算节点对计算状态为未完成的炮点数据进行计算,并在计算完成后更改炮点数据的计算状态为完成。

该实施方式通过自动作业控制,使计算节点根据炮点数据不同的计算状态进行计算,实现一种高效稳定的全波形反演并行计算。

在一个示例中,炮点数据的全波形反演项目可以包括炮点数据的梯度与线性搜索。

在一个示例中,全波形反演项目的计算状态为未完成可以包括:未计算、1节点计算、2节点计算、……、n节点计算、n+1节点计算、……,其中,n为2、3、……、n-1,n为所述计算节点的数量。

在一个示例中,计算节点对计算状态为未完成的炮点数据进行计算可以包括:在炮点数据的计算状态为未计算的情况下,计算节点对炮点项目的全波形反演项目进行计算,并将炮点数据的计算状态改变为1节点计算;在炮点数据的计算状态为1节点计算的情况下,计算节点对炮点数据的全波形反演项目进行计算,并将炮点数据的计算状态改变为2节点计算;在炮点数据的计算状态为n节点计算的情况下,计算节点对炮点数据的全波形反演项目进行计算,并将炮点数据的计算状态改变为n+1节点计算。

在一个示例中,基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型可以包括:在所述速度模型的更新次数未达到指定次数的情况下,将按照更新后的所述速度模型继续进行所述全波形反演并行计算;在所述速度模型的更新次数达到指定次数的情况下,将最后一次更新的速度模型作为最终速度模型,进而获得全波形反演模型,其中,所述指定次数为人为设定的并行计算的总次数。

本领域技术人员应理解,上面对本发明的实施方式的描述的目的仅为了示例性地说明本发明的实施方式的有益效果,并不意在将本发明的实施方式限制于所给出的任何示例。

以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1