- 1、本文档共188页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MPI全发散收集函数 每个进程散发自己的一个数据块, 并且收集拼装所有进程散发过来的数据块。称该操作为数据的“全散发收集”。 它既可以被认为是数据全收集的扩展, 也可以被认为是数据散发的扩展 MPI_Alltoall函数详解 MPI_Alltoall是组内进程之间完全的消息交换,每一个进程都向其它所有的进程发送消息,同时每一个进程都从其它所有的进程接收消息。 MPI_Allgather每个进程散发一个相同的消息给所有的进程 MPI_Alltoall散发给不同进程的消息是不同的。因此它的发送缓冲区也是一个数组 调用MPI_Alltoall相当于每个进程依次将它的发送缓冲区的第i块数据发送给第i个进程,同时每个进程又都依次从第j个进程接收数据放到各自接收缓冲区的第j块数据区的位置。 MPI_Alltoall函数详解 MPI_Alltoall的每个进程可以向每个接收者发送数目不同的数据,第i个进程发送的第j块数据将被第j个进程接收,并存放在其接收消息缓冲区recvbuf的第i块。 每个进程的sendcount和sendtype的类型必须和所有其他进程的recvcount和recvtype相同这就意谓着在每个进程和根进程之间发送的数据量必须和接收的数据量相等。 P0 P1 P2 P3 A00 A01 A02 A03 A10 A11 A12 A13 A20 A21 A22 A23 A30 A31 A32 A33 A00 A10 A20 A30 A01 A11 A21 A31 A02 A12 A22 A32 A03 A13 A23 A33 P0 P1 P2 P3 MPI_Alltoall P0 P1 P2 P0 P1 P2 P0 P1 P2 P0 P1 P2 P0 P1 P2 MPI_Alltoall函数 int MPI_Alltoall( void* sendbuf /* in */, int sendcount /* in */, MPI_Datatype sendtype /* in */, void* recvbuf /*out*/, int recvcount /* in */, MPI_Datatype recvtype /* in */, MPI_Comm comm /* in */) MPI_Alltoallv函数 int MPI_Alltoallv( void* sendbuf /* in */, int sendcounts[] /* in */, int sdispls[] /* in */, MPI_Datatype sendtype /* in */, void* recvbuf /*out*/, int recvcounts[] /* in */, int rdispls[] /* in */, MPI_Datatype recvtype /* in */, MPI_Comm comm /* in */) MPI_Alltoallv函数详解 正如MPI_Allgatherv 和MPI_Allgather 的关系一样MPI_Alltoallv在MPI_Alltoall的基础上进一步增加了灵活性。它可以由sdispls指定待发送数据的位置,在接收方则由rdispls指定接收的数据存放在缓冲区的偏移量 所有参数对每个进程都是有意义的,并且所有进程中的comm值必须一致 MPI_Alltoall和MPI_Alltoallv可以实现n次独立的点对点通信但也有限制:1)所有数据必须是同一类型;2)所有的消息必须按顺序进行散发和收集 MPI_Alltoall vs MPI_Alltoallv 全局归约MPI_Reduce int MPI_Reduce ( void* openand /* in */, void* result /* in */, int count /* in */, MPI_Datatype datatype /* in */, MPI_Op operator /*out*/, int root /* in */, MPI_Comm comm /* in */) openand 操作数(发送缓冲区)起始地址 result 接收缓冲区(结果)的地址 count 发送缓冲区数据个数 operator 归约操作符 组归约函数MPI_Allreduce int MPI_Reduce ( void* openand /* in */,
您可能关注的文档
- 1第八章__流动资产管理幻灯片.ppt
- 1第二章__货币时间价值幻灯片.ppt
- 1第九章__股利政策幻灯片.ppt
- 1第六章__筹资管理幻灯片.ppt
- 1第七章项目投资管理幻灯片.ppt
- 1第四章__财务分析幻灯片.ppt
- 中班啪啦啪啦嘭语言啪啦啪啦碰幻灯片.ppt
- 1第五章__筹资方式幻灯片.ppt
- 1第一章财务管理导论幻灯片.ppt
- 人教必修2第三章第三节市公开课教案及课件生活中两种常见的有机物--乙酸公开课幻灯片.ppt
- 教科版(2017秋)科学二年级上册2.6 做一顶帽子 教学设计.docx
- 河北高频考点专训四 质量守恒定律的应用教学设计---2024-2025学年九年级化学人教版(2024)上册.docx
- 大单元教学【核心素养目标】6.3 24时计时法教学设计 人教版三年级下册.docx
- 河南省商城县李集中学2023-2024学年下学期九年级历史中考模拟八(讲评教学设计).docx
- 第18章 第25课时 正方形的性质2023-2024学年八年级下册数学课时分层作业教学设计( 人教版).docx
- Module 8 模块测试 教学设计 2024-2025学年英语外研版八年级上册.docx
- 2024-2025学年小学数学五年级下册浙教版教学设计合集.docx
- 2024-2025学年小学劳动四年级下册人民版《劳动》(2022)教学设计合集.docx
- 2024-2025学年小学数学三年级上册冀教版(2024)教学设计合集.docx
- 2024-2025学年高中生物学必修1《分子与细胞》人教版教学设计合集.docx
文档评论(0)