## Loop ParallelizationAutomatic transformation of a sequential program into a parallel form is a subject that presents a great intellectual challenge and promises a great practical award. 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). The demand for higher speedups increases. The job of a restructuring compiler is to discover the dependence structure and the characteristics of the given machine. Much attention 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. The book series on KappaLoop Transformations for Restructuring Compilerskappa provides a rigorous theory of loop transformations and dependence analysis. We want to develop the transformations in a consistent mathematical framework using objects like directed graphs, matrices, and linear equations. Then, the algorithms that implement the transformations can be precisely described in terms of certain abstract mathematical algorithms. The first volume, Loop Transformations for Restructuring Compilers: The Foundations, provided the general mathematical background needed for loop transformations (including those basic mathematical algorithms), discussed data dependence, and introduced the major transformations. The current volume, Loop Parallelization, builds a detailed theory of iteration-level loop transformations based on the material developed in the previous book. |

### What people are saying - Write a review

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

### Contents

Background | 1 |

12 Program Model | 2 |

13 Dependence | 9 |

14 Loop Transformation | 19 |

15 Loop Parallelization | 26 |

Loop Permutations | 29 |

22 Basic Concepts | 34 |

23 Preventing Permutations | 40 |

34 Inner Loop Parallelization | 86 |

35 Outer Loop Parallelization | 97 |

36 Computation of Loop Limits | 106 |

Remainder Transformations | 113 |

42 SingleLoop Transformation | 114 |

43 GCD Transformation | 124 |

44 Echelon Transformation | 134 |

Program Partitioning | 147 |

24 Parallelization by Permutation | 51 |

25 Computation of Loop Limits | 55 |

26 Optimization Problems | 62 |

Unimodular Transformations | 67 |

32 Basic Concepts | 73 |

33 Elementary Transformations | 78 |

### Other editions - View all

### Common terms and phrases

Algorithm Algorithm 3.1 antichains carries no dependence circulation of loops compute Corollary corresponding doall loop denote dependence at level dependence distance dependence graph direction matrix direction vector forms distance matrix distance vector double loop echelon transformation enddo enddo enddo enddoall Example 3.1 execute in parallel execution order gcd partition gcd transformation given by Exercise given loop nest horizontal partition hyperplanes identity matrix index points index space index variables index vector innermost loop integer itera iteration H(i left circulation leftmost loop interchange loop L loop limits Loop Parallelization loop reversal loop skewing loop transformation loops Lp LU can execute m x m unimodular matrix m-vector mapping mixed loop nest nest of K-loops nonzero rows number of iterations outer loop outermost loop permutation matrix real linear partition right circulation Section transformed program triple loop valid loop permutation valid wavefront direction vertical partition weakly connected components zero columns

### Popular passages

Page 168 - Nicolau et al. [NGGP91], pages 192-219. [BCKT79] Utpal Banerjee, Shyh-Ching Chen, David J. Kuck, and Ross A. Towle. Time and parallel processor bounds for Fortranlike loops.

Page 171 - In Proceedings of the 1988 International Conference on Parallel Processing (Vol. II Software), pages 229-238, Aug 188.

Page 168 - U. Banerjee. Loop Transformations for Restructuring Compilers: The Foundations. Kluwer Academic Publishers, Norwell, MA, 1993.