Advanced Compiling for High Performance Computers
Résumé
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.
Features
- Offers a guide to the simple, practical algorithms and approaches that are most effective in real-world, high-performance microprocessor and parallel systems.
- Demonstrates each transformation in worked examples.
- Examines how two case study compilers implement the theories and practices described in each chapter.
- Presents the most complete treatment of memory hierarchy issues of any compiler text.
- Illustrates ordering relationships with dependence graphs throughout the book.
- Applies the techniques to a variety of languages, including Fortran 77, C, hardware definition languages, Fortran 90, and High Performance Fortran.
- Provides extensive references to the most sophisticated algorithms known in research.
- 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
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Morgan Kaufmann |
Auteur(s) | Randy Allen, Ken Kennedy |
Parution | 15/09/2001 |
Nb. de pages | 790 |
Format | 19 x 24 |
Couverture | Relié |
Poids | 1590g |
Intérieur | Noir et Blanc |
EAN13 | 9781558602861 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse