[发明专利]针对SMP集群系统采用MPI和OpenMP混合并行提高计算速度的方法在审
申请号: | 201310442102.4 | 申请日: | 2013-09-25 |
公开(公告)号: | CN104461467A | 公开(公告)日: | 2015-03-25 |
发明(设计)人: | 罗海飙;廖俊豪 | 申请(专利权)人: | 广州中国科学院软件应用技术研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 广州新诺专利商标事务所有限公司 44100 | 代理人: | 肖云 |
地址: | 511458 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 smp 集群 系统 采用 mpi openmp 混合 并行 提高 计算 速度 方法 | ||
技术领域
本发明涉及一种并行计算技术,具体地说,涉及一种并行计算提高计算速度的方法。
背景技术
迭代法是目前求解大型稀疏线性方程组的主流方法,迭代法中的预条件共轭梯度法是通过预处理技术减少共轭梯度法的迭代次数,并能加速收敛的一种方法,在工程和科学计算中已有广泛的应用。共轭梯度法是求解特定线性系统的数值解的方法,其中的系数矩阵为对称和正定的实数阵。随着科学与工程问题的规模和复杂程度的提高,串行共轭梯度法已经很难满足对稀疏线性系统的求解规模和速度的要求。
由于串行计算本身存在的瓶颈,当计算量相对较大,计算机本身的性能将大大制约其进行演算的效率。现有技术中采用串行方法计算共轭梯度法,仅在处理稀疏矩阵向量乘时才启用MPI,通过在各节点上计算分块稀疏矩阵与分块向量的乘积实现并行计算。但共轭梯度法除了稀疏矩阵向量乘,还有多个向量与向量、标量与向量的乘积和求和,以及线性方程组求解等计算步骤,这些计算仍然使用串行方法计算,不能最大限度地将算法并行优化。对于分布式和共享式存储结构混合的SMP集群系统,难以充分利用计算资源,提升其计算速度。
发明内容
本发明的目的在于提供一种针对SMP集群系统采用MPI和OpenMP混合并行提高计算速度的方法,通过利用集群以及多核平台的优势,提升共轭梯度法的计算速度,满足对稀疏线性系统的求解规模和速度的要求。
为了实现上述目的,本发明所采用的技术方案如下:
一种针对SMP集群系统采用MPI和OpenMP混合并行提高计算速度的方法,包括以下步骤:
(1)计算准备
a)启动MPI多进程计算,其中进程数小于或等于可用计算节点数目;
b)每个进程读入子稀疏矩阵A、子初始向量x0、块向量b和最大计算公差Tolerance,子稀疏矩阵A、子初始向量x0和块向量b是通过网格划分软件划分问题的计算域后生成;
(2)开始预条件共轭梯度法的MPI+OpenMP并行的循环计算
1)根据初始值x0,计算r=b-Ax0;
2)p=M-1r;
3)ρ=rTp;
4)每个进程开启OpenMP多线程编译指令,其中线程数小于或等于该线程所处计算节点可用CPU核数目:
#pragmaompparallel{ /*开始OpenMP线程*/
5)fori=1,2,…… /*开始循环*/
6)#pragmaompparallelforreduction(+:α){
7)q=Ap /*稀疏矩阵向量乘*/
其中,具体包括以下步骤:
①多线程并行计算行循环:按行顺序,i从0循环到稀疏矩阵最后一行。其中:
a)预先读取子稀疏矩阵A第i行的数据,存到向量tmp中;
b)j从0循环到第i行非零值结尾。其中:
i.k=第i行第j个非零值的列指数;
ii.q[k]=tmp[j]*+q[k]。
②MPI非阻塞通信交换各节点的q。
8)α=pTq /*向量内积*/
9)}
10)α=ρ/α
11)ρold=ρ
12)#pragmaompparallelforreduction(+:ρ,error){
13)x=x+αp /*AXPY*/
14)r=r-αq /*AXPY*/
15)q=M-1r /*向量内积*/
16)q=rTq /*向量内积*/
17)error=rTr /*向量内积*/
18)}
19)β=ρ/ρold
20)#pragmaompparallelfornowait{p=q+βp} /*AXPY*/
21)#pragmaompsingle{MPI_Allgather(error);
22) If(error<tolerance)break}
23)} /*结束for循环和OpenMP多线程计算*/
(3)各计算节点的计算结果归约后得到最终计算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州中国科学院软件应用技术研究所,未经广州中国科学院软件应用技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310442102.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:应用软件升级回滚方法、装置及电子设备
- 下一篇:一种实现动画效果的方法及系统