正在加载图片...
id for d if /*回代过程* (2 )for i=0 to m-I do m[=0.0 (3)for i=m-I downto o de for i=p-l downto o de if( my_ rank=)then/*主行所在的处理器 (i)x[i*p+]=(b[i-sum(aVaii*p+il (i)将x{*p+广播到所有处理器中 (infor k=0 to i-I do /*计算有关x[p+的内积项并累加* sm[=m[+a[k;p小*x{P nd fo else/*非主行所在的处理器 (iv)接收广播来的x{障p门的值 (v)if (my rank>n)then for k=0 to i-1 do /*计算有关x*p的内积项并累加* sum k=sum]+ ak, i*p+]*xi p+il end for end if (vif( my rank分)then for k=0 to i de /*计算有关x[*p+的内积项并累加* sum[k]=sum[k]+ alk,ip+]x[i*p+ end if end if end for end for End 消去过程中,参与计算的行向量数在减少,同时参与计算的行向量长度也在减少。设第 次消去参与变换的行向量数为(m-1),行向量长度为(ny),其中p=p+p/2若取一次乘法和加法 运算时间或一次除法运算时间为一个单位时间,则上述算法所需的计算时间为T1= "2(m)p(n-)=(3m2-p+4m2y12,其间共有n行数据作为主行被广播,通信时间为r(t+ (n+1)hn)logp;回代过程中,由于0号处理器对对应项进行乘积求和的计算量最大,因此以0 号处理器为对象分析。由于0号处理器计算解向量xO),x(p),…x(m-1)*p)的时间分别为 mp,(m-1)…p,因此其回代过程的计算时间为I2=mp(m+1)2,解向量x的n个元素被播送给 所有处理器的通信时间为n(t+1m)logp。若不考虑选主元的时间而仅考虑一般高斯消去法的计end for end if end for end for /*回代过程*/ (2)for i=0 to m-1 do sum[i]=0.0 end for (3)for i= m-1 downto 0 do for j= p-1 downto 0 do if (my_rank=j) then /*主行所在的处理器*/ (i)x[i*p+j]=(b[i]-sum[i])/a[i,i*p+j] (ii)将 x[i*p+j]广播到所有处理器中 (iii)for k =0 to i-1 do /*计算有关 x[i*p+j]的内积项并累加*/ sum[k]=sum[k]+ a[k,i*p+j]* x[i*p+j] end for else /*非主行所在的处理器*/ (iv)接收广播来的 x[i*p+j]的值 (v)if (my_rank>j) then for k =0 to i-1 do /*计算有关 x[i*p+j]的内积项并累加*/ sum[k]=sum[k]+ a[k,i*p+j]* x[i*p+j] end for end if (vi)if (my_rank<j) then for k =0 to i do /*计算有关 x[i*p+j]的内积项并累加*/ sum[k]=sum[k]+ a[k,i*p+j]* x[i*p+j] end for end if end if end for end for End 消去过程中,参与计算的行向量数在减少,同时参与计算的行向量长度也在减少。设第 i次消去参与变换的行向量数为(m-i),行向量长度为(n-v),其中v=ip+p/2若取一次乘法和加法 运算时间或一次除法运算时间为一个单位时间,则上述算法所需的计算时间为T1=  − = 1 0 m i (m-i)*p*(n-v)=(3n 2 -pn+4mn2 )/12,其间共有n行数据作为主行被广播,通信时间为n[(ts+ (n+1)tw) logp;回代过程中,由于0号处理器对对应项进行乘积求和的计算量最大,因此以0 号处理器为对象分析。由于0号处理器计算解向量x(0),x(p),…,x((m-1)*p)的时间分别为 mp,(m-1)p, …,p,因此其回代过程的计算时间为T2=mp(m+1)/2,解向量x的n个元素被播送给 所有处理器的通信时间为n(ts+tw)logp。若不考虑选主元的时间而仅考虑一般高斯消去法的计
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有