Optimizing Compilers for Modern Architectures: A Dependence-based Approach (Hardcover)
暫譯: 現代架構的最佳化編譯器:基於依賴的方式 (精裝版)

Randy Allen, Ken Kennedy

  • 出版商: Morgan Kaufmann
  • 出版日期: 2001-09-26
  • 售價: $5,180
  • 貴賓價: 9.5$4,921
  • 語言: 英文
  • 頁數: 790
  • 裝訂: Hardcover
  • ISBN: 1558602860
  • ISBN-13: 9781558602861
  • 相關分類: Compiler
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

商品描述

Modern computer architectures designed with high-performance microprocessors offer tremendous potential gains in performance over previous designs. Yet their very complexity makes it increasingly difficult to produce efficient code and to realize their full potential. This landmark text from two leaders in the field focuses on the pivotal role that compilers can play in addressing this critical issue.  
The basis for all the methods presented in this book is data dependence, a fundamental compiler analysis tool for optimizing programs on high-performance microprocessors and parallel architectures. It enables compiler designers to write compilers that automatically transform simple, sequential programs into forms that can exploit special features of these modern architectures.  
The text provides a broad introduction to data dependence, to the many transformation strategies it supports, and to its applications to important optimization problems such as parallelization, compiler memory hierarchy management, and instruction scheduling. The authors demonstrate the importance and wide applicability of dependence-based compiler optimizations and give the compiler writer the basics needed to understand and implement them. They also offer cookbook explanations for transforming applications by hand to computational scientists and engineers who are driven to obtain the best possible performance of their complex applications.  
The approaches presented are based on research conducted over the past two decades, emphasizing the strategies implemented in research prototypes at Rice University and in several associated commercial systems. Randy Allen and Ken Kennedy have provided an indispensable resource for researchers, practicing professionals, and graduate students engaged in designing and optimizing compilers for modern computer architectures

Contents


Preface 
Chapter 1 - Compiler Challenges for High-Performance Architectures  
Chapter 2 - Dependence: Theory and Practice  
Chapter 3 - Dependence Testing  
Chapter 4 - Preliminary Transformations  
Chapter 5 - Enhancing Fine-Grained Parallelism  
Chapter 6 - Creating Coarse-Grained Parallelism  
Chapter 7 - Handling Control Flow  
Chapter 8 - Improving Register Usage  
Chapter 9 - Managing Cache  
Chapter 10 - Scheduling  
Chapter 11 - Interprocedural Analysis and Optimization  
Chapter 12 - Dependence in C and Hardware Design  
Chapter 13 - Compiling Array Assignments  
Chapter 14 - Compiling High Performance Fortran  
Appendix - Fundamentals of Fortran 90  
References 
Index 

商品描述(中文翻譯)

現代計算機架構設計搭配高效能微處理器,提供了相較於以往設計的巨大性能提升潛力。然而,這些架構的複雜性使得產生高效能代碼變得越來越困難,並且無法充分發揮其潛力。本書由該領域的兩位領導者撰寫,專注於編譯器在解決這一關鍵問題中所扮演的關鍵角色。

本書所提出的所有方法的基礎是數據依賴性,這是一種基本的編譯器分析工具,用於在高效能微處理器和並行架構上優化程序。它使編譯器設計者能夠編寫編譯器,自動將簡單的順序程序轉換為可以利用這些現代架構特殊功能的形式。

本書提供了數據依賴性的廣泛介紹,涵蓋了它所支持的多種轉換策略,以及其在重要優化問題上的應用,例如並行化、編譯器記憶體層次管理和指令排程。作者展示了基於依賴的編譯器優化的重要性和廣泛適用性,並為編譯器開發者提供了理解和實現這些優化所需的基本知識。他們還為計算科學家和工程師提供了手動轉換應用程序的實用說明,幫助他們獲得其複雜應用程序的最佳性能。

所提出的方法基於過去二十年進行的研究,強調了在萊斯大學的研究原型和幾個相關商業系統中實施的策略。Randy Allen 和 Ken Kennedy 為從事現代計算機架構編譯器設計和優化的研究人員、實務專業人士和研究生提供了一個不可或缺的資源。

目錄

前言
第1章 - 高效能架構的編譯器挑戰
第2章 - 依賴性:理論與實踐
第3章 - 依賴性測試
第4章 - 初步轉換
第5章 - 增強細粒度並行性
第6章 - 創建粗粒度並行性
第7章 - 控制流處理
第8章 - 改善寄存器使用
第9章 - 快取管理
第10章 - 排程
第11章 - 程序間分析與優化
第12章 - C語言中的依賴性與硬體設計
第13章 - 編譯陣列賦值
第14章 - 編譯高效能 Fortran
附錄 - Fortran 90 基礎
參考文獻
索引