## On the optimality of Allen and Kennedy's algorithm for parallelism extraction in nested loops (1996)

### Cached

### Download Links

- [graal.ens-lyon.fr]
- [ftp.ens-lyon.fr]
- [graal.ens-lyon.fr]
- DBLP

### Other Repositories/Bibliography

Citations: | 10 - 6 self |

### BibTeX

@TECHREPORT{Darte96onthe,

author = {Alain Darte and Frédéric Vivien},

title = {On the optimality of Allen and Kennedy's algorithm for parallelism extraction in nested loops},

institution = {},

year = {1996}

}

### Years of Citing Articles

### OpenURL

### Abstract

We explore the link between dependence abstractions and maximal parallelism extraction in nested loops. Our goal is to find, for each dependence abstraction, the minima] transformations needed for maximal parallelism extraction. The result of this paper is that Allen and Kennedy's algorithm is optimal when dependences are approximated by dependence levels. This means that even the most sophisticated algorithm cannot detect more parallelism than found by Allen and Kennedy's algorithm, as long as dependence level is the only information available.

### Citations

472 | The Omega test: A fast and practical integer programming algorithm for dependence analysis
- Pugh
- 1991
(Show Context)
Citation Context ...], ...), and more and more accurate tests for dependence analysis have been designed (among others Banerjee's tests [2], I test [13], A test [9], A test [15], PIP test [7], PIPS test [10], Omega test =-=[17]-=-, ...). * Supported by the CNRS-INRIA project ReMaP.- What 380 In general, dependence abstractions and dependence tests have been introduced with some particular loop transformations in mind. For exa... |

449 |
Optimizing Supercompilers for Supercomputers
- Wolfe
- 1989
(Show Context)
Citation Context ...t they do not change the final result of the program. Different abstractions of dependences have been defined (among others dependence distance [16], dependence level [1], dependence direction vector =-=[19]-=-, dependence polyhedron or cone [1i], ...), and more and more accurate tests for dependence analysis have been designed (among others Banerjee's tests [2], I test [13], A test [9], A test [15], PIP te... |

438 |
Supercompilers for Parallel and vector Computers. ACM Frontier Series
- Zima, Chapman
- 1991
(Show Context)
Citation Context ... vectorizing loops. Then, it has been extended so as to maximize the number of parallel loops and to minimize the number of synchronizations in the transformed code. It has been shown (see details in =-=[3, 22]-=-) that for each statement of the initial code, as many surrounding loops as possible are detected as parallel loops. Therefore, one could think that what we want to prove in this paper has been alread... |

389 |
A Loop Transformation Theory and an Algorithm to Maximize Parallelism
- Wolf, Lam
- 1991
(Show Context)
Citation Context ...ave been used as basic tools for optimizing algorithms, the most two famous being certainly Allen and Kennedy's algorithm [1], designed at Rice in the Fortran D compiler, and Wolf and Lam's algorithm =-=[18]-=-, designed at Stanford in the SUIF compiler. At the same time, dependence analysis has been developed so as to provide sufficient information for checking the legality of these loop transformations, i... |

355 |
Dependence Analysis for Supercomputing
- Banerjee
- 1988
(Show Context)
Citation Context ...dence level [1], dependence direction vector [19], dependence polyhedron or cone [1i], ...), and more and more accurate tests for dependence analysis have been designed (among others Banerjee's tests =-=[2]-=-, I test [13], A test [9], A test [15], PIP test [7], PIPS test [10], Omega test [17], ...). * Supported by the CNRS-INRIA project ReMaP.- What 380 In general, dependence abstractions and dependence ... |

305 | Automatic translation of FORTRAN programs to vector form
- Allen, Kennedy
- 1987
(Show Context)
Citation Context ...sm, maximizing locality and/or minimizing synchronizations. These techniques have been used as basic tools for optimizing algorithms, the most two famous being certainly Allen and Kennedy's algorithm =-=[1]-=-, designed at Rice in the Fortran D compiler, and Wolf and Lam's algorithm [18], designed at Stanford in the SUIF compiler. At the same time, dependence analysis has been developed so as to provide su... |

227 | Some efficient solutions to the affine scheduling problem, part II, multidimensional time
- Feautrier
- 1992
(Show Context)
Citation Context ...he dependence level was designed for Allen and Kennedy's algorithm, whereas the PIP test is the main tool for Feautrier's method for array expansion [7] and parallelism extraction by affine schedules =-=[8]-=-. However, very few authors have studied, in a general manner, the links between both theories, dependence analysis and loop restructurations, and have tried to answer the following two dual questions... |

223 |
The parallel execution of DO loops
- Lamport
- 1974
(Show Context)
Citation Context ...rk defined the foundation of today's loop compilation techniques. It has been widely exploited and extended in the systolic array community, as well as in the compiler-parallelizer community: Lamport =-=[14]-=- proposed a parallel scheme - the hyperplane method - in 1974, then several loop transformations were introduced (loop distribution/fusion, loop skewing, loop reversal, loop interchange, ... ) for vec... |

221 | Dataflow analysis of array and scalar references
- Feautrier
- 1991
(Show Context)
Citation Context ...ependence polyhedron or cone [1i], ...), and more and more accurate tests for dependence analysis have been designed (among others Banerjee's tests [2], I test [13], A test [9], A test [15], PIP test =-=[7]-=-, PIPS test [10], Omega test [17], ...). * Supported by the CNRS-INRIA project ReMaP.- What 380 In general, dependence abstractions and dependence tests have been introduced with some particular loop... |

169 |
The Organization of Computations for Uniform Recurrence Equations
- Karp, Miller, et al.
- 1967
(Show Context)
Citation Context ...is the only information available. 1 Introduction Many automatic loop parallelization techniques have been introduced over the last 30 years, starting from the early work of Karp, Miller and Winograd =-=[12]-=- in 1967 who studied the structure of computations in repetitive codes called systems of uniform recurrence equations. This work defined the foundation of today's loop compilation techniques. It has b... |

140 | Practical dependence testing
- Goff, Kennedy, et al.
- 1991
(Show Context)
Citation Context ...ce direction vector [19], dependence polyhedron or cone [1i], ...), and more and more accurate tests for dependence analysis have been designed (among others Banerjee's tests [2], I test [13], A test =-=[9]-=-, A test [15], PIP test [7], PIPS test [10], Omega test [17], ...). * Supported by the CNRS-INRIA project ReMaP.- What 380 In general, dependence abstractions and dependence tests have been introduce... |

99 | Analysis of programs for parallel processing - Bernstein - 1966 |

92 |
Semantical interprocedural parallelization: An overview of the PIPS project
- Irigoin, Jouvelot, et al.
- 1991
(Show Context)
Citation Context ...edron or cone [1i], ...), and more and more accurate tests for dependence analysis have been designed (among others Banerjee's tests [2], I test [13], A test [9], A test [15], PIP test [7], PIPS test =-=[10]-=-, Omega test [17], ...). * Supported by the CNRS-INRIA project ReMaP.- What 380 In general, dependence abstractions and dependence tests have been introduced with some particular loop transformations... |

80 | Automatic synthesis of systolic arrays from uniform recurrent equations - Quinton - 1984 |

75 | Regular Iterative Algorithms and Their Implementation on - Rao - 1985 |

46 |
A Global Approach to Detection of Parallelism
- Callahan
- 1987
(Show Context)
Citation Context ... vectorizing loops. Then, it has been extended so as to maximize the number of parallel loops and to minimize the number of synchronizations in the transformed code. It has been shown (see details in =-=[3, 22]-=-) that for each statement of the initial code, as many surrounding loops as possible are detected as parallel loops. Therefore, one could think that what we want to prove in this paper has been alread... |

22 |
Parallelism exposure and exploitation in programs
- Muraoka
- 1971
(Show Context)
Citation Context ...legality of these loop transformations, in the sense that they do not change the final result of the program. Different abstractions of dependences have been defined (among others dependence distance =-=[16]-=-, dependence level [1], dependence direction vector [19], dependence polyhedron or cone [1i], ...), and more and more accurate tests for dependence analysis have been designed (among others Banerjee's... |

20 | Minimal data dependence abstractions for loop transformations
- Yang, Ancourt, et al.
- 1995
(Show Context)
Citation Context ...on algorithm, and avoid implementing an expensive dependence test if it is not needed. This question has been deeply studied in Yang's thesis [21], and summarized in Yang, Ancourt and Irigoin's paper =-=[20]-=-. Conversely, with the answer to the second question, we can adapt the parallelization algorithm to the dependence analysis, and avoid using an expensive parallel~zation algorithm, if a simpler algori... |

14 | Computing dependence direction vectors and dependence cones with linear systems - Irigoin, Triolet - 1987 |

14 |
Data Dependence Analysis on Multi-dimensional Array References
- Li, Yew, et al.
- 1989
(Show Context)
Citation Context ... vector [19], dependence polyhedron or cone [1i], ...), and more and more accurate tests for dependence analysis have been designed (among others Banerjee's tests [2], I test [13], A test [9], A test =-=[15]-=-, PIP test [7], PIPS test [10], Omega test [17], ...). * Supported by the CNRS-INRIA project ReMaP.- What 380 In general, dependence abstractions and dependence tests have been introduced with some p... |

13 |
The i test: A new test for subscript data dependence
- Kong, Klappholz, et al.
- 1990
(Show Context)
Citation Context ...[1], dependence direction vector [19], dependence polyhedron or cone [1i], ...), and more and more accurate tests for dependence analysis have been designed (among others Banerjee's tests [2], I test =-=[13]-=-, A test [9], A test [15], PIP test [7], PIPS test [10], Omega test [17], ...). * Supported by the CNRS-INRIA project ReMaP.- What 380 In general, dependence abstractions and dependence tests have be... |

9 | extensions and parallel implementation of regular iterative algorithms - “Derivation - 1989 |

7 | On the analysis and synthesis of VLSI systolic arrays - Moldovan - 1982 |

6 | Revisiting the Decomposition of - Darte, Vivien - 1995 |

6 | New user interface for petit and other interfaces: user guide - Kelly, Maslov, et al. - 1996 |

5 |
A comparison of nested loops parallelization algorithms
- Darte, Vivien
- 1995
(Show Context)
Citation Context ... within this theoretical framework, the optimality of Allen and Kennedy's algorithm with respect to the dependence level abstraction. A similar study for other dependence abstractions can be found in =-=[4]-=- 3 Allen and Kennedy's algorithm Allen and Kennedy's algorithm has first been designed for vectorizing loops. Then, it has been extended so as to maximize the number of parallel loops and to minimize ... |

5 |
Optimal Fine and Medium Grain Parallelism in Polyhedral Reduced Dependence Graphs
- Darte, Vivien
- 1996
(Show Context)
Citation Context ...e dependence analysis, and avoid using an expensive parallel~zation algorithm, if a simpler algorithm extracts the same degree of parallelism. This question ha.s been addressed by Darte and Vivien in =-=[6]-=- for dependence abstractions based on a polyhedral approximation of distance vectors. Completing this previous work, we propose a more precise study of the link between dependence abstractions and pm'... |

4 | Tests des Dependances et Transformations de Programme - Yang - 1993 |

3 | PFC: a program to convert programs to parallel form - Allen, Kennedy |

3 | Extending The I Test to Direction Vectors - Psarris, Kong, et al. - 1991 |

1 | Data dependence analysis: the test revisited - Grunwald - 1990 |

1 |
Tests des ddpendances et transformations de programme
- Yang
- 1993
(Show Context)
Citation Context ... we can adapt the dependence analysis to the parallelization algorithm, and avoid implementing an expensive dependence test if it is not needed. This question has been deeply studied in Yang's thesis =-=[21]-=-, and summarized in Yang, Ancourt and Irigoin's paper [20]. Conversely, with the answer to the second question, we can adapt the parallelization algorithm to the dependence analysis, and avoid using a... |