MPI程序设计ch2.pptVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Y.Xu Copyright USTC 主要内容 2.1 平衡树方法 2.2 倍增技术 2.3 分治策略 2.4 划分原理 2.5 流水线技术 2.1 平衡树方法 设计思想 树叶结点为输入,中间结点为处理结点,由叶向根或由根向叶逐层并行处理。 示例 求最大值 计算前缀和 算法2.1 SIMD-SM上求最大值算法 Begin for k=m-1 to 0 do for j=2k to 2k+1-1 par-do A[j]=max{A[2j], A[2j+1]} end for end for end 2.1 平衡树方法 前缀和 问题定义 n个元素{x1,x2,…,xn},前缀和是n个部分和: Si=x1*x2*…*xi, 1≤i≤n 这里*可以是+或× 串行算法: Si=Si-1*xi 计算时间为 O(n) 并行算法:p56算法2.2 SIMD-SM上非递归算法(高层描述) p58算法2.3 SIMD-SM上非递归算法(底层描述) 令A[i]=xi, i=1~n, B[h,j]和C[h,j]为辅助数组(h=0~logn, j=1~n/2h) 数组B记录由叶到根正向遍历树中各结点的信息(求和) 数组C记录由根到叶反向遍历树中各结点的信息(播送前缀和) p56 算法2.2 SIMD-SM上非递归算法 begin (1)for j=1 to n par-do //初始化 B[0,j]=A[j] end if (2)for h=1 to logn do //正向遍历 for j=1 to n/2h par-do B[h,j]=B[h-1,2j-1]*B[h-1,2j] end for end for 主要内容 2.1 Balanced Trees Method 2.2 Doubling Techniques 2.3 Divide-and-Conquer Strategy 2.4 Partitioning Principle 2.5 Pipelining Techniques 主要内容 2.1 平衡树方法 2.2 倍增技术 2.3 分治策略 2.4 划分原理 2.5 流水线技术 设计思想 又称指针跳跃(pointer jumping)技术,特别适合于处理链表或有向树之类的数据结构; 当递归调用时,所要处理数据之间的距离逐步加倍,经过k步后即可完成距离为2k的所有数据的计算。 示例 表序问题 求森林的根 表序问题: 问题描述 n个元素的列表L,求出每个元素在L 中的次第号(秩或位序或rank(k)), rank(k)可视为元素k至表尾的距离; 示例:n=7 (1)p[a]=b, p[b]=c, p[c]=d, p[d]=e, p[e]=f, p[f]=g, p[g]=g r[a]=r[b]=r[c]=r[d]=r[e]=r[f]=1, r[g]=0 (2)p[a]=c, p[b]=d, p[c]=e, p[d]=f, p[e]=p[f]=p[g]=g r[a]=r[b]=r[c]=r[d]=r[e]=2, r[f]=1, r[g]=0 (3)p[a]=e, p[b]=f, p[c]=p[d]=p[e]=p[f]=p[g]=g r[a]=4, r[b]=4, r[c]=4, r[d]=3, r[e]=2, r[f]=1, r[g]=0 注:递归计算位序r (4)p[a]=p[b]=p[c]=p[d]=p[e]=p[f]=p[g]=g r[a]=6, r[b]=5, r[c]=4, r[d]=3, r[e]=2, r[f]=1, r[g]=0 表序问题: 算法:P60算法2.4 (1)并行做:初始化p[k]和distance[k] //O(1) (2)执行 次

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档