编译程序概述.pptVIP

  1. 1、本文档共101页,可阅读全部内容。
  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文档。上传文档
查看更多
高性能计算(High Performance Computing) 指令级并行(Instruction Level Parallelism) 线程级并行(Thread Level Parallelism) 处理机级并行(Processor Level Parallelism) 系统级并行(Thread Level Parallelism) 嵌入式计算(Embedded Computing) 需求多样性(实时、资源限制、功耗、多目标) 其它 多媒体计算(Multimedia Computing) 网络计算(Network Computing) …… 并行编译技术– 面向高性能计算 交叉编译技术– 面向嵌入式计算 并行编译系统 处理并行程序设计语言 实现串行程序并行化. 针对并行体系结构的程序优化 针对向量机的向量语言处理、串行程序向量化 针对并行多处理机的并行语言处理,串行程序并行化 针对流水线,超长指令字、指令延迟槽等硬件结构的指令调度优化,针对分布存储器多处理机的通信优化等 并行处理语句举例 C=A*B 或者 C(1:N)=A(1:N)*B(1:N) 它们等价于循环: do I=I,N C(I)=A(I)*B(I) Enddo Parallel do I=I,T C(I)=A(I)*B(I) Enddo do I=T,N C(I)=A(I)*B(I) Enddo Endparallel if ( ab cd ef ) s1; else s2; 如 针对 IA-64 ,将如下语句 if (ab) then c = c+1 else d = d*e + f 通过编译的优化,可以消除条件语句中的转移指令,把它转化成预测执行: pT, pF = CMP (ab) if (pT) c = c+1 if (pF) d = d*e + f 成功地消除了转移。此外,还可以利用 IA-64 的 EPIC 特性,把上述后两条指令调度成并行执行。 程序分析-各种并行优化的基础。 数据依赖关系分析 控制依赖并系分析 数据流分析, 程序分析的级别 对超标量机——一般的数据流分析。 对于提供指令级并行的超长指令字机器,向量机或并行机数据依赖关系分析和控制依赖关系分析 分析的范围——与并行粒度有关 循环级并行——分析的对象是循环 子程序并行——分析子程序之间的关系 尽可能利用并行硬件能力为目的的各种程序转换。 减少指令长度和存储访问次数 利用向量流水线的向量化, 利用多处理机结构的并行化, 减少流水部件或存储器访问延迟的指令调度 包括程序中的并行语法、语义的分析处理,也包括与体系结构相关的目标代码生成。 与并行语言有关 与计算机结构有关 向量处理机----向量语句组织成向量循环 共享存储器多处理机---并行循环的迭代划分,以及处理机调度与同步库子程序调用的插入 分布存储器大规模并行机---数据与计算的分布,分布数组的地址计算,通信所需的消息传递库子程序调用的插入等。 计算机提供的并行性越高体系结构越复杂,编译面临的任务就越多,越困难,这种困难性主要在于针对并行体系结构的向量化,并行化和各种优化中的许多问题都是NP一完全的问题 由于目标机指令系统与宿主机的指令系统不同, 编译程序在宿主机A上运行,将应用程序的源程序生成目标机B的代码,这种编译称为交叉编译。 S O I O A B 交叉编译程序 手工 机器语言 汇编 系统程序设计语言 自展,交叉编译 自动构造工具,如 lex yacc 编译基础设施(多源语言多目标机体系结构的编译程序构造和编译技术研究平台) 5、 编译程序的实现方式 一些编译基础设施 编译基础设施(Compiler Infrastructure) NCI (National Compiler Infrastructure) project SUIF (Stanford University) Zephyr (Virginia University and Princeto

文档评论(0)

131****9843 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档