- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
国家高性能计算中心(合肥)**4.3MPI消息(通信域)通信上下文:安全的区别不同的通信以免相互干扰通信上下文不是显式的对象,只是作为通信域的一部分出现进程组和通信上下文结合形成了通信域MPI_COMM_WORLD是所有进程的集合国家高性能计算中心(合肥)**4.3MPI消息(通信域)MPI提供丰富的函数用于管理通信域函数名含义MPI_Comm_size获取指定通信域中进程的个数MPI_Comm_rank获取当前进程在指定通信域中的编号MPI_Comm_compare对给定的两个通信域进行比较MPI_Comm_dup复制一个已有的通信域生成一个新的通信域,两者除通信上下文不同外,其它都一样。MPI_Comm_create根据给定的进程组创建一个新的通信域MPI_Comm_split从一个指定通信域分裂出多个子通信域,每个子通信域中的进程都是原通信域中的进程。MPI_Comm_free释放一个通信域国家高性能计算中心(合肥)**4.3MPI消息(通信域)一个在MPI中创建新通信域的例子MPI_CommMyWorld,SplitWorld;intmy_rank,group_size,Color,Key;MPI_Init(argc,argv);MPI_Comm_dup(MPI_COMM_WORLD,MyWorld);MPI_Comm_rank(MyWorld,my_rank);MPI_Comm_size(MyWorld,group_size);Color=my_rank%3;Key=my_rank/3;MPI_Comm_split(MyWorld,Color,Key,SplitWorld);国家高性能计算中心(合肥)**4.3MPI消息(通信域)MPI_Comm_dup(MPI_COMM_WORLD,MyWorld)创建了一个新的通信域MyWorld,它包含了与原通信域MPI_COMM_WORLD相同的进程组,但具有不同的通信上下文。MPI_Comm_split(MyWorld,Color,Key,SplitWorld)函数调用则在通信域MyWorld的基础上产生了几个分割的子通信域。原通信域MyWorld中的进程按照不同的Color值处在不同的分割通信域中,每个进程在不同分割通信域中的进程编号则由Key值来标识。RankinMyWorld0123456789Color0120120120Key0001112223RankinSplitWorld(Color=0)0123RankinSplitWorld(Color=1)012RankinSplitWorld(Color=2)012国家高性能计算中心(合肥)**4.3MPI消息(通信域)组间通信域是一种特殊的通信域,该通信域包括了两个进程组,分属于两个进程组的进程之间通过组间通信域实现通信。一般把调用进程所在的进程组称为本地进程组,而把另外一个称为远程进程组。函数名含义MPI_Comm_test_inter判断给定的通信域是否为组间通信域MPI_Comm_remote_size获取指定组间通信域中远程进程组的大小MPI_Comm_remote_group返回给定组间通信域的远程进程组MPI_Intercomm_creat根据给定的两个组内通信域生成一个组间通信域。MPI_Intercomm_merge将给定组间通信域包含的两个进程组合并,形成一个新的组内通信域国家高性能计算中心(合肥)**4.3MPI消息(消息状态)消息状态(MPI_Status类型)存放接收消息的状态信息,包括: 消息的源进程标识--MPI_SOURCE 消息标签--MPI_TAG
错误状态--MPI_ERROR 其他--包括数据项个数等,但多为系统保留的。是消息接收函数MPI_Recv的最后一个参数。当一个接收者从不同进程接收不同大小和不同标签的消息时,消息的状态信息非常有用。国家高性能计算中心(合肥)**4.3MPI消息(消息状态)假设多个客户进程发送消息给服务进程请求服务,通过消息标签来标识客户进程,从而服务进程采取不同的服务while(true){MPI_Recv(received_request,100,MPI_BYTE,MPI_Any_source,MPI_Any_tag,comm,Status);switch(Status.MPI_Tag){casetag_0:perfo
您可能关注的文档
最近下载
- 煤矿通勤车日常行车管理制度要求.docx
- 陆地生态系统氮沉降的生态效应研究进展与展望.docx VIP
- 2025年最新版劳动合同法全文(2025精) .pdf VIP
- 医学课件-加速康复外科理念在骨科中的应用.pptx
- 国家开放大学电大《教育政策与法律》形成性考核1-4答案.docx
- 《供应链金融缓解中小企业融资难问题研究》8400字.doc VIP
- 《答韦中立论师道书》详细注释及译文.docx VIP
- 【西门子】SINUMERIK 840D sl 前置操作面板 - TOP 1500, TOP 1900, TOP 2200.pdf VIP
- 上海市三类人员安全员C3证考试题库及答案(判断题601-799).pdf VIP
- 山东第一医科大学《高等数学》2019-2020期末试卷.pdf VIP
原创力文档


文档评论(0)