类型1.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
类型1

Slides for Parallel Programming Techniques Applications Using Networked Workstations Parallel Computers 2nd ed., by B. Wilkinson M. Allen, @ 2004 Pearson Education Inc. All rights reserved. Pipelined Computations 流水线计算 Lecture 6, Chapter 5 Pipelined Computations 问题被分成一系列必须是一个接一个完成的任务 (顺序程序设计的基础). 每个任务由独立的进程或处理器所执行. 例一:求和 将数组 a 元素累加求和: for (i = 0; i n; i++) sum = sum + a[i]; 此for循环语句可拆成下面的语句 sum = sum + a[0]; sum = sum + a[1]; sum = sum + a[2]; sum = sum + a[3]; sum = sum + a[4]; . . . 用流水线法 例二 频率过滤器 - 目标是从数字化信号f(t)中去掉特定的频率 (f0, f1, f2,f3, etc.) 信号从流水线的左方进入,每一级负责去掉一个频率: 流水线计算适用范围 假设问题可分解成一系列的顺序任务,下面三种计算类型可以用流水线方法来加速: 类型1. 如果需要对该问题运行多个实例的。 类型2. 如果必须处理一系列数据的,而每个数据需要多次操作的。 类型3. 如果进程在完成自己的所有内部操作之前能够把下一个进程启动所需要的信息向前传送的。 “类型1” 流水线 时空 图表 每个实例(instance)需要依次经历6个顺序进程 类型1的另一种时空图标 个人感觉: 此问题还不如对每个实例按照工作池(work pool)的动态方法好 “类型2” 流水线时空图表 个人感觉还是工作池的方法要好 “类型3” 流水线 时空图表 在前一个进程结束之前就将信息从当前进程传到下一级。 If the number of stages is larger than the number of processors in any pipeline, a group of stages can be assigned to each processor: 如果阶级数大于进程数,就将级分组成批给每个进程 Computing Platform for Pipelined Applications Multiprocessor system with a line configuration 线性结构的多处理器系统:方便,廉价, 相邻的处理器支持同时消息传递。 以太网 流水线程序举例 (Examples of each type of computation) Pipeline Program Examples 多组数 进行组内数的相加 类型1的流水线计算 ai ai ai ai ai 中间的每个进程 Pi : recv(accumulation, Pi-1); accumulation = accumulation + number; send(accumulation, Pi+1); 第一个进程, P0, send(number, P1); 最后一个进程, Pn-1, recv(number, Pn-2); accumulation = accumulation + number; SPMD program if (process 0) { recv(accumulation, process-1); accumulation = accumulation + number; } if (process n-1) send(accumulation, process+1); 在最后进程中得到结果。 除了加法运算,其他算术运算都可如此编程。 各进程的程序可以合写成: 数多了,应该采用数据划分来减少通信开销。 Pipelined addition numbers Master process and ring configuration Sorting Numbers A parallel version of insertion sort. (插入排序) Pipeline for sorting using insertion sort 类型2的流水线计算 进程 Pi 的基本算法 recv(number, Pi-1); if (number x) { send(x, Pi+1); x = number

文档评论(0)

75986597 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档