利用多个加速处理部件(APC)实现时域有限差分模型的系统和方法技术方案

技术编号:13182892 阅读:40 留言:0更新日期:2016-05-11 14:39
本文公开了用于利用多个APC(107)实现时域有限差分建模的方法的实施例。通过使每个APC以APC队列的方式执行关于小片计算域或数据体的多个时间步长,所公开的方法和系统克服了APC的存储器容量限制。然后,在主机和计算加速器之间传递数据的成本可以通过多个时间步长被分摊,大大地降低了维持高传播速度所需的PCI带宽量。算法的APC队列性质获得随着增加的APC数目的PCI吞吐量的线性缩放,容许在一些实施例中该算法按比例扩大至几十个APC。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】利用多个加速处理部件(APC)实现时域有限差分模型的系统和方法相关申请的交叉引用不适用。关于联邦政府赞助的研究或开发声明不适用。背景
本专利技术一般涉及与对油气勘探相关的计算机科学领域。更具体地,本专利技术涉及利用多个APC实现时域有限差分建模的方法。
技术介绍
时域有限差分(FDTD)建模是用于石油和天然气勘探的重要工具。FDTD核的图形处理单元(GPU)实现提供了最高的成本效率,并且正成为实际上的工业标准。目前,相对于浮点操作,GPU比CUP处理器快许多倍。具体地,现代GPU在操作计算机图形方面是非常高效的,并且它们的高度并行结构使得对于其中需要并行处理大数据块的算法而言,它们比通用CPU更有效。尽管GPU和其它计算加速器具有非常高的计算吞吐量,但是它们缺乏处理大部分石油和天然气问题中的大的数据体所需的存储器容量。常用的解决方法是域分解,一种将计算域或数据体分离为更小的片,并且将每个片分配给单独的计算加速器的方法。然后,对于可以被处理的问题的大小的限制因素成为附接到系统的所有计算加速器的集合存储器,而不是可用于任何单个计算加速器的存储器。相反,CPU系统存储器显著更大,并且可以被容易地增加以适应甚至现今发展的最大的模型和最复杂的核,但是在系统存储器与计算加速器存储器之间传递数据缓慢。因此,需要优化FDTD方法中GPU的使用的方法和系统。
技术实现思路
本文公开了用于利用多个加速处理部件(“APC”)实现时域有限差分建模的方法的实施例。通过使每个计算加速器以APC队列的方式执行关于小片计算域或数据体的多个时间步长,所公开的方法和系统克服了计算加速器的存储器容量限制。然后,在主机和计算加速器之间传递数据的成本可以通过多个时间步长被分摊,大大地降低了维持高传播速度所需的PCI带宽量。算法的APC队列性质获得随着增加的计算加速器数目的PCI吞吐量的线性缩放,容许在一些实施例中该算法按比例扩大至多于64个计算加速器。该方法的各种实施例的进一步的细节和优点在下面被更详细地描述。在实施例中,利用多个APC的地震建模方法包括:(a)将数据体和地震模型的至少部分存储到计算机系统的系统存储器源上。该数据体包括两个或更多个维度。该计算机系统包括耦接到系统存储器资源的APC队列。该APC队列包括彼此耦接并且耦接到系统存储器资源的多个APC。该方法还包括:(b)沿着维度中的至少一个划分数据体以形成多个数据块。此外,该方法还包括:(c)将数据块中的一个或多个从系统存储器资源传递到队列中的第一APC。该第一 APC为数据块中的至少一个计算至少一个时间迭代。此外,该方法包括:(d)将数据块从队列内的一个APC传递到队列中的下一 APC。该方法附加地包括:(e)为队列中每个剩余的APC重复(d)。队列中的每个APC为存储在每个APC内的至少一个数据块计算至少一个时间迭代。该方法进一步包括:(f)将数据块中的一个从队列中的最后的APC传递到系统存储器资源。在另一实施例中,计算机系统包括用于接收数据体的接口。该数据体包括两个或更多个维度。该计算机系统还包括系统存储器资源和用于将通信信号呈现给人类用户以及从人类用户接收通信信号的输入和输出功能。该计算机系统还包括经由通信总线耦接到系统存储器资源的APC队列。该队列包括多个APC。该计算机系统进一步包括用于执行程序指令的一个或多个中央处理单元。该系统存储器资源被耦接到中央处理单元,用于存储包括程序指令的计算机程序,所述程序指令当被所述一个或多个中央处理单元以及所述多个APC执行时促使计算机系统执行用于地震建模的多个操作。所述多个操作包括(a)将数据体和地震模型的至少部分存储到系统存储器资源上。该数据体可以包括两个或更多个维度。所述多个操作还包括:(b)沿着维度中的至少一个划分数据体以形成多个数据块。附加地,所述多个操作包括:(c)将数据块中的一个或多个从系统存储器资源传递到队列中的第一APC,所述第一 APC为数据块中的一个计算至少一个时间迭代。所述多个操作进一步包括:(d)将数据块从队列内的一个APC传递到队列中的下一APC。所述多个操作还包括:(e)为队列中每个剩余的APC重复(d)。队列中的每个APC为存储在每个APC内的至少一个数据块计算至少一个时间迭代。此外,所述多个操作包括:(f)将数据块中的一个从队列中的最后的APC传递到系统存储器资源。在实施例中,地震建模的方法包括:(a)输出在计算机系统的系统存储器资源上的数据体和地震模型的至少部分。该数据体包括不只一个维度,并且该计算机系统包括彼此耦接并且耦接到系统存储器资源的多个APC。该方法进一步包括:(b)沿着维度中的至少一个划分数据体以形成多个数据块。此外,该方法包括:(C)将数据块的子集从系统存储器资源传递到APC中的一个。该方法还包括:(d)将至少一个数据块从一个APC传递到另一 APCt^b夕卜,该方法包括:(e)使用每个APC为存储在每个APC内的至少一个数据块计算至少一个时间迭代,以及(f)将数据块中的一个从多个APC传递到系统存储器资源。前述已经相当宽泛地概括了本专利技术的特征和技术优点,以便接着的本专利技术的具体实施例可以被更好地理解。本专利技术的附加特征和优点将被在下文中描述,其形成了本专利技术的权利要求的主题。本领域技术人员应当理解所公开的概念和具体实施例可以被容易地用作实现本专利技术的相同目的而修改或设计其它结构的基础。本领域技术人员还应当意识到这种等价构造不脱离如随附权利要求中提出的本专利技术的精神和范围。【附图说明】为了本专利技术的优选实施例的更详细的描述,现在将参考附图,其中:图1说明了用于在利用多个APC实现时域有限差分建模的方法的实施例中使用的系统的实施例的图示;图2说明了用于与利用多个APC实现时域有限差分建模的方法的实施例使用的数据体的图示;图3说明了利用多个APC实现时域有限差分建模的方法的实施例的流程图;图4A说明了用于与利用多个APC实现时域有限差分建模的方法的实施例使用的沿着两个维度划分的数据体的图示;图4B说明了用于与利用多个APC实现时域有限差分建模的方法的实施例使用的沿着三个维度划分的数据体的图示;图5说明了用于在利用多个APC实现时域有限差分建模的方法的实施例中使用的系统的实施例的另一图示;图6说明了用于与所公开的方法的实施例使用的计算机系统的示例。符号和命名某些术语被在下面的整个【具体实施方式】和权利要求中使用,以指特定的系统部件。该文件不是意在区分名称不同而非功能不同的部件。在下面的讨论和权利要求中,术语“包括”和“包含”被以开放式的方式使用,并且因此应当被解释为意为“包括,但不限于……”。此外,术语“耦接”或“親合”意在意为间接或直接连接。因此,如果第一设备耦接到第二设备,该连接可以通过直接连接或通过经由其它设备和连接的间接连接。如本文使用的,“加速处理部件”或“APC”指包括被设计为提供附加的处理能力和设计为加速中央处理单元(CPU)外部的一种或多种类型的计算的一个或多个协同处理器或加速器芯片的设备、芯片、电路或板。APC的示例可以包括但不限制于如本文定义的GPU、协同处理器、加速器芯片或它们的结合。如本文使用的,“图形处理单元”或“GPU”指包括被设计为加速或快速操纵大的数据本文档来自技高网...

【技术保护点】
一种利用多个APC的地震建模方法,所述方法包括:(a)将数据体和地震模型的至少部分存储到计算机系统的系统存储器资源上,其中数据体包括两个或更多个维度,计算机系统包括耦接到系统存储器资源的APC队列,APC队列包括彼此耦接并且耦接到系统存储器资源的多个APC;(b)沿着所述维度中的至少一个维度划分数据体以形成多个数据块;(c)将所述数据块中的一个或多个从系统存储器资源传递到队列中的第一APC,所述第一APC为数据块中的至少一个计算至少一个时间迭代;(d)将数据块从队列内的一个APC传递到队列中的下一APC;(e)为队列中每个剩余的APC重复(d),其中队列中的每个APC为存储在每个APC内的至少一个数据块计算至少一个时间迭代;以及(f)将数据块中的一个从队列中的最后的APC传递到系统存储器资源。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:T·约翰森A·洛都什刘伟
申请(专利权)人:雪佛龙美国公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1