[发明专利]一种基于PETSc的GCRO-DR算法并行处理方法有效
| 申请号: | 201410427589.3 | 申请日: | 2014-08-27 |
| 公开(公告)号: | CN104182209A | 公开(公告)日: | 2014-12-03 |
| 发明(设计)人: | 刘芳芳;杨超 | 申请(专利权)人: | 中国科学院软件研究所 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38 |
| 代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 成金玉;孟卜娟 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 petsc gcro dr 算法 并行 处理 方法 | ||
技术领域
本发明涉及一种基于PETSc(Portable,Extensible,Toolkit for Scientific Computation)的GCRO-DR(Generalized Conjugate Residual with Orthogonalization with Deflated Restarting)算法的并行处理方法,属于计算机技术领域。
背景技术
Krylov子空间迭代法是求解稀疏方程组比较流行的一类方法,于1951年由俄国人Nikolai Krylov提出,该类方法具有占用内存小,实用性强的特点,广泛应用在气象、湍流模拟、天体物理、油藏模拟等科学计算和实际应用中。Krylov子空间迭代法很多,如求解对称正定方程组的CG(Conjugate Gradient),求解非对称方程组的GMRES(Generalized Minimum RESidual),GCR(Generalized Conjugate Residual)等,这些方法一直是国际上研究的热点,为了改善收敛性,新的演进算法不断被提出,GCRO-DR就是其中的一个,它是2006年由Michael L.Parks提出的。该算法是GMRES的演进版GMRES-DR和GCR的演进版GCROT组合得到的,其不仅能改善求解单个方程组的收敛性,更能改善求解由若干个相似方程组组成的线性系统的整体收敛性。
由于实际应用中计算问题规模很大,计算时间很长,单单使用串行的算法很难满足应用需求,为了能够在高性能计算机系统上应用Krylov子空间的这些算法,国内外有学者已经进行了很多研究。在1995年,法国科学家JOCELYNE ERHEL就提出了GMRES算法的分布式并行版本,Maria Sosonkina等人分析了GMRES并行实现的可扩展性,Maria Sosonkina等人提出了GPU上该方法的并行方案,2010年,D′esir′e NUENTSA WAKAM_等人基于PETSc软件包提出了截断GMRES方法的并行实现。PETSc软件包也实现了GMRES各种版本的并行,包括FGMRES、AGMRES、DGMRES等,在实际应用中被广泛使用。2008年,E.ULLMANN研究了GCRO-DR算法,并将其应用到二阶椭圆随机偏微分方程中,2007年,CHAO JIN等人将该算法运用到随机椭圆方程中,2013年,CUI CONG等人将该算法运用到随机椭圆型方程中。从这些工作中可以看出,GCRO-DR算法收敛性更好,但是串行算法计算很慢,很难满足实际应用的需求,本发明即是为了解决该算法求解速度较慢的问题,提出了一种并行处理方法,使用户能够快速使用该算法求解实际应用问题。
发明内容
本发明技术解决问题:克服现有技术花费时间较长的不足,提出一种基于PETSc的GCRO-DR算法并行处理方法可快速求解实际应用中产生的稀疏线性系统,大幅降低求解时间。
本发明主要针对该算法中几个核心部分包括总体并行方案、数据结构定义、Reduced QR分解、正交化过程、特征值及特征向量的计算、最小二乘问题的计算提出实现方案。通过这几部分的并行实现,可以组成整个GCRO-DR基于PETSc的并行实现,从而可以通过PETSc库来进行调用,方便科学计算领域用户的使用。
本发明的技术方案为,基于PETSc的GCRO-DR算法并行处理方法,包括如下步骤:
(1)总体并行方案
a)迭代所需的矩阵和向量分布在各个处理器上,每个处理器拥有一部分;
b)求解第一个稀疏线性系统时,先并行进行Arnoldi迭代,该迭代过程主要进行的是向量矩阵操作,调用PETSc相应函数即可实现;迭代过程中产生的hessenberg矩阵每个处理器各存储一份,并分别计算特征值和特征向量,然后分别形成Reduced QR分解所需的矩阵,每个处理器通过调用LAPACK函数dlarfg和dlarf分别进行QR分解,但是在分解过程中不显示存储Q,直接形成回收矩阵Ck。后续迭代过程中,采用类似的方案进行处理。在求解第二个及后续的系统时,先并行求解回收矩阵C和U,再进行和第一个系统类似的迭代过程,总体并行方案见图1。
(2)数据结构
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所;,未经中国科学院软件研究所;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410427589.3/2.html,转载请声明来源钻瓜专利网。





