并行计算-习题及答案-第14章_分布存储系统并行编程

并行计算-习题及答案-第14章_分布存储系统并行编程

ID:5228288

大小:36.50 KB

页数:5页

时间:2017-12-06

并行计算-习题及答案-第14章_分布存储系统并行编程_第1页
并行计算-习题及答案-第14章_分布存储系统并行编程_第2页
并行计算-习题及答案-第14章_分布存储系统并行编程_第3页
并行计算-习题及答案-第14章_分布存储系统并行编程_第4页
并行计算-习题及答案-第14章_分布存储系统并行编程_第5页
资源描述:

《并行计算-习题及答案-第14章_分布存储系统并行编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十四章分布存储系统并行编程习题例题:1、试考虑下述代码段中通信体的使用;process0:MPI_Send(msg1,count1,MPI_INT,tag1,comm1);parallel_fft(...);process1:MPI_Recv(msg1,count1,MPI_INT,tag1,comm1);parallel_fft(...);⑴试分析上述代码段的计算功能。⑵如果在parallel_fft(...)中又包含了另一个发送程序:If(my_rank==0)MPI_Send(msg2,count1,MPI_INT,1,tag2,comm2);如果没有通信体则会发生什么情况

2、?2、填上空白处,使下面两代码段完全等效:⑴floatdata[1024];MPI_Datatypefloattype;MPI_Type_vector(10,1,32,MPI_FLOAT,&floattype);MPI_Type_commit(&floattype);MPI_Send(data,1,floattype,dest,tag,MPI_COMM_WORLD);MPI_Type_free(&floattype);⑵floatdata[1024],buff[10];for(______;______;i++)buff[i]=data[_____]MPI_Send(buff,__

3、____,MPI_FLOAT,______,______,______);3、下面是PVM环境下的hello程序,它是一个host/node程序,试分析其工作过程。//*PVM主机/节点编程的hello代码段*///*host程序hello.c*/#include#include“pvm3.h”main(){intcc,tid;charbuf[100];printf(“i’mt%x”,pvm_myid());cc=pvm_spwan(“hello_other”,(char**)0,0,“”,1,&tid);if(cc==1){cc=pvm_recv(-1,-1

4、);pvm_bufinfo(cc,(int*)0,(int*)0,&tid);pvm_upkstr(buf);printf(”fromt%x:%s”,tid,buf);}elseprintf(“can’tstarthello_other”);pvm_exit();}/*node程序hello_other.c*/#include“pvm3.h”#include“string.h”main(){intptid;charbuf[100];ptid=pvm_parent();strcpy(buf,“hello,worldfrom”);gethostname(buf+strlen(b

5、uf),64);pvm_initsend(PvmDataDefault);pvm_pkstr(buf);pvm_send(ptid,1);pvm_exit();exit(0);}4、计算可以通过MPI程序。为了加深读者对MPI的学习和理解,下面给出用FORTRAN90语言的实现版本。试分析其工作过程。//*计算的MPI(F90)编程代码段*//programmainusempidoubleprecisionPI25DTparameter(PI25DT=3.141592653589793238462643d0)doubleprecisionmypi,pi,h,sum,x,f,aint

6、egern,myid,numprocs,i,rc!functiontointegratef(a)=4.d0/(1.d0+a*a)callMPI_INIT(ierr)callMPI_COMM_RANK(MPI_COMM_WORLD,myid,ierr)callMPI_COMM_SIZE(MPI_COMM_WORLD,numprocs,ierr)print*,‘process’,myid,‘of’,numprocs,‘isalive’sizetype=1sumtype=2doif(myid.eq.0)thenwrite(6,98)98format(‘Enterthenumberofin

7、tervals:(0quit)’)read(5,99)n99format(i10)endifcallMPI_BCAST(n,1,MPI_INTEGER,0,MPI_COMM_WORLD,ierr)!checkforquitsignalif(n.le.0)exit!calculatetheintervalsizeh=1.0d0/nsum=0.0d0doi=myid+1,n,numprocsx=h*(dble(i)-0.5d0)sum=sum+f(x)enddomypi=

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

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

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