超性能计算(mpi)课件重点分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 进程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,count,datatype,root,comm) IN/OUTbuffer通信消息缓冲区的起始地址 INcount 将广播出去/或接收的数据个数 INdatatype 广播/接收数据的数据类型 INroot 广播数据的根进程的标识号 INcomm 通信域 int MPI_Bcast(void* buffer,int count,MPI_Datatype datatype,int root, MPI_Comm comm) 功能? 广 播(一对多) 同 步 MPI_BARRIER(comm) IN comm Int MPI_Barrier(MPI_Comm comm) 归 约 在进行通信的同时完成一定的计算 除完成消息传递功能之外,还能对所传递的数据进行一定的操作或运算 MPI_REDUCE调用 MPI_REDUCE(sendbuf,recvbuf,count,datatype,op,root,comm) INsendbuf 发送消息缓冲区的起始地址 OUT recvbuf接收消息缓冲区中的地址 INcount 发送消息缓冲区中的数据个数 INdatatype 发送消息缓冲区的元素类型 INop 归约操作符 INroot 根进程序列号 INcomm 通信域 功能:将组内每个进程输入缓冲区中的数据按给定的操作op进

文档评论(0)

创业文库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档