CN103018776B - 一种利用cpu/mic协同计算加速地震叠前时间偏移的方法 - Google Patents

一种利用cpu/mic协同计算加速地震叠前时间偏移的方法 Download PDF

Info

Publication number
CN103018776B
CN103018776B CN201210475876.2A CN201210475876A CN103018776B CN 103018776 B CN103018776 B CN 103018776B CN 201210475876 A CN201210475876 A CN 201210475876A CN 103018776 B CN103018776 B CN 103018776B
Authority
CN
China
Prior art keywords
pstm
cpu
mic
calculating
calculates
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
CN201210475876.2A
Other languages
English (en)
Other versions
CN103018776A (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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201210475876.2A priority Critical patent/CN103018776B/zh
Publication of CN103018776A publication Critical patent/CN103018776A/zh
Application granted granted Critical
Publication of CN103018776B publication Critical patent/CN103018776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Geophysics And Detection Of Objects (AREA)

Abstract

本发明提供一种利用CPU‑MIC异构协同计算加速地震叠前时间偏移的方法,该方法整体设计包含三个方面:PSTM计算部分串行算法的并行设计、PSTM整体逻辑结构设计及CPU与MIC的异步计算设计;该方法采用CPU与MIC异构架构,其中CPU负责FFT计算、读地震道数据、进程控制与调度,还参与PSTM计算,而MIC只做PSTM计算,实现CPU与MIC协同计算与共同计算,整个PSTM计算实现异步方式,读地震道数据、FFT计算、PSTM计算及CPU到MIC的数据传输,都可以相互隐藏,达到加速PSTM的目的,使性能达到最优。

Description

一种利用CPU/MIC协同计算加速地震叠前时间偏移的方法
技术领域
本发明涉及计算机高性能计算领域、石油地震勘探领域,具体地说是一种利用CPU/MIC协同计算加速地震叠前时间偏移的方法。
背景技术
地震叠前时间偏移(简称PSTM)已进行了多年研究,上世纪九十年代初期开始初步应用,中后期在不少探区的地震勘探中发挥了重要作用,进入本世纪后开始了较为广泛的应用,目前部分处理公司和计算中心已把该技术作为常规软件加入到常规处理流程中,成为获取保幅信息实现属性分析、AVO/AVA/AVP反演和其它参数反演的重要步骤和依据。
PSTM是复杂构造成像最有效的方法之一,能适应纵横向速度变化较大的情况,适用于大倾角的偏移成像。PSTM每输出一个地震道,就是一次海量运算。以1毫秒采样,6秒数据为例,一个地震道的输出需要至少1000万道甚至更多(偏移孔径决定)的输入道,每一个点要做两次均方根运算以及两次加法运算,振幅补偿两次乘法运算。如此计算下来,实现一道偏移需要1000000×6000×2×(平方+加法+乘法)次数学运算,计算量和需要处理的数据量都极其巨大。
目前,人们往往使用大规模的服务器集群来进行叠前偏移处理,其原理是将数据先分配到各个CPU核上,然后由各个CPU核单独进行计算,最后将结果汇总输出。这种做法消耗了大量的时间、电力和维护费用。而且,随着人们对石油勘探地震资料处理的周期要求越来越短,精度要求越来越高,服务器集群的规模越做越大,在系统构建成本、数据中心机房空间、内存和I/O带宽、功耗散热和电力限制、可管理性、编程简易性、扩展性、管理维护费用等方面都面临着巨大的挑战。
MIC是Intel公司开发的,用于高性能并行计算的众核芯片,具有超高计算性能。MIC在计算机体系中,并非欲取代CPU,而是作为协处理器存在的。MIC芯片通常有50个以上精简的x86核心,每个core支持4个硬件线程,可并行执行的任务数达到200以上,提供高度并行的计算能力,其双精峰值性能达到1TFlops。
发明内容
本发明鉴于现有地震叠前时间偏移(简称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个计算进程:计算进程1负责控制MIC1的计算,计算进程2负责控制MIC2的计算,计算进程3负责控制2块CPU的计算;
(3)CPU与MIC的异步计算设计
每个计算进程内起2个线程,开辟2个缓冲区,线程0负责读地震道数据,并开始进行多道FFT计算,线程1负责PSTM计算;PSTM计算与读数据与FFT计算并行,同时CPU到MIC的数据传输采用异步方式,也能隐藏在PSTM计算中。
此外,该方法所述异步并行思想,是指CPU不同线程和MIC不同线程之间的任务能实现并行,并且通过利用双缓冲区方式实现异步,使FFT计算、读地震道数据、PSTM计算、CPU与MIC之间的数据传输能相互隐藏。
该方法所述动态负载均衡方式,是指按照地震道数据进行划分,CPU设备与MIC设备各自计算不同的地震道数据,谁算完就取下一道数据进行计算,CPU与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计算达到动态负载均衡。对于每一道数据而言,CPU端采用2块CPU(16核),启动16个OpenMP线程,16个线程并行计算91*963个CMP点,MIC端采用2块MIC(KNF),每个MIC有30个核心,启动120个线程。120个线程并行计算91 *963个CMP点;
(4)PSTM整体逻辑结构设计:
PSTM整体逻辑结构采用2块CPU和2块MIC异构协同计算,CPU端负责进程调度、FFT计算,并参与PSTM计算,MIC端只负责PSTM计算,CPU与MIC实现协同计算与共同计算;CPU端起3个计算进程,计算进程1负责控制MIC1的计算,计算进程2负责控制MIC2的计算,计算进程3负责控制2块CPU的计算,逻辑结构图如图1所示;
(5)CPU与MIC的异步计算设计:
每个计算进程内起两个线程,开辟2个缓冲区,线程1读第1批100道地震道数据,读完后开始进行100道FFT计算,并把结果存放在缓冲区1中。线程2开始从缓冲区1中拿100道数据进行PSTM计算的同时,线程1又开始读第2批100道数据,读完后开始进行这一批的100道FFT计算,并把结果存放在缓冲区2中,线程2开始从缓冲区2中拿第2批数据开始PSTM计算的同时,线程1又开始读第3批数据,如此类推,所以PSTM计算与读数据、FFT计算可以并行,实现相互隐藏,而且CPU到MIC的数据传输采用异步方式,也可以隐藏在PSTM计算中。整个CPU与MIC的异步计算设计如图2所示;
(6)性能测试:
测试91条测线,每条测线上963个CMP点,输入110000道数据进行偏移,在原有CPU同构系统下,PSTM以单线程串行方式花费的时间为76053s,而本系统运行时间为1075s,性能大大提升。
由上可知,该方法通过将FFT计算部分放在CPU端执行,PSTM计算部分采用CPU与MIC同时并行计算,整个PSTM计算实现异步方式,读地震道数据、FFT计算、PSTM计算及CPU到MIC的数据传输,都可以相互隐藏。最后通过测试,说明该方法的优点:利用MIC大大加速了PSTM的性能,不但满足了石油地震勘探处理的需求,而且大大降低了功耗,减少了机房构建成本和管理、运行、维护费用。
除说明书所述技术特征之外,均为本专业技术人员的已知技术。

Claims (3)

1.一种利用CPU/MIC协同计算加速地震叠前时间偏移的方法,其特征在于采用CPU与MIC异构架构,其中CPU负责FFT计算、读地震道数据、进程控制与调度,参与PSTM计算,MIC只做PSTM计算,同时计算之间采用异步并行思想及动态负载均衡方式,实现CPU与MIC协同计算与共同计算,达到加速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,每个点实现并行;
具体步骤如下:
(1)PSTM计算部分串行算法的并行设计
不同的地震道放在CPU或者MIC设备,实现设备间的并行,同时达到动态负载均衡,对于每一道数据而言,CMP点按照每个设备所起的线程数进行并行;
(2)PSTM整体逻辑结构设计
该CPU/MIC异构系统包含2个MIC卡和2块CPU,CPU端负责进程调度、FFT计算,并参与PSTM计算;MIC端只负责PSTM计算,CPU与MIC实现协同计算与共同计算;CPU端起3个计算进程:计算进程1负责控制MIC1的计算,计算进程2负责控制MIC2的计算,计算进程3负责控制2块CPU的计算;
(3)CPU与MIC的异步计算设计
每个计算进程内起2个线程,开辟2个缓冲区,线程0负责读地震道数据,并开始进行多道FFT计算,线程1负责PSTM计算;PSTM计算与读数据与FFT计算并行,同时CPU到MIC的数据传输采用异步方式,也能隐藏在PSTM计算中,其中,
(一)定位PSTM的性能瓶颈;
a)PSTM的计算划分:分析PSTM程序,按照功能把PSTM划分为FFT计算部分和PSTM计算部分,整个PSTM程序的运行时间为FFT计算运行时间和PSTM计算运行时间之和;
b)找出PSTM的性能瓶颈:选选用一个体偏成像空间,其侧线数为91,每条侧线的CMP点数为963,输入道道数为110000,大小为70G,运行PSTM程序,发现PSTM计算占整个PSTM程序运行时间的97%,说明PSTM计算部分是整个PSTM的性能瓶颈部分;
(二)PSTM计算部分串行算法的并行性分析:
把整个PSTM计算的代码从PSTM程序中抽取出来,研究PSTM计算的串行算法,分析其是否具有并行性,研究发现110000道数据间都能并行,91*963个CMP点间也能并行;
(三)PSTM计算部分串行算法的并行设计:
不同的地震道能放在CPU或MIC设备中实现设备间的并行,CPU和MIC每次取100道数据进行计算,谁算完,就取下100道数据,CPU与MIC计算达到动态负载均衡,对于每一道数据而言,CPU端采用2块CPU的16个核,启动16个OpenMP线程,16个线程并行计算91*963个CMP点,MIC端采用2块MIC(KNF),每个MIC有30个核心,启动120个线程,120个线程并行计算91 *963个CMP点;
(四)PSTM整体逻辑结构设计:
PSTM整体逻辑结构采用2块CPU和2块MIC异构协同计算,CPU端负责进程调度、FFT计算,并参与PSTM计算,MIC端只负责PSTM计算,CPU与MIC实现协同计算与共同计算;CPU端起3个计算进程,计算进程1负责控制MIC1的计算,计算进程2负责控制MIC2的计算,计算进程3负责控制2块CPU的计算;
(五)CPU与MIC的异步计算设计:
每个计算进程内起两个线程,开辟2个缓冲区,线程1读第1批100道地震道数据,读完后开始进行100道FFT计算,并把结果存放在缓冲区1中,线程2开始从缓冲区1中拿100道数据进行PSTM计算的同时,线程1又开始读第2批100道数据,读完后开始进行这一批的100道FFT计算,并把结果存放在缓冲区2中,线程2开始从缓冲区2中拿第2批数据开始PSTM计算的同时,线程1又开始读第3批数据,如此类推,通过PSTM计算与读数据、FFT计算并行,实现相互隐藏,而且CPU到MIC的数据传输采用异步方式,也能隐藏在PSTM计算中;
(六)性能测试:
测试91条测线,每条测线上963个CMP点,输入110000道数据进行偏移,在原有CPU同构系统下,PSTM以单线程串行方式花费的时间为76053s,而本系统运行时间为1075s,性能大大提升。
2.根据权利要求1所述的加速地震叠前时间偏移的方法,其特征在于,所述异步并行思想,是指CPU不同线程和MIC不同线程之间的任务能实现并行,并且通过利用双缓冲区方式实现异步,使FFT计算、读地震道数据、PSTM计算、CPU与MIC之间的数据传输能相互隐藏。
3.根据权利要求1所述的加速地震叠前时间偏移的方法,其特征在于,所述动态负载均衡方式,是指按照地震道数据进行划分,CPU设备与MIC设备各自计算不同的地震道数据,谁算完就取下一道数据进行计算,CPU与MIC之间实现动态负载均衡。
CN201210475876.2A 2012-11-22 2012-11-22 一种利用cpu/mic协同计算加速地震叠前时间偏移的方法 Active CN103018776B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210475876.2A CN103018776B (zh) 2012-11-22 2012-11-22 一种利用cpu/mic协同计算加速地震叠前时间偏移的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210475876.2A CN103018776B (zh) 2012-11-22 2012-11-22 一种利用cpu/mic协同计算加速地震叠前时间偏移的方法

