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.
* 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.
General
Is the information for this product incomplete, wrong or inappropriate?
Let us know about it.
Does this product have an incorrect or missing image?
Send us a new image.
Is this product missing categories?
Add more categories.
Review This Product
No reviews yet - be the first to create one!