一种利用CPU/MIC协同计算加速地震叠前时间偏移的方法技术

技术编号:8531607 阅读:200 留言:0更新日期:2013-04-04 13:47
本发明专利技术提供了一种利用CPU/MIC协同计算加速地震叠前时间偏移的方法,涉及到高性能计算领域。该方法采用CPU与MIC异构架构,其中CPU负责FFT计算、读地震道数据、进程控制与调度,还参与PSTM计算,而MIC只做PSTM计算,同时计算之间采用异步并行思想及动态负载均衡方式,实现CPU与MIC协同计算与共同计算;其整体设计包含三个方面:PSTM计算部分串行算法的并行设计、PSTM整体逻辑结构设计及CPU与MIC的异步计算设计。该方法的有益效果是:利用CPU/MIC协同计算提高了PSTM的性能,减少了机房构建成本和管理、运行、维护费用,且实现简单,需要的开发成本低。

【技术实现步骤摘要】

本专利技术涉及计算机高性能计算领域、石油地震勘探领域,具体地说是一种利用 CPU/MIC协同计算加速地震叠前时间偏移的方法。
技术介绍
地震叠前时间偏移(简称PSTM)已进行了多年研究,上世纪九十年代初期开始初 步应用,中后期在不少探区的地震勘探中发挥了重要作用,进入本世纪后开始了较为广泛 的应用,目前部分处理公司和计算中心已把该技术作为常规软件加入到常规处理流程中, 成为获取保幅信息实现属性分析、AV0/AVA/AVP反演和其它参数反演的重要步骤和依据。PSTM是复杂构造成像最有效的方法之一,能适应纵横向速度变化较大的情况,适 用于大倾角的偏移成像。PSTM每输出一个地震道,就是一次海量运算。以I毫秒采样,6秒 数据为例,一个地震道的输出需要至少1000万道甚至更多(偏移孔径决定)的输入道,每一 个点要做两次均方根运算以及两次加法运算,振幅补偿两次乘法运算。如此计算下来,实现 一道偏移需要10000(K)X6(KK)X2X (平方+加法+乘法)次数学运算,计算量和需要处理 的数据量都极其巨大!目前,人们往往使用大规模的服务器集群来进行叠前偏移处理,其原理是将数据先分 配到各个CPU核上,然后由各个CPU核单独进行计算,最后将结果汇总输出。这种做法消耗 了大量的时间、电力和维护费用。而且,随着人们对石油勘探地震资料处理的周期要求越来 越短,精度要求越来越高,服务器集群的规模越做越大,在系统构建成本、数据中心机房空 间、内存和I/o带宽、功耗散热和电力限制、可管理性、编程简易性、扩展性、管理维护费用 等方面都面临着巨大的挑战。MIC是Intel公司开发的,用于高性能并行计算的众核芯片,具有超高计算性能。 MIC在计算机体系中,并非欲取代CPU,而是作为协处理器存在的。MIC芯片通常有50个以 上精简的x86核心,每个core支持4个硬件线程,可并行执行的任务数达到200以上,提供 高度并行的计算能力,其双精峰值性能达到lTFlops。
技术实现思路
本专利技术鉴于现有地震叠前时间偏移(简称PSTM)在应用中存在的问题,及MIC高性 能并行计算的特点,提供一种利用CPU/MIC协同计算加速地震叠前时间偏移的方法。本专利技术是以PSTM的计算划分、PSTM的性能瓶颈及PSTM计算部分串行算法的并行分析 为基础进行提出的,下面对这三点加以说明a)PSTM的计算划分分析PSTM程序,按照功能把PSTM划分为FFT计算部分和PSTM 计算部分;b)PSTM的性能瓶颈PSTM计算占整个PSTM程序运行的绝大部分时间,PSTM计算部 分是整个PSTM的性能瓶颈部分;c)PSTM计算部分串行算法的并行分析通过分析PSTM计算部分串行算法,地震道数据之间可以并行处理,而每一地震道数据内,它所要处理L_NUM条侧线与每条 侧线对应的CMP_NUM个CMP点,即所要处理的CMP点数为L_NUM*CMP_NUM,每个点可以实现 并行。本专利技术所提出的加速地震叠前时间偏移的方法,是按如下方式解决所述技术问题 的该方法采用CPU与MIC异构架构,其中CPU负责FFT计算、读地震道数据、进程控制与调 度,还参与PSTM计算,而MIC只做PSTM计算,同时计算之间采用异步并行思想及动态负载 均衡方式,实现CPU与MIC协同计算与共同计算,达到加速PSTM的目的;该方法整体设计包 含三个方面=PSTM计算部分串行算法的并行设计、PSTM整体逻辑结构设计及CPU与MIC的 异步计算设计。下面对该方法整体设计的各个方面进行说明(1)PSTM计算部分串行算法的并行设计不同的地震道放在CPU或者MIC设备,实现设备间的并行,同时达到动态负载均衡,对 于每一道数据而言,CMP点按照每个设备所起的线程数进行并行;(2)PSTM整体逻辑结构设计该CPU/MIC异构系统包含2个MIC卡和2块CPU,CPU端负责进程调度、FFT计算,并参 与PSTM计算;MIC端只负责PSTM计算,CPU与MIC实现协同计算与共同计算;CPU端起3个 计算进程计算进程I负责控制MICl的计算,计算进程2负责控制MIC2的计算,计算进程 3负责控制2块CPU的计算;(3)CPU与MIC的异步计算设计每个计算进程内起2个线程,开辟2个缓冲区,线程O负责读地震道数据,并开始进行 多道FFT计算,线程I负责PSTM计算;PSTM计算与读数据与FFT计算并行,同时CPU到MIC 的数据传输采用异步方式,也能隐藏在PSTM计算中。此外,该方法所述异步并行思想,是指CPU不同线程和MIC不同线程之间的任务 能实现并行,并且通过利用双缓冲区方式实现异步,使FFT计算、读地震道数据、PSTM计算、 CPU与MIC之间的数据传输能相互隐藏。该方法所述动态负载均衡方式,是指按照地震道数据进行划分,CPU设备与MIC设 备各自计算不同的地震道数据,谁算完就取下一道数据进行计算,(PU与MIC之间实现动态 负载均衡。本专利技术的一种利用CPU/MIC协同计算加速地震叠前时间偏移的方法的有益效果 是该方法利用CPU/MIC异构提高了 PSTM的计算性能,满足石油地震勘探资料处理的需求, 显著降低功耗,减少机房构建成本和管理、运行、维护费用,且该方法实现简单,需要的开发 成本低。附图说明附图1为该方法的整体逻辑结构设计示意图;附图2为该方法的异步并行计算设计示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清晰,下面结合附图和实施例,对本专利技术作进一步详细说明。该方法整体设计包含三个方面PSTM计算部分串行算法的并行设计、PSTM整体逻 辑结构设计及CPU与MIC的异步计算设计;该方法采用CPU与MIC异构架构,其中CPU负 责FFT计算、读地震道数据、进程控制与调度,还参与PSTM计算,而MIC只做PSTM计算,实 现CPU与MIC协同计算与共同计算,整个PSTM计算实现异步方式,读地震道数据、FFT计算、 PSTM计算及CPU到MIC的数据传输,都可以相互隐藏,达到加速PSTM的目的,使性能达到最 优。实施例下面通过一个实施例和性能测试来说明该方法的具体实施过程和优点,详细过程如下(1)定位PSTM的性能瓶颈;a)PSTM的计算划分分析PSTM程序,按照功能把PSTM划分为FFT计算部分和PSTM 计算部分,整个PSTM程序的运行时间为FFT计算运行时间和PSTM计算运行时间之和;b)找出PSTM的性能瓶颈选选用一个体偏成像空间,其侧线数为91,每条侧线的CMP 点数为963,输入道道数为110000,大小为70G,运行PSTM程序,发现PSTM计算占整个PSTM 程序运行时间的97%,说明PSTM计算部分是整个PSTM的性能瓶颈部分;(2)PSTM计算部分串行算法的并行性分析把整个PSTM计算的代码从PSTM程序中抽取出来,研究PSTM计算的串行算法,分析其 是否具有并行性,研究发现110000道数据间都可以并行,91*963个CMP点间也可以并行;(3)PSTM计算部分串行算法的并行设计不同的地震道可以放在CPU或MIC设备,实现设备间的并行,CPU和MIC每次取100道 数据进行计算,谁算完,就取下100道数据,CPU与MIC计算达到动态负载均衡。对于每一道 数据而言,CI3U端采用2块C本文档来自技高网
...