Publications (2)

Publication Number Publication Date
CN103018776A CN103018776A (zh) 2013-04-03
CN103018776B true CN103018776B (zh) 2016-08-10

Family

ID=47967588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210475876.2A Active CN103018776B (zh) 2012-11-22 2012-11-22 一种利用cpu/mic协同计算加速地震叠前时间偏移的方法

Country Status (1)

Country Link
CN (1) CN103018776B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123190B (zh) * 2014-07-23 2017-09-19 浪潮(北京)电子信息产业有限公司 异构集群系统的负载均衡方法和装置
WO2016041185A1 (zh) * 2014-09-19 2016-03-24 杨顺伟 一种高效叠前时间偏移速度分析方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243321A (zh) * 2011-03-15 2011-11-16 浪潮(北京)电子信息产业有限公司 一种地震叠前时间偏移的处理方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049759A (en) * 1998-01-16 2000-04-11 Bp Amoco Corporation Method of prestack 3-D migration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243321A (zh) * 2011-03-15 2011-11-16 浪潮(北京)电子信息产业有限公司 一种地震叠前时间偏移的处理方法及系统

Also Published As

Publication number Publication date
CN103018776A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
CN101706741B (zh) 一种基于负载平衡的cpu和gpu两级动态任务划分方法
CN102012917B (zh) 信息处理装置以及处理方法
CN103713314B (zh) 一种叠前时间偏移并行处理方法
CN102253919A (zh) 基于gpu和cpu协同运算的并行数值模拟方法和系统
CN102243321B (zh) 一种地震叠前时间偏移的处理方法及系统
CN103076627B (zh) 一种速度模型平滑优化方法
CN103018776B (zh) 一种利用cpu/mic协同计算加速地震叠前时间偏移的方法
CN105868266A (zh) 一种基于聚类模型的高维数据流离群点检测方法
CN110990155A (zh) 一种面向大规模安全监控的参数通信方法
CN103677960A (zh) 一种能耗约束的虚拟机博弈重放置方法
CN103310122B (zh) 一种并行随机采样一致方法及其装置
Zha et al. A study on dynamic evolution, regional differences and convergence of high-quality economic development in urban agglomerations: A case study of three major urban agglomerations in the Yangtze river economic belt
CN107423109A (zh) 基于匿名随机变量的虚拟机节能调度方法
CN106599798A (zh) 一种面向大数据处理的人脸识别训练方法脸识别方法
CN103049329A (zh) 一种基于cpu/mic异构体系结构的高效能系统
CN103279446A (zh) 一种利用cpu+gpu+mic异构混合计算的多平台系统
CN102866423B (zh) 地震叠前时间偏移的处理方法和系统
CN104536938A (zh) 一种地震叠前时间偏移的计算方法及系统
CN103091708B (zh) 一种三维地震构造曲率性能优化方法
CN102254245A (zh) 电力系统调度日计划分时段并行安全稳定校核方法
CN111861040B (zh) 公交线路的优化调整方法及装置、设备、存储介质
Kawachi et al. Endogenous Timing in Tax and Public-Investment Competition
Marrakchi et al. Fine-grained parallel solution for solving sparse triangular systems on multicore platform using OpenMP interface
Obeid et al. GPU-accelerated gridding for rapid reconstruction of non-Cartesian MRI
CN105653501A (zh) 一种加速克里金插值的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant