并行计算-习题及答案-例题习题讲解

并行计算-习题及答案-例题习题讲解

ID:16418760

大小:214.00 KB

页数:8页

时间:2018-08-09

并行计算-习题及答案-例题习题讲解_第1页
并行计算-习题及答案-例题习题讲解_第2页
并行计算-习题及答案-例题习题讲解_第3页
并行计算-习题及答案-例题习题讲解_第4页
并行计算-习题及答案-例题习题讲解_第5页
资源描述:

《并行计算-习题及答案-例题习题讲解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、例题习题讲解例1SIMD-SM上求最大值算法Beginfork=m-1to0doforj=2kto2k+1-1par-doA[j]=max{A[2j],A[2j+1]}endforendforend时间分析t(n)=m×O(1)=O(logn)p(n)=n/2c(n)=O(nlogn)非成本最优例2令n=2k(k>=0),求n个数和的并行算法算法运行时间:t(n)=O(logn)§总运算量:W(n)=W(1)(n)+W(2)(n)+W(3)(n)=n+∑n/2h+1=O(n)§由Brent定理知:t(n)=O(n/p+logn)例3设A为矩阵,有如下串行程序段:fori=1tondo

2、forj=1tondoa[3i,2j]=a[3i-2,2j-1]endforendfor其相关方向向量为,可知行和列间同时存在数据相关。在此我们可以试用行划分、列划分和方块划分.在行划分的情况下令m=┌n/p┐,例1的串行程序段可以转化为如下的并行程序段:fork=1toPPar-dofori1=1tomdoforj=1tondoa[3(k-1)m+3i1,2j]=a[3(k-1)m+3i1-2,2j-1]endforendforendfor例4设A为一个n阶方阵,有如下串行程序段:fori=1tondoforj=1tondoa[i,j]=a[i-1,j]endforendfor分析

3、矩阵A的元素下标i和j,则i和j的相关方向向量为,各列之间数据无任何相关关系。因此对矩阵A可按列划分。串行程序段可转化为如下并行程序段:fork=1toPPar-doforj1=1tomdofori=1tondoa[i,(k-1)m+j1]=a[i-1,(k-1)m+j1]endforendforendfor例5注:本例无链路竞争和死锁现象例6E立方选路  0110(S)1101(D)1011(R)例7DNS乘法示例C00=1×(-5)+2×7=9C01=1×(-6)+2×8=10C10=3×(-5)+4×7=13C11=3×(-6)+4×8=14例8上三角方程组的回代解法并行化(1

4、)SISD上的回代算法Begin(1)fori=ndownto1do(1.1)xi=bi/aii(1.2)forj=1toi-1dobj=bj-ajixiaji=0endforendforEnd(2)SIMD-CREW上的并行回代算法-划分:p个处理器行循环带状划分-算法Beginfori=ndownto1doxi=bi/aiiforallPj,where1≤j≤pdofork=jtoi-1steppdobk=bk-akixiaki=0endforendforendforEnd//p(n)=n,t(n)=n例9n=8的BF网络表示Pr,i与上层Pr-1,i,Pr-1,j相连,这里j与

5、i仅在第r位不同例10一个在MPI中创建新通信域的例子§MPI_CommMyWorld,SplitWorld;§intmy_rank,group_size,Color,Key;§MPI_Init(&argc,&argv);§MPI_Comm_dup(MPI_COMM_WORLD,&MyWorld);§MPI_Comm_rank(MyWorld,&my_rank);§MPI_Comm_size(MyWorld,&group_size);§Color=my_rank%3;§Key=my_rank/3;§MPI_Comm_split(MyWorld,Color,Key,&SplitWorl

6、d);例11考虑如下程序段:L1:forI=1to50do...S:X(2*I)=......T:...=...X(3*I+1)......endfor这里:f1(I)=2*I;g1(J)=3*J+1。依赖方程为:f1(I)-g1(J)=0è2*I–3*J=1,而依赖约束为:1≤I≤50,1≤J≤50。该方程的解(I,J)对应的数组变量会导致S和T之间的依赖。例12考查以下循环可向量化的情况.(1)forI=2toN–1doforJ=2toN–1doS:A(I,J)=B(I-1,J)+CT:B(I,J)=A(I,J+1)*2        endforendfor(a)存在依赖Tdf

7、S,方向为(1,0)(b)存在依赖TdaS,方向为(0,1) (2)forI=1toNdoforJ=1toNdoS:D(I,J)=A(I,J)+CT:A(I+1,J+1)=B(I,J)*2endforendfor存在依赖TdfS,方向为(1,1)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。