## Loop Transformations for Restructuring Compilers: The FoundationsAutomatic transformation of a sequential program into a parallel form is a subject that presents a great intellectual challenge and promises great practical rewards. There is a tremendous investment in existing sequential programs, and scientists and engineers continue to write their application programs in sequential languages (primarily in Fortran),but the demand for increasing speed is constant. The job of a restructuring compiler is to discover the dependence structure of a given program and transform the program in a way that is consistent with both that dependence structure and the characteristics of the given machine. Much attention in this field of research has been focused on the Fortran do loop. This is where one expects to find major chunks of computation that need to be performed repeatedly for different values of the index variable. Many loop transformations have been designed over the years, and several of them can be found in any parallelizing compiler currently in use in industry or at a university research facility. Loop Transformations for Restructuring Compilers: The Foundations provides a rigorous theory of loop transformations. The transformations are developed in a consistent mathematical framework using objects like directed graphs, matrices and linear equations. The algorithms that implement the transformations can then be precisely described in terms of certain abstract mathematical algorithms. The book provides the general mathematical background needed for loop transformations (including those basic mathematical algorithms), discusses data dependence, and introduces the major transformations. The next volume will build a detailed theory of loop transformations based on the material developed here. Loop Transformations for Restructuring Compilers: The Foundations presents a theory of loop transformations that is rigorous and yet reader-friendly. |

### What people are saying - Write a review

We haven't found any reviews in the usual places.

### Other editions - View all

Loop Transformations for Restructuring Compilers: The Foundations Utpal Banerjee Limited preview - 2007 |

Loop Transformations for Restructuring Compilers: The Foundations Utpal Banerjee No preview available - 1993 |

### Common terms and phrases

Algorithm 2.1 antichains cause a dependence coefficients column operations compute defined denote dependence equation dependence graph dependence problem diagonal diagonal matrix digraph G(V direction vector distance vectors doall loop double loop echelon matrix echelon reduction elementary matrices elements enddo enddo equivalence relation Example execute in parallel Exercise FILE flle_ptr flow dependence FOR(j FOR(l fprlntf fprlntf(flle_ptr free((CHAR GCD test given index points index value index variables input variable instance S(i integer matrix integer solution integer vector interchange matrices Interchange rows Lemma loop limits loop nest loop transformations m x n m-vectors memory location minimal element nonempty nonzero Parallel Computing partial order partition permutation matrix poset prlntf("Enter the Number RATIONAL satisfying slzeof(INT solution exists solution-set solve statement instances strongly connected component STRUCTURE IS EMPTY subsets Theorem transformed program unimodular matrix value nu_l weakly connected components X(IA zero