改进的并行广义共轭残差算法

  • 格式:pdf
  • 大小:189.95 KB
  • 文档页数:3
(,:『“,Ap,)=(‘・A只)一o:s(Ap,,Ap.)= (一一l,A只)一哆一J(Ap』一I,AB)=
2算法描述
给定线性矩阵方程组
Ax=b (1)
((,却,)一q
SAp,,Ap.)=0
(2)
其中,矩阵A∈月”“为非奇异非对称矩阵;b∈R“,上∈R”; 针对式(1)给出的GCR算法如算法1所示,初始值取
(7)
令aJ=(‘,tj),bj=(q,,qj),c,=(f』,tj),吒=(f,,q1),
i=U'1,…,』一1,则改进的GCR算法如算法2所示。 算法2 IGCR算法
由上述讨论可知,GCR算法中的第』步迭代中需要1次 矩阵向量乘、4次向量校正和j+3次内积计算,j+1个参数屈, 和1个参数口.校正的浮点计算,该算法的第J步迭代并行计 算时间为 硭硼=tm,+乞(,+1)+‰(2)+2屯(2)+2t"f,+2,+(,+2)t,=
t。,=(2q一1)(N/P)tr+2“,+qt。) (5)
IGCR算法总的计算时间为
t,Gc月:(2q+3n+10)fⅣ/P)ntr+
(2n2十3n)t,十(2f,+(,l+5)f。)nlbP+2n(fT+qt。)
(1 1)
由式f10)和式(11)可知,当处理机台数满足下式时
1bP>堕竺‘
4f.
(12)
IGCR算法比GCR算法的并行计算时间要少好。
由式(9)求解兰警=0可得GCR算法并行计算时问最小
时的处理机台数
k%群
,|P
㈣,
由式(10)求解ot、tc,。c塑=0可得IGCR算法并行计算时间最
小时的处理机台数 ‰cs
只。。:—(2q+3n+l—O)Nt/In 2—百i再矿

