- 1、本文档共112页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
同一个接收者时,如果没有消息标识,接收者就无法将这两个消息区分开来。如: Process X: Process Y: Send(A, 16, Y) Recv(C, 16, X) Send(B, 16, Y) Recv(D,16,X) 在以上这段代码中,原意是将A的前16个字节发送到C,将B的前16个字节发送到D。但是,如果消息B虽然比消息A晚发送,但却早于消息A到达进程Y,则B的前16个字节就会错误地发送到C中,而晚到消息A则会错误的把前16个字节发送到D中。为了避 免这种情况的发生,MPI就定义了采用消息标识。如: Process X: Process Y: Send(A, 16, Y, tag1) Recv(C, 16, X, tag1) Send(B, 16, Y, tag2) Recv(D,16,X, tag2) 将代码经过修改,加入了消息标识,这样即使消息B比消息A早到进程Y,但是由于消息标识不匹配,它只能等待。只有接收了消息A的内容后,才会接收消息B的 内容。 9.3.3 通信域 通信域(Communicator)包括进程组(Process Group)和通信上下文(Communication Con- text)等内容,用于描述通信进程间的通信关系。通信域分为组内通信域和组间通信域,分别用来实现MPI的组内通信(Intra-communication)和组间通信(Inter-commu- nication),多数MPI用户只需进行组内通信。 9.4 点对点通信(Point-to-point Communi- cation) 9.4.1 MPI通信模式 (1)标准通信模式 (2)缓冲通信模式 (3)同步通信模式 (4)就绪通信模式 9.4.2 阻塞通信 9.4.3 非阻塞通信 图9.2 MPI的四种通信模式 图9.3 阻塞消息发送和接收 图9.4 阻塞与非阻塞调用 (1)MPI_Isend C语言:int MPI_Isend(void* buf,int count,MPI_Datatype datatype,int dest,int tag, MPI_Comm comm, MPI_Request *request ) Fortran语言:MPI_ISEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR) type BUF(*) INTEGER COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR 参数说明:IN BUF, 所要发送消息数据的首 地址。 IN COUNT, 发送消息数组元素的个数。 IN DATATYPE, 发送消息的数据类型。 IN DEST, 接收消息的进程编号。 IN TAG, 消息标签。 IN COMM, 通信域。 OUT REQUEST, 请求句柄以备将来查询。 (2)MPI_Irecv C语言:int MPI_Irecv(void* buf,int count,MPI_Datatype datatype,int source, int tag,MPI_Comm comm,MPI_Request *request) Fortran语言:MPI_IRECV(BUF, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR) type BUF(*) INTEGER COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR 参数说明:OUT BUF,接收消息数据的首地址。 IN COUNT, 接收消息数组元素的个数。 IN DATATYPE, 接收消息的数据类型。 IN SOURCE, 发送消息的进程编号。 IN TAG, 消息标签。 IN COMM, 通信域。 OUT REQUEST, 请求句柄以备将来查询。 (3)MPI_Wait C语言:int MPI_Wait(MPI_Request *request, MPI_Status *status) Fortran语言:MPI_WAIT(REQUEST, STATUS, IERROR),INTEGER REQUEST, STATUS(MPI_STATUS_SIZE), IERROR 参数说明: INOUT REQUEST,请求句柄。 OUT STATUS, 发送或接收消息的状态。 (4)MPI_Test C语言:int MPI_Test(MPI_Request *request, int* flag, MPI_Status *status) Fortran语言:MPI_TEST( REQUEST, FLAG
您可能关注的文档
- 并行计算技术及其应用1-5章.ppt
- 并行计算技术及其应用6-7章.ppt
- 并行计算技术及其应用10章.ppt
- 并行计算技术及其应用11-13章.ppt
- 常用工具软件 (1).ppt
- 常用工具软件 (2).ppt
- 常用工具软件 (3).ppt
- 常用工具软件 (4).ppt
- 常用工具软件 (5).ppt
- 常用工具软件 (6).ppt
- 2025年中国锻铁围栏市场调查研究报告.docx
- 2025年中国椭圆型市场调查研究报告.docx
- 2025年中国无蔗糖原味豆浆市场调查研究报告.docx
- 2025-2031年中国泛在电力物联网行业发展运行现状及投资潜力预测报告.docx
- 2025年中国制袋机零件市场调查研究报告.docx
- 2025年中国智能除垢型电子水处理仪市场调查研究报告.docx
- 2025-2031年中国甘肃省乡村旅游行业市场深度研究及投资策略研究报告.docx
- 2025-2031年中国干海产品行业市场发展监测及投资战略规划报告.docx
- 2025年中国全铝图解易拉盖市场调查研究报告.docx
- 2025年中国人造毛皮服装市场调查研究报告.docx
最近下载
- 教师家访记录内容50篇.docx VIP
- 全国辅警考试题库+答案(2025版).docx VIP
- 项目成本管理(估算、预算、控制).ppt VIP
- 2024年广东省基层住院医师线上岗位培训《针灸技术》答案-中医学专业培训课程专业课.docx VIP
- DB44T2614.2-2025 农业面源污染监测及测算技术规范 第二部分:畜禽养殖业面源污染监测.pdf VIP
- 高考被动语态专项练习.pdf VIP
- 景观常用灌木.doc VIP
- 2025年储能电池热管理系统在光伏储能电站的集成与应用报告.docx VIP
- 非ST段抬高型急性冠脉综合征诊断和治疗指南(2024) .pdf VIP
- 华为存储双活规划设计指南.pdf VIP
文档评论(0)