Optimizing Supercompilers for Supercomputers

Optimizing Supercompilers for Supercomputers

by Michael Wolfe
     
 
Effective use of a supercomputer requires users to have a good algorithm and to express this algorithm in an appropriate language, and requires compilers to generate efficient code.

This book investigates several problems facing compiler design for supercomputers, including building efficient and comprehensive data dependence graphs, recurrence relations, the

Overview

Effective use of a supercomputer requires users to have a good algorithm and to express this algorithm in an appropriate language, and requires compilers to generate efficient code.

This book investigates several problems facing compiler design for supercomputers, including building efficient and comprehensive data dependence graphs, recurrence relations, the management of compiler temporary variables, and WHILE loops.

The book first proposes an efficient means of representing the flow of data in a program by labeling the arcs in a data dependence graph with "direction vectors" to show how the flow of data corresponds to the loop structure of the program. These data dependence direction vectors are then used in several high level compiler loop optimizations: loop vectorization, loop concurrentization, loop fusion, and loop interchanging. The book shows how to perform these transformations and how to use them to optimize programs for a wide range of supercomputers.

The problems of recurrence relations studied include arithmetic recurrences with IF statements and recurrences involving both data and control dependence relations in a cycle. The wavefront method of solving recurrences is also treated. The book discusses ways to make the problem of managing temporary arrays more tractable. It concludes by offering several methods for executing WHILE loops and describes a general structure of an optimizing compiler for supercomputers developed from the author's experience with a test bed compiler.

Michael Wolfe is Associate Professor in the Computer Science and Engineering Department at the Oregon Graduate Center Optimizing Supercompilers for Supercomputers is included in the series Research Monographs in Parallel Computing. Copublished with Pitman Publishing.

Product Details

ISBN-13:
9780262730822
Publisher:
MIT Press
Publication date:
02/29/2000
Series:
Research Monographs in Parallel and Distributed Computing Series
Pages:
176
Product dimensions:
(w) x (h) x 1.00(d)

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >