[发明专利]一种利用MIC加速三维纵横波分离的弹性波方程模拟的方法在审
申请号: | 201410595408.8 | 申请日: | 2014-10-30 |
公开(公告)号: | CN104331320A | 公开(公告)日: | 2015-02-04 |
发明(设计)人: | 张广勇;卢晓伟;沈铂;吴韶华;王娅娟 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 mic 加速 三维 纵横 分离 弹性 方程 模拟 方法 | ||
技术领域
本发明涉及一种高性能计算领域,具体地说是一种利用MIC加速三维纵横波分离的弹性波方程模拟的方法。
背景技术
三维纵横波分离的弹性波方程模拟方法是一种研究弹性波在各向同性完全弹性介质中传播的波场外推方法,即可以帮助人们认识弹性介质中纵横波的传播机理,同时能得到纵横波分离的波场外推结果。进一步为弹性介质中的逆时地震波成像提供重要的外推算法。该应用程序对二阶纵横波分离的弹性波方程采用高阶有限差分法进行数值模拟。该应用程序对计算能力要求特别大,在CPU平台上计算时间较长,效率较低。
MIC(Many Integrated Core)是Intel公司推出的众核处理器,跟通用的多核至强处理器相比,MIC众核架构具有更小的内核和硬件线程,众核处理器计算资源密度更高,具有更高的计算性能,双精性能超过1TFlops。MIC计算适合于密集型计算,计算能力相对于CPU更强,适合用于加速三维纵横波分离的弹性波方程模拟。
如何利用MIC加速三维纵横波分离的弹性波方程模拟,实现CPU和MIC的资源的充分利用,是目前需要解决的问题。
发明内容
本发明的技术任务是提供一种利用MIC强大计算能力加速三维纵横波分离的弹性波方程模拟的计算速度,充分发挥CPU和MIC的计算能力,达到计算性能的最优化的一种利用MIC加速三维纵横波分离的弹性波方程模拟的方法。
本发明的技术任务是按以下方式实现的:
一种利用MIC加速三维纵横波分离的弹性波方程模拟的方法,所述方法涉及到的硬件为CPU处理器、MIC众核处理器,CPU处理器用于执行程序的逻辑控制,控制三维纵横波分离的弹性波方程模拟的IO操作,控制MIC众核处理器的调用,以及控制CPU处理器和MIC众核处理器之间的通信;MIC众核处理器用于三维纵横波分离的弹性波方程模拟的核心计算,利用OpenMP多线程在MIC众核处理器上启动多线程并行计算三维纵横波分离的弹性波方程模拟;包括如下步骤:
(1)、CPU处理器在MIC众核处理器上申请内存空间;
(2)、CPU处理器调用MIC众核处理器初始化,在MIC众核处理器内存上利用OpenMP多线程对数组进行初始化;
(3)、CPU处理器调用MIC众核处理器,在MIC众核处理器上利用OpenMP多线程进行并行化计算;
(4)、CPU处理器进行迭代判断,当迭代没有完成继续迭代计算,直到迭代计算完成;
(5)、CPU处理器调用MIC众核处理器,把计算得到的数组的值由MIC众核处理器内存传递到CPU处理器内存中;
(6)、CPU处理器将内存中的数组的值保存到硬盘上。
IO操作是指CPU处理器控制计算需要的读写硬盘操作。
CPU处理器控制MIC众核处理器的调用是指通过offload语句调用MIC众核处理器,启动MIC众核处理器的执行。
CPU处理器控制CPU处理器和MIC众核处理器之间的通信,是指通过offload语句以及in语句、out语句、inout语句进行CPU处理器和MIC众核处理器之间的数据通信。
本发明的一种利用MIC加速三维纵横波分离的弹性波方程模拟的方法,利用MIC强大计算能力加速三维纵横波分离的弹性波方程模拟的计算速度,充分发挥CPU和MIC的计算能力,达到计算性能的最优化,因而,具有很好的推广使用价值。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种利用MIC加速三维纵横波分离的弹性波方程模拟的方法的流程图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种利用MIC加速三维纵横波分离的弹性波方程模拟的方法作以下详细地说明。
实施例1:
本发明的一种利用MIC加速三维纵横波分离的弹性波方程模拟的方法,涉及到的硬件为CPU处理器、MIC众核处理器,CPU处理器用于执行程序的逻辑控制,控制三维纵横波分离的弹性波方程模拟的IO操作,控制MIC众核处理器的调用,以及控制CPU处理器和MIC众核处理器之间的通信;MIC众核处理器用于三维纵横波分离的弹性波方程模拟的核心计算,利用OpenMP多线程在MIC众核处理器上启动多线程并行计算三维纵横波分离的弹性波方程模拟;包括如下步骤:
(1)、CPU处理器在MIC众核处理器上申请内存空间;
(2)、CPU处理器调用MIC众核处理器初始化,在MIC众核处理器内存上利用OpenMP多线程对数组进行初始化;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410595408.8/2.html,转载请声明来源钻瓜专利网。