¨叫 (14)
在分布式存储并行机中ts>>t。,且2种算法所需迭代次
积,须对这k个局部内积均进行一个全归约(ALL—REDUCE) 的通信。其通信时间为2(f。+kt。)lbP。因此,k个向量内积的 并行计算时间为
(4) 0(≈)=2(kN/P)tr+2(f,+kt。)lbP
(6)
(o,q,+1)2(%,A乃+1)=f‘"A5。)+盔岛(0l,An)=(r卅,‰)(3)
(2q+6j+13)(Ⅳ/P)t,十(J+2)f
r+
(1)ff算毛=b—Axn,to=Aro,0【o=(rn,t(I) 取Po=ro,qo=to,bo=(qo,qo) (2)对j=0,1,…直到收敛计算;
(3)aj=0【J/bj; (4)xj+j

2(2t,十(J+3)t。)lbP+2(t。+qt。)
Improved Parallel Generalized
(Department of Computer Science
Conjugate
Posts
Residual
Algorithm
ZHAo Li.bin.TIAN You.xian
and
Technology,Chongqing University of
performance
of the IGCR
algorithm
is better than that of the GCR
algorithm.
[Key words]Generalized Conjugate Residual(GCR)algorithm;parallel computation;synchronization
XJ+OrJPJ;
(8)
IGCR算法中的第.『步迭代中则需要1次矩阵向量乘、
(5)0l 2‘一0【Jqj;
(6)tH 2At.1;
4次向量校正和j+3次向量内积计算,j+1个参数∥,和1个参 数口,校正的浮点计算,6。校正的浮点计算,该算法一步迭 代并行计算时间为 f南c膏=0,+0(』+3)+2f"(2)+2t坩(』十2)+(4I,+5)tf=
proposed fol solving
the times
non—symmetric sparse
linear
convergence of computes
IGCR algorithm
the
GCR algorithm.but
memory
of
the synchronization overhead
on
are r℃duced
by

factor of
it
using
IGCR algorithm
distributed
cluster systems
based
MPI environment.The numerical
result and theoretical analysis prove that the
4数值示例
本文数值计算的测试环境为包括8个节点的工作站机 群,主节点的基本配置为Inter 内存。各节点通过1
000 P4 2.0 GHz,512 MB
overhead
1概述
天气预报、结构分析、热传导、电力网格分析、地球物 理勘探等科学与工程计算中的许多问题都可归结为求解线性 方程组问题。Krylov子空间方法常用来求解稀疏线性方程组, 是许多应用软件的核心算法之一。研究人员对其并行实现已 经作了很多工作。为减少同步开销,文献[1】得到改进的CG 算法;文献【2]和文献【3]分别讨论如何减少CG算法在并行机 上的同步开销;文献【4】给出CR算法的改进形式ICR算法。 广义共轭残差算法(GCR)151是一种求解大型非对称稀疏线性 方程组的Krylov子空间方法,它需要向量内积、矩阵向量乘 积和向量校正的计算。在分布式存储的计算机上,矩阵和向 量分布在各台处理机上,向量内积和矩阵向量乘积计算需要 各处理机间的通信,因此,必须进行全局通信的内积计算成 为GCR算法并行计算的瓶颈。 本文基于文献【l一4]改变算法计算次序的思想,利用GCR 算法的固有性质,针对非对称稀疏线性方程组的求解提出一 种改进的广义共轭残差算法(IGCR)。该算法具有与GCR算法 相同的收敛速度,而同步开销次数减少为GCR算法的一半。 同时本文在基于MPI的分布式存储并行机群上给出数值 示例。
(10)PH=‘州十∑kB…P; (11)qH=tHI+∑岛p㈣q;
(12)结束计算
由于IGCR算法和GCR算法具有相同的收敛性,若2种 算法均经过^次迭代收敛,则由式(7)和式(8)得到GCR算法 总的计算时间为
tt2ce=(2q+3忍+IO)(N/P)nt,+
由算法2可见,内积计算只需要一次全局同步开销。
Conjugate Residual(GCR)algorithm
GCR
algorithm is
interdependence
for
computation in paper.The
two when
the GCR algorithm,an
improved parallel is the same
on as
数较少时有%伸z 2屹曲,可见IGCR算法具有更好的扩
展性。 当t。>>t。>t r,且2种算法所需迭代次数较少时,与 GCR算法相比,IGCR算法的性能提高比率为
刀:—tGCe--—t/c,cR。
‘tG曲
!!!!!!£
(2q+3n+10)Nt,+4t。PlbP+2t。P
(15)
对于k个向量内积并行计算时问,每白处理机并行求解 局郎向量内积,计算时间为2(kN/P)t,。为计算t个整体内
the
and Telecommunications,Chongqing 400065)
and eliminating data large
[Abstract]By relying
inner product systems in this
on
aft
intrinsic property of
Generalized
(n2+3n)t,/2+(4f,+(_rz+5)f。)nIbP分析与比较
文献16 J对GCR算法的收敛性作了详细阐述,并得出结 论:当线性方程组系数矩阵A使fA+A7)/2为正定矩阵时, GCR算法至多经过Ⅳ步迭代便可给出线性方程组的解。其中 Jv为矩阵A的阶数。可见对于具有特定结构矩阵的线性方程 组,GCR算法所需迭代次数较少。 在分布式存储并行机群结构模型中,假没有P台处理机。 在2个给定的处理器问完成单位字的一次通信时间为启动时 间f。(包括打包、执行选路算法和建立通信界面的时间J和传 输单位字的时问t。之和。 以按行划分为例,设每个浮点运算时间均为f,,矩阵阶 数JV能被处理器台数P整除,假设不存在负载不平衡的问题。 对一般的稀疏矩阵结构并行矩阵向量乘的纯计算时间为 (2q-])(N/P)t,(每行进行了g—1次加法,q次乘法),其中,q 为每行非0元素的个数,其通信时间与系数矩阵结构以及矩 阵划分方式相关。在最坏情况下,按行划分需要的矩阵向量 乘要用到全部向量,而向量分布存储在每个机器上,因此, 须一次全收集(ALL—GATHER)的通信,通信时间为 2(f,+f。N/P)IbP。而对一般的稀疏矩阵结构,只须相邻处理 机之间进行通信即可,其通信时间为2(‘十qt。),与处理器台 数P和矩阵规模Ⅳ无关。下文考虑该种情况的矩阵向量乘通 信时间,其并行计算时间为
(q川,q川)=(f川,tpl)+2∑岛属(f川,吼)十∑岛霹(qi,吼)= Of+I,tj+l,一∑岛名(吼,吼)
消除GCR算法中2次内积计算中的数据相关性。 从武(4)可见,内积(q,,q,)能通过迭代的方法求出,从而
对于k个向量相加的向量校正,其无须通信,因此其并
行计算时间为
tve(≈)=2(k—1)(^,/P)t,
x0=0。
基金项目:重庆市科委基金资助项目(CST2005BBfg)61) 作者倚介;赵利斌(1983一),男,硕上研究生,主研方向:并行数值