正在加载图片...
if(maxcolumn a[i, v))then (6. 1)if(maxrank-j) and(itmaxrow)then nnerexchangerow()/*处理器内部换行 kn) the outerexchangerow()/处理器之间换行 d if (7)if( my rank=/)then/主行所在的处理器* a[i, k]=a[i, ka[i, v] nd for (7.2)b0=b[Ga[i, v], ai, vF (7.3)fork=y+1ton-1do/*将主行元素赋予数组f* ]=a[, end for 4)n]=b[ (7.5)广播主行到所有处理器 (7.6fork=0tom-1do/*处理存于该处理器中的非主行元素* if(k≠D (ifor w=1+I to n-l do ak, wI=alk, wl w]* alk, v (iib(k]=b[] An]* alk, vl end for lse/非主行所在的处理器* (7.7)接收广播来的主行元素存于数组f中 (7.8fork=0 to m do/*处理非主行元素* a[k, wl=ak, wlfw]* ak, vl (i)bR]=b[k团m]*a[kv end fo en end for 上述算法的计算过程中,参与计算的行向量数为n,行向量长度为(n),其中=p+p2 若取一次乘法和加法运算时间或一次除法运算时间为一个单位时间,则其所需的计算时间为 T2m2m2=m2r(m2:另外,由于其间共有n行数据依次if (maxcolumn ≠ a[i,v]) then (6.1)if ((maxrank=j) and (i≠maxrow)) then innerexchangerow( ) /*处理器内部换行*/ end if (6.2)if (maxrank≠j) then outerexchangerow( ) /*处理器之间换行*/ end if end if end if (7)if (my_rank=j) then /*主行所在的处理器*/ (7.1)for k=v+1 to n-1 do a[i,k]= a[i,k]/a[i,v] end for (7.2) b[i]=b[i]/a[i,v],a[i,v]=1 (7.3)for k=v+1 to n-1 do /*将主行元素赋予数组 f */ f[k]= a[i,k] end for (7.4) f[n]=b[i] (7.5)广播主行到所有处理器 (7.6)for k=0 to m-1 do /*处理存于该处理器中的非主行元素*/ if (k ≠ i) then (i)for w=v+1 to n-1 do a[k,w]= a[k,w]-f[w]* a[k,v] end for (ii)b[k]=b[k]-f[n]* a[k,v] end if end for else /*非主行所在的处理器*/ (7.7)接收广播来的主行元素存于数组 f 中 (7.8)for k=0 to m do /*处理非主行元素*/ (i)for w=v+1 to n do a[k,w]= a[k,w]-f[w]* a[k,v] end for (ii)b[k]=b[k]-f[n]* a[k,v] end for end if end for end for End 上述算法的计算过程中,参与计算的行向量数为 n,行向量长度为(n-v),其中 v=ip+p/2。 若取一次乘法和加法运算时间或一次除法运算时间为一个单位时间,则其所需的计算时间为 T1=  − = 1 0 m i n*(n-v)=  − = 1 0 m i n(n-ip-p/2)= mn2 -n 2 /2- n 2 (m -1)/2;另外,由于其间共有 n 行数据依次
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有