[发明专利]针对SMP集群系统采用MPI和OpenMP混合并行提高计算速度的方法在审
申请号: | 201310442102.4 | 申请日: | 2013-09-25 |
公开(公告)号: | CN104461467A | 公开(公告)日: | 2015-03-25 |
发明(设计)人: | 罗海飙;廖俊豪 | 申请(专利权)人: | 广州中国科学院软件应用技术研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 广州新诺专利商标事务所有限公司 44100 | 代理人: | 肖云 |
地址: | 511458 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种针对SMP集群系统采用MPI和OpenMP混合并行提高计算速度的方法,根据计算节点数目和节点内可用CPU核数确定可调用的MPI进程数和OpenMP线程数;每个进程读入已有子稀疏矩阵、子初始向量、块向量和最大计算公差;每个进程开启多线程编译指令;在各个进程上进行预条件共轭梯度法的循环计算,循环计算中的OpenMP栅障仅有三个;若计算的误差小于允许值,循环结束,否则继续循环;归约各个进程的计算结果,输出问题的解;并行计算时,首先MPI进程启动,对问题进行多进程分解,开始节点间的并行,每个MPI进程被分配到一个计算节点上,进程间使用消息传递交换信息;然后在每个MPI进程中,使用OpenMP制导指令创建一组线程,并分配到计算节点的不同处理器上并行执行。 | ||
搜索关键词: | 针对 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]*p[k]+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)各计算节点的计算结果归约后得到最终计算结果。并行计算时,首先MPI进程启动,对问题进行多进程分解,开始节点间的并行,每个MPI进程被分配到一个计算节点上,进程间使用消息传递交换信息;然后在每个MPI进程中,使用OpenMP制导指令创建一组线程,并分配到计算节点的不同处理器上并行执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州中国科学院软件应用技术研究所,未经广州中国科学院软件应用技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310442102.4/,转载请声明来源钻瓜专利网。
- 上一篇:应用软件升级回滚方法、装置及电子设备
- 下一篇:一种实现动画效果的方法及系统