[计算机硬件及网络]2_并行计算基础.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机硬件及网络]2_并行计算基础

* 数据结构:Ci,j和Ai ,Bj存放在Pi中(j=0,1,2,…p-1) Ci,j的计算是按对角线进行的 p个处理机,一维结构,每次每个处理机计算出一个Ci,j 计算C需要p次来完成。 T T mp1=(myid+1) mod p; mm1=(myid-1) mod p; for i=0 to p-1 do l=(i+myid) mod p Cl=AB if (i !=p-1) then {send(B,mm1) recv(B,mp1)} end{for} 其中,Cl=Cmyid,l, * B在处理机中每次循环向前移动一个处理机; 每次交换数据为 交换次数:p-1 如果用DTA1表示数据交换量,CA1表示计算量,则 * * T T T T 数据结构:Ci,j和Ai ,Bj存放在Pi中(j=0,1,2,…p-1) Ci,j的计算是按对角线进行的 p个处理机,一维结构,每次每个处理机计算出Ci的部分积,采用乘累加 计算C需要p次来完成。 mp1=(myid+1) mod p; mm1=(myid-1) mod p; for i=0 to p-1 do l=(i+myid) mod p C=C+AlB if (i !=p-1) then {send(B,mm1) recv(B,mp1)} end{for} Al=Amyid,l * * 数据结构:A、B和C划分成m×m 的方块阵Ai,j、Bi,j和Ci,j , 其中Ai,j、Bi,j和Ci,j均为n×n的方阵。 Ai,j、Bi,j和Ci,j 存放在Pi,j 设处理器数P= m×m,二维结构 每次每个处理机计算出Ci的部分积,采用乘累加 计算C需要p次来完成。 广播 滚 动 C=0 mpc1=(mycol+1) mod m; mmc1=(mycol-1) mod m; mpr1=(myrow+1) mod m; mmr1=(myrow-1) mod m; for i=0 to m-1 do k=(myrow+i) mod m r=(k-i) mod m if (mycol==kmyrow==r)then send(A,(myrow,mpc1));copy(A,tmpA); if (k!=mpc1) then send(tmpA,(myrow,mpc1)); end{if} C=C+tmpA*B; if (i!=m-1) then send(B,(mmr1,mycol));recv(B,(mpr1,mycol)); end{if}; end{for} * * 并行编译过程 * 流分析 为使程序能够并行地执行,首先要进行相关性分析(设Sj总接在Si后执行): 流相关-Si到Sj存在执行通路,且Si至少有一个输出作为Sj的输入。 反相关-Sj紧接着Si,且Sj至少有一个输出作为Si的输入。 输出相关-两条语句往相同的变量里写 控制相关-语句Sj的执行与否依赖于Si 程序中的另一类依赖关系是由于读、写同一数据而引起的,称为数据依赖关系。 影响程序向量化和并行化的主要关系是数据依赖关系 对于上述的依赖关系,相应计算之间的并行性处理可遵循如下准则: 数据不直接或间接存在依赖关系的计算可并行执行亦可串行执行。但是当串行执行时,它们的次序可以任意交换,这种顺序称之为可并行顺序。 存在流依赖或输出依赖的计算不可并行执行,只能在write_read次序下串行执行,即在前的计算先写,在后的计算后读,这种顺序称为W_R串行顺序。 存在反依赖的计算(例如S(i)T(j)),只要保持先读和后写,则允许它们并行执行,这种顺序称为W_R可并行顺序。 依赖距离、依赖方向和依赖层次 设语句S和T是嵌套循环L中的语句,如果语句T依赖于S,则存在实例S(i)δT(j)。令d=j-i,σ=sig(d), l=lev(d),称d是这个依赖关系的依赖距离向量。其中,σ是依赖方向向量,l是依赖层次,也称语句T在第l层上以距离向量d、方向向量σ依赖于语句S。 依赖距离向量指明了对同一存储单元的两次访问之间相隔的循环迭代数。依赖方向向量指明了存在依赖关系的两个迭代在每一维上的依赖方向。依赖层次指明了是由哪一层循环引起的依赖关系。 如果T在第l层上依赖于S,,则称T对S的依赖是循环携带的依赖关系,也称为跨迭代的依赖关系;若是T依赖于S的唯一层次,则称T对S的依赖是循环无关的依赖关系,也称为迭代内的依

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档