网上购物 货比三家
您现在的位置:快乐比价网 > 图书 > 计算机与网络 > 原理基础 > 商品详情

现代体系结构的优化编译器——计算机科学丛书

分享到:
现代体系结构的优化编译器——计算机科学丛书

最 低 价:¥20.00

定 价:¥69.00

作 者:[美]艾伦,[美]肯尼迪 著,张兆庆 等译

出 版 社:机械工业出版社

出版时间:2004-6-1

I S B N:9787111141228

商品详情

编辑推荐

  设计具有高性能微处理器的现代计算机体系结构,能够极大地提高计算机在性能方面的潜在优势。然而其高度的复杂性使得产生有效代码和实现其全部优势变得愈加困难。这本出自两位学术权威的具有里程碑意义的教科书,重点阐述了编译器对于解决这个至关重要问题所起到的关键作用。
  数据依赖是在高性能微处理器和并行体系结构上优化程序的基本编译器分析工具。它能使所编写的编译器自动地将简单的串行程序转换成具有现代体系结构特征的程序。数据依赖支持许多变换策略,也应用于一些重要的优化问题,本书对此做了全面介绍,并对基于数据依赖的编译器优化的重要性和广泛应用性进行了论证,给出了理解和实现它们所需要的基础,同时还为手工转换程序提供了详细说明。
  书中介绍的方法是基于过去二十多年的研究成果.取材于在美国Rice大学的研究原型和几个有关的商业系统中实现的策略。致力于现代计算机体系结构设计和优化编译器的研究人员、业界专家和研究生都可以从本书中获益。
本书特点:
  提供一种简单实用的算法和方法的指南,在高性能微处理器和并行系统中是最有效的。
  用处理过的例子示范每个变换。
  用实例分析编译器如何实现每一章中描述的理论和实践。
  介绍存储层次结构问题的最完善的处理方法。
  全书用依赖图来阐明排序关系。
  涉及各种语言。包括Fortran77、C、硬件定义语言、Fortran 90和High Performance Fortran。


内容简介

本书介绍对现代体系结构的编译器进行优化的方法,理论基础是基于循环依赖的。分析基于依赖的变换的正确性论述和依赖测试的详细过程。剖析怎样扩展依赖去处理循环嵌套中的控制流以及跨越整个程序的过程。本书还讨论怎样能用依赖来回答现代计算机系统编译中的众多重要问题,包括支持不同类型体系结构(例如,向量、多处理器、超标量)的并行化,存储层次结构的编译器管理,带指令级并行性的机器的指令调度。最后,介绍一些不大为人熟知的应用,如硬件设计、数组语言实现以及消息传递系统的编译。

作者简介

Randy Allen以优异盛开获得Harvard大学化学专业学士学位,在Rice(赖斯)大学获得数学科学硕士和博士学位。成为Rice大学研究员之后,Allen博士参加了业界编译器构造的实践活动。他经历了在Ardent Computers、Sun Microsystems、Chronologic Simulation、Synopsys和CynApps等公司的研究、高级开发以及管理工作。他本人以及和他人合作在各种学术会议和杂志上发表了15篇关于计算机优化、编译器重构和硬件模拟等方面的论文。他出任Suppercomputing和Conference on Programming Language and Design Implementation等会议的程序委员会成员。目前,他是几家公司(包括IBM、Intermetrics、Microtes Research和Mentor Graphics)的优化编译器顾问,是Catalytic Compilers公司总裁和CEO。
Ken Kenedy是Rice大学计算工程的Ann and John Doerr教授和高性能软件研究中心(主任)。他是电气和电子工程师学会(IEEE)、计算机协会(ACM)以及美国科学促进会协会(AAAS)的会士,自1990年起,他是美国工程院院士。从1997年到1999年,任的PITAC报告中的领导作用,获得计算研究协会杰出贡献奖和RCI Seymour Cray HPCC Industry Recognition奖。Kennedy教授发表了150多篇学术论文,并指导34篇有关高性能计算机系统程序设计支撑软件的博士论文。他对高性能计算软件方面的贡献得到了公认,1995年他获得W.Wallace Mcdowell奖,这是IEEE Computer Society的最高研究奖项。1999年他被提名为ACM SIGPLAN程序设计语言成就奖的第三位接受者。

目录

第1章 高性能体系结构对编译器的挑战
1.1 概述和目标
1.2 流水线
1.2.1 流水线指令部件
1.2.2 流水线执行部件
1.2.3 并行功能部件
1.2.4 标量流水线编译
1.3 向量指令
1.3.1 向量硬件概述
1.3.2 向量流水线编译
1.4 超标量处理器和VLIW处理器
1.4.1 多发射指令部件
1.4.2 多发射处理器的编译
1.5 处理器并行性
1.5.1 处理器并行性概述
1.5.2 异步并行性的编译
1.6 存储层次结构
1.6.1 存储系统概述
1.6.2 存储层次结构的编译
1.7 实例研究:矩阵乘法
1.8 先进编译技术
1.8.1 依赖
1.8.2 变换
1.9 小结
1.10 实例研究
1.11 历史评述与参考文献
习题
第2章 依赖:理论与实践
2.1 引言
2.2 依赖及其性质
2.2.1 存-取分类
2.2.2 循环内的依赖
2.2.3 依赖和变换
2.2.4 距离向量和方向向量
2.2.5 循环携带依赖和循环无关依赖
2.3 简单的依赖测试
2.4 并行化和向量化
2.4.1 并行化
2.4.2 向量化
2.4.3 一个先进的向量化算法
2.5 小结
2.6 实例研究
2. 历史评述与参考文献
习题
第3章 依赖测试
3.1 引言
3.2 依赖测试概述
3.2.1 下标划分
3.2.2 合并方向向量
3.3 单下标依赖测试
3.3.1 ZIV测试
3.3.2 SIV测试
3.3.3 多归纳变量测试
3.4 耦合组中的测试
3.4.1 Delta测试
3.4.2 更强有力的多下标测试
3.5 实验研究
3.6 各种测试的集成
3.7 小结
3.8 实例研究
3.9 历史评述与参考文献
习题
第4章 初等变换
4.1 引言
4.2 信息需求
4.3 循环正规化
4.4 数据流分析
4.4.1 定义-使用链
4.4.2 死代码消除
4.4.3 常数传播
4.4.4 静态单赋值形式
4.5 归纳变量暴露
4.5.1 前向表达式替换
4.5.2 归纳变量替换
4.5.3 驱动替换过程
4.6 小结
4.7 实例研究
4.8 历史评述与参考文献
习题
第5章 提高细粒度并行性
第6章 开发粗粒度并行性
第7章 处理控制流
第8章 改进寄存器的使用
第9章 管理高速缓存
第10章 调度
第11章 过程间分析和优化
第12章 C语言和硬件设计中的依赖
第13章 编译数组赋值
第14章 编译高性能Fortran
附录 Fortran 90基础
参考文献
索引

商品评论(0条)

暂无评论!

您的浏览历史

loading 内容加载中,请稍后...