【技术保护点】
一种利用CPU/MIC协同计算加速地震叠前时间偏移的方法,其特征在于该方法采用CPU与MIC异构架构,其中CPU负责FFT计算、读地震道数据、进程控制与调度,还参与PSTM计算,而MIC只做PSTM计算,同时计算之间采用异步并行思想及动态负载均衡方式,实现CPU与MIC协同计算与共同计算;其整体设计包含三个方面:PSTM计算部分串行算法的并行设计、PSTM整体逻辑结构设计及CPU与MIC的异步计算设计;?????下面对该方法整体设计的各个方面进行说明:PSTM计算部分串行算法的并行设计:不同的地震道放在CPU或者MIC设备,实现设备间的并行,同时达到动态负载均衡,对于每一道数据而言,CMP点按照每个设备所起的线程数进行并行;所述PSTM整体逻辑结构设计为:该CPU/MIC异构系统包含2个MIC卡和2块CPU,CPU端负责进程调度、FFT计算,并参与PSTM计算;MIC端只负责PSTM计算,CPU与MIC实现协同计算与共同计算;CPU端起3个计算进程:计算进程1负责控制MIC1的计算,计算进程2负责控制MIC2的计算,计算进程3负责控制2块CPU的计算;所述CPU与MIC的异步计算设计为:每个计算进程内起2个线程,开辟2个缓冲区,线程0负责读地震道数据,并开始进行多道FFT计算,线程1负责PSTM计算;PSTM计算与读数据与FFT计算并行,同时CPU到MIC的数据传输采用异步方式,也能隐藏在PSTM计算中。...

【技术特征摘要】
1.一种利用CPU/MIC协同计算加速地震叠前时间偏移的方法,其特征在于该方法采用CPU与MIC异构架构,其中CPU负责FFT计算、读地震道数据、进程控制与调度,还参与PSTM计算,而MIC只做PSTM计算,同时计算之间采用异步并行思想及动态负载均衡方式,实现CPU与MIC协同计算与共同计算;其整体设计包含三个方面PSTM计算部分串行算法的并行设计、PSTM整体逻辑结构设计及CPU与MIC的异步计算设计;下面对该方法整体设计的各个方面进行说明 PSTM计算部分串行算法的并行设计 不同的地震道放在CPU或者MIC设备,实现设备间的并行,同时达到动态负载均衡,对于每一道数据而言,CMP点按照每个设备所起的线...

【专利技术属性】
技术研发人员:张清张广勇
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1