PI环境构建及程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PI环境构建及程序设计
1.实验内容:
MPI实现四个进程以上的Jacobi迭代,进行至少连续四次迭代后选择两进程所处理数据交界处8×8子矩阵进行输出.
2.实现方式:
使用MPI进行实验.
3.实验环境:
单核cpu,windows平台.
4.实验原理:
…
REAL A(N+1,N+1), B(N+1,N+1)
…
DO K=1,STEP
DO J=1,N
DO I=1,N
B(I,J)=0.25*(A(I-1,J)+A(I+1,J)+A(I,J+1)+A(I,J-1)) END DO
END DO
DO J=1,N
DO I=1,N
A(I,J)=B(I,J)
END DO
END DO
5.程序流程图
6.实现方法
把512*512的矩阵横向分成4部分,创建4个进程分别处理每部分,各个进程之间数据的传递情形如下:
7.实验结果
叠代10此后
进程1 a[mysize-8,mysize][1,4]
进程2 a[1-8][1,4]
叠代11此后
进程1 a[mysize-8,mysize][1,4]
进程2 a[1-8][1,4]
叠代12此后
进程1 a[mysize-8,mysize][1,4]
进程2 a[1-8][1,4]
叠代13此后
进程1 a[mysize-8,mysize][1,4]
进程2 a[1-8][1,4]
9.总结展望(心得体会)
这次实验让我学会了独立分析和解决问题的方法,并且也更加深刻的了解了mpi 间的信息传送.学会了换个思考角度想问题,在你看来非常麻烦和困难的事情变迎刃而解了.如矩阵是横向存的,如果我不用纵向划分而用横向化分数组,进程间的通信问题便很好解决了.。