重庆理工大学计算机科学与工程学院编译原理课件第10章 并行编译基础.pptVIP

重庆理工大学计算机科学与工程学院编译原理课件第10章 并行编译基础.ppt

  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文档。上传文档
查看更多
第十二章 并行编译基础 第十章 并行编译基础 本章内容 高性能计算机的体系结构和并行编译系统的结构 几个预备概念 数据依赖关系的若干定义 数据依赖关系分析技术 根据依赖关系判别可向量化循环与可并行化循环 并行计算机是近二十几年来发展迅速的一类计算机。并行编译系统已经成为了现代高性能计算机系统中一个重要的部分。并行程序设计主要有两种途径,即使用并行程序设计语言编写并行程序,或将串行程序并行化。因此,并行编译系统就是能够处理并程序设计语言,能够实现串行程序并行化。具有并行优化能力的编译系统。 并行编译技术中两个最重要的内容便是串行程序的向量化和并行化。 向量化是将串行程序中可向量化的部分改写成用向量运算表示的等价程序,其编译技术已趋成熟。并行化,是将串行程序中可并行化的部分改写成在多处理机上并行执行的等价程序。由于涉及到数据的私有化、分布和通信,以及并行任务划分等诸多问题,因此并行化技术是难度很大且仍在研究之中的技术。 向量化和并行化这两种编译技术有很大的共同之处,其一是它们的优化对象是相同,二者均把源程序中的循环作为优化的对象;其二是它们所依赖的基础技术相同,二者均把数据依赖关系分析技术作为优化的依据。 所以从原理上讲数据依赖关系分析技术在本章的地位是十分重要的。 本章介绍并行编译技术的基础知识,主要是依赖关系分析的基础理论以及向量化、并行化的基础知识。主要内容包括: 高性能计算机的体系结构和并行编译系统的结构 预备概念 数据依赖关系的若干定义 数据依赖关系分析技术 根据依赖关系判别可向量化循环与可并行化循环 一、并行计算机及其编译系统 并行计算机体系结构大致可分为向量计算机、共享存储器多处理机以及分布存储器大规模并行计算机三类。 向量计算机 向量是由类型相同的标量数据项组成的集合。向量计算机是具有向量处理能力的计算机,它是在标量处理机的基础上增加了向量处理部分而构成的。向量处理部分通常含有若干向量寄存器、若干向量流水功能部件,以及一个控制向量操作长度的寄存器。 与标量操作只对一个或一对操作数进行处理不同,向量操作同时对向量的所有元素进行处理。每次向量操作涉及的元素数由向量长度寄存器控制。 并行编译针对向量计算机的一个重要功能是串行程序向量化。显然程序中的向量成分越多,向量机的运行效率就越高。向量化自动地寻找源程序中可以向量化的循环,必要时对循环作适当的改写或变换,以利于向量化。 共享存储器多处理机 共享存储器多处理机是由多个处理机和一个共享存储器,以及专门的同步通信部件构成的计算机系统。 共享存储器多处理机在更大的范围内提供了并行处理能力。向量机只能并行处理向量操作,而多处理机可以并行执行多个循环迭代、语句块、子程序段。当多处理机系统的每一个处理机都是向量机时,还可以实现高层并行处理和低层向量处理。 共享贮存多处理机的并行编译系统由许多专门的工作要做,这些工作包括:串行程序并行化和编译并行语法成分 分布式存储器大规模并行计算机 这类计算机是有成百、上千乃至上万个结点构成的并行机,每个结点有自己的处理机和存储器,结点之间以互联网络相连。 目前大规模并行机上的并行编译系统主要是针对数据并行语言的,它需要完成以下几种处理: 数据分布:数据分布的目的是提高数据的局部性和并行性,减少通信开销,从而提高程序的执行速度。 任务划分:任务划分是指如何在多个处理机上分配并行任务,使得程序可以高效地并行执行。 同步与通信:并行编译对同步与通信的处理主要包括确定同步与通信点并插入相应的并行库子程序调用,以及同步同信优化。 并行编译系统的结构 从功能上看,并行编译系统通常包括程序分析、程序优化和并行代码生成三个部分。 二、 基本概念 向量与向量的次序 考虑迪卡尔乘积Zm,其中 Z示所有整数组成的集合。称Zm的元素i =(i1, i2, …im)是大小为m的整向量或Zm的向量。任何大小的零向量(0,0,。。。0)均记为0。非零向量i=(i1, i2, …im)的前导元素是它的第一个非零元素。如果前导元素为 il (1=l=m)称整数l为向量的的层次,记为lev(i). Zm的零向量的层次为m+1。若向量的的前导元素为正,则称向量i 为正向量;反之,若前导元素为负,则称为负向量。零向量和正向量统称为非负向量。 Zm的向量之间存在着字典序。设i =( i1, i2, …im), j =(j1,j2,…jm), 向量 ij

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档