超性能计算(mpi)课件详细讲解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
for (i = myid + 1; i = n; i += numprocs) { x = h * ((double)i - 0.5); sum += f(x); } mypi = h * sum; MPI_Reduce(mypi, pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); if (myid == 0) { printf(pi is approximately %.16f, Error is %.16f\n, pi, fabs(pi - PI25DT)); endwtime = MPI_Wtime(); printf(wall clock time = %f\n, endwtime-startwtime); } MPI_Finalize(); } 知识回顾Knowledge Review * comm=MPI_COMM_WORLD MPI_Comm_rank(MPI_COMM_WORLD,rank) If(rank==0) { MPI_Send(sendbuf,count,MPI_INT,1,tag,comm); MPI_Recv(recbuf,count,MPI_INT,1,tag,comm,status); } If(rank==1) { MPI_Recv(recbuf,count,MPI_INT,0,tag,comm,status); MPI_Send(sendbuf,count,MPI_INT,0,tag,comm); } 再一次修改:发送与接收操作按次序进行匹配 进程0 向进程1发送消息 从进程1接收消息 进程1 从进程0接收消息 向进程0发送消息 安全通信! A C D B 1、只要C存在,则系统不提供缓冲区A也能够执行; 2、C能够执行; 3、A,C完成后,只要B存在,系统不提供缓冲区D也能够执行; 4、B能够执行。 D C B A 结论: 将发送与接收操作按照次序进行匹配: 一个进程的发送操作在前,接收操作在后; 另一个进行的接收操作在前,发送操作在后; 若将两个进程的发送与接收操作次序互换,其消息传递过程仍是安全的 五 任意进程间相互问候 进程0 进程1 进程2 hello hello hello hello hello hello 程序分析 每个进程均需完成以下任务: 1、将自身标识和被问候的进程标识放入消息数据buffer中; 2、向除自身外的其它所有进程发送消息(buffer) 3、接收其它进程对自己发送的问候消息 程序分析 任务一: 将自身标识和被问候的进程标识放入消息数据buffer中; 定义一个整型数值存放需要发送的消息内容 int buffer[2] 将自身标识放入消息中 buffer[0]=me; 将被问候进程的标识放入消息中 buffer[1]=node; 程序分析 任务二: 向除自身外的其它所有进程发送消息(buffer) ; for ( i=0; isize; i++ ) { if ( i != me ) MPI_Send(buffer,2,MPI_INT, i ,tag1,MPI_COMM_WORLD) size为总的进程个数 } 程序分析 任务三: 3、接收其它进程对自己发送的问候消息 for ( i=0; isize; i++ ) { if ( i != me ) MPI_Recv(buffer,2,MPI_INT, i ,tag1, MPI_COMM_WORLD,status) 第四讲 组通信,群通信,集合通信 第一节 组通信概述(Collective communication) 组通信一般实现三个功能: 通信 同步 计算 一、组通信的消息通信功能 一对一 按通信方向的不同,组通信可分为三种 …… …… 一对多 多对一 多对多 广播 收集 二、组通信的同步功能 快的进程必须等待慢的进程,直到所有进程都执行到该语句后才可以向下进行 同步点 进程完成同步调用后,所有的进程都已执行的同步点前面的操作 三、组通信的计算功能 组内消息通信 处理结果存 入接收缓冲区 相应进程的 消息处理 MPI组通信的计算功能分三步实现: 第一、通信的功能,消息根据要求发送到目标进程,目标进程也接收到的所需的消息 第二、消息的处理,即计算部分 第三、将处理结果放入指定的接收缓冲区 MPI_BCAST(buffer,c

文档评论(0)

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

本人从事教育还有多年,在这和大家互相交流学习

1亿VIP精品文档

相关文档