网站大量收购闲置独家精品文档,联系QQ:2885784924

MPI并行编程-周纯葆.ppt

  1. 1、本文档共263页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MPI并行编程-周纯葆

消息发送缓存和消息接收缓存必须互不重叠,并且提供的数据类型与提供的规约操作相匹配。 首先,在个进程提供的消息发送缓存 (sendbuf, count, datatype) 包含的数据单元中执行规约操作,其中count为recvcounts数组中元素之和。 然后,将规约结果分成n个连续的端,其中第i段包含recvcounts(i)个数据单元,并存储在第i个进程的接收缓存中。 按由小到大的进程序号与操作op,执行并行前缀计算,其中第i个进程获得进程0到进程i的规约结果。 * * 保持在原进程组中的次序。 如果n=0,返回空进程组newgroup=MPI_GROUP_NULL。 保持在原进程组中的次序。 group=MPI_GROUP_EMPTY,size=0 group=MPI_GROUP_NULL,程序出错。 如果不在group中,则rank=MPI_UNDEFINED。 MPI进程拓扑结构 MPI_Graph_neighbors_count 图拓扑结构查询函数,返回某个进程的邻居结点数。 MPI_Graph_neighbors_count (comm, rank, nneighbor) IN comm 含图拓扑结构的通讯器 IN rank 进程序号 OUT nneighbor 进程rank的邻居结点数 MPI进程拓扑结构 MPI_Graph_neighbors 图拓扑结构查询函数,返回某个进程的所有邻居结点。 MPI_Graph_neighbors (comm, rank, maxneighbors, neighbors) IN comm 含图拓扑结构的通讯器 IN rank 进程序号 IN maxneighbors 数组neighbors的长度 OUT neighbors 进程rank所有邻居结点序号组成的数组 MPI进程组与通讯器 MPI进程拓扑结构 MPI_Graph_map 图拓扑结构映射函数,为每个进程映射一个新的序号。 MPI_Graph_map (comm, nnode, index, edges, newrank) IN comm 通讯器 IN nnode 图拓扑结构的结点总数 IN index 图拓扑结构的邻居结点数组 IN edges 图拓扑结构的边数组 OUT newrank 新的进程序号 MPI进程组与通讯器 MPI进程拓扑结构 MPI_Topo_test 拓扑结构类型查询函数,返回某个通讯器包含的拓扑结构的类型。 MPI_Topo_test (comm, type) IN comm 通讯器 OUT type 通讯器包含的拓扑结构类型 MPI进程拓扑结构 type = MPI_GRAPH 通讯器包含图拓扑结构 type = MPI_CART 通讯器包含Cartesian拓扑结构 type = MPI_UNDEFINED 通讯器不包含任何拓扑结构 例: MPI_Topo_test (MPI_COMM_WORLD, type) type = MPI_UNDEFINED 1. /tutorials/mpi/ 2. 传统程序都是进行串行计算的。一个问题被分为一系列离散的指令;指令之间都是顺序执行的;只能运行在一个处理器上;在同一时刻,只能有一条指令在执行。 并行计算是利用多个处理器资源来进行计算的。问题被分为多个独立的,可以同时进行计算的部分;每个计算部分进一步被分为一系列指令;不同计算部分的执行可以在不同的处理器上同时进行执行; 为什么要用到并行计算呢,主要是两方面的考虑,第一是减少计算时间,第二是增加计算规模。 并行计算三个基本条件:并行机器,并行算法,并行编程。 * 共享存储环境:通过读写操作系统提供的共享数据缓存。 分布存储网络环境中:通过socket网络通讯来完成。 * 资源特征:程序执行所需要的计算资源。 执行特征:进程执行过程中动态改变的特征。 如果要生成子进程就要复制资源特征和执行特征,而线程是共享资源特征的,只复制执行特征即可。 * comm=MPI_COMM_WORLD,全部进程退出。 comm≠MPI_COMM_WORLD,comm包含的进程退出,其他进程是否退出取决于具体MPI实现。 * 由进程向MPI环境提供缓存消息的内存空间。 消息发送函数可以被局部地提交和完成,与相匹配的消息接收函数是否存在没有任何关系。 类似于电话协议,直到消息接收函数被提交,两个通讯进程取得联系之后,消息才开始发送,且直到消息开始接收消息发送函数才能返回。 提交消息发送函数之前,先提交与之匹配的消息接收函数,且直到消息被写入消息接收缓存后,消息发送函数才返回。

文档评论(0)

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

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

1亿VIP精品文档

相关文档