[发明专利]一种基于MIC平台实现GMRES算法并行加速的方法在审
申请号: | 201410591315.8 | 申请日: | 2014-10-29 |
公开(公告)号: | CN104408019A | 公开(公告)日: | 2015-03-11 |
发明(设计)人: | 王明清;张清;张广勇;吴韶华 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/10 | 分类号: | G06F17/10 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mic 平台 实现 gmres 算法 并行 加速 方法 | ||
技术领域
本发明涉及一种GMRES算法技术领域,具体地说是一种基于MIC平台实现GMRES算法并行加速的方法。
背景技术
(1)数学物理模型的求解是众多工程生产与科研领域必不可少的工作之一。随着计算机的发展,有限差分、有限元、边界元、无网格方法等一系列的数值计算方法相继诞生。这些数值计算方法具有一个相同之处:将实际问题导出的数学物理模型通过特定的方式离散成一个线性代数方程组。然而,随着问题规模的增大,线性方程组的求解成为工程生产和科研中的一大瓶颈。对于大规模乃至超大规模的线性方程组,求解变得十分困难。特别当稀疏矩阵非对称且无特定结构时,求解几乎不可能完成。
(2)GMRES算法(广义极小残量法)是求解非对称的稀疏矩阵的常用方法,也是Krylov子空间中经典算法之一,它是通过Krylov子空间矢量的最小残量来迭代求解,收敛速度快,稳定性好的优点。对线性方程组 ,GMRES算法的m阶Krylov子空间为,GMRES通过求使残量最小的矢量来逼近的精确解。
采用GMRES算法求解大规模线性方程组的基本过程如图1所示。对于线性方程组,GMRES算法的求解过程:①、选初始向量,给定误差;②、,;③、Arnoldi过程得到的标准正交基,上Hessenberg矩阵;④、求,,使得最小,即最小;⑤、求解使得达到最小;⑥、求得后,,计算,若,则停止,即得到所要求的方程的近似解。否则重复过程3~6。
(3)MIC(Many Integrated Cores)是Intel公司推出的,用于高性能并行计算的众核处理器。它是从已有的Xeon处理器产品基础上发展而来,它专为超高性能计算而生的新架构。MIC在计算机体系中并非欲取代CPU,而是作为协处理器存在的。MIC卡与与通用的多核处理器相比MIC具有更小的内核和硬件线程。MIC芯片通常有50个以上精简的x86核心,每个core支持4个硬件线程。此外,还具有512bite向量位宽,其双精峰值性能达到1TFlops。MIC技术将加快高性能计算的发展,快速解决高性能计算应用的性能瓶颈。
综上,随着问题规模的增大,线性方程组的求解成为工程生产和科研中的一大瓶颈。Intel MIC 具备高性能计算的特点,如何通过MIC加速GMRES算法求解大规模线性方程组,是目前迫切需要解决的问题。
发明内容
本发明的技术任务是提供一种通过MIC协处理器加速GMRES算法求解大规模线性方程组的一种基于MIC平台实现GMRES算法并行加速的方法。
本发明的技术任务是按以下方式实现的,
一种基于MIC平台实现GMRES算法并行加速的方法,所应用到的硬件包括CPU端与MIC端,其中:CPU端负责数据读取,程序串行部分的计算,逻辑控制,同时设定内核的线程执行配置,启动MIC端计算,并接受MIC端的迭代结果;MIC端根据内核线程执行配置启用相应的线程对程序中的并行部分实施计算;
所述方法包括如下:
(1)、GMRES算法进行并行性分析,定位热点与性能瓶颈;
(2)、根据并行性及热点分析,实现基于CPU端的OpenMP并行程序版本;
(3)、根据GMRES算法的特点,基于CPU端或者MIC端异构平台进行整体任务分配设计;
(4)、根据整体任务分配设计,将CPU端的 OpenMP版本移植到MIC端。
所述方法包括如下:
(1)GMRES算法分为前期预处理、迭代部分、结果输出三大部分,其中迭代部分为GMRES算法的主体,其运算量占整体的95%以上。前期预处理、结果输出部分以I/O操作为主,不适于并行处理。迭代部分的单次迭代操作流程主要包括Arnodi正交化、Givens变换求解最小二乘问题及构造近似解三部分,其中Arnodi正交化过程以o(n)阶矩阵、向量计算为主,这里n为大规模线性方程组系数矩阵的阶数,Givens变换求解最小二乘问题及构造近似解均在m维(m<<n)的子空间中,为o(m)阶矩阵向量的计算;因此,单次迭代中的Arnodi正交化过程为程序最大热点;
(2)Arnodi正交化过程进行OpenMP并行设计,Arnodi正交化主要由o(n)阶矩阵与向量相乘、向量内积(范数)、向量数乘以及向量减法四种运算组成,将四种运算作为内核函数,基于OpenMP开启多线程并行;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410591315.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种垂直升降式无线灭火器
- 下一篇:通信模块的USB模式自适应方法