Buch, Englisch, 816 Seiten, Format (B × H): 196 mm x 245 mm, Gewicht: 1556 g
A Dependence-Based Approach
Buch, Englisch, 816 Seiten, Format (B × H): 196 mm x 245 mm, Gewicht: 1556 g
ISBN: 978-1-55860-286-1
Verlag: Elsevier Science
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.
Zielgruppe
Programmers, designers and developers of conventional and supercomputing. Postgraduate level compiler and parallel processing courses
Autoren/Hrsg.
Fachgebiete
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Compiler
- Wirtschaftswissenschaften Wirtschaftssektoren & Branchen Fertigungsindustrie Luftfahrtindustrie
- Mathematik | Informatik EDV | Informatik Informatik Rechnerarchitektur
- Technische Wissenschaften Verkehrstechnik | Transportgewerbe Luft- und Raumfahrttechnik, Luftverkehr
Weitere Infos & Material
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