Loop Parallelization

Front Cover
Springer Science & Business Media, Apr 30, 1994 - Computers - 174 pages
Automatic 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
52 Vertical Partitions
148
53 Horizontal Partitions
156
54 Vertical and Horizontal Parallelism
164
Bibliography
167
Index
173
Copyright

Other editions - View all

Common terms and phrases

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.

Bibliographic information