5. Loop Parallelization Algorithms
Alain Darte6
, Yves Robert6
and Frédéric Vivien6 
| (6) |
LIP, Ecole Normale Supérieure de Lyon, F - 69364 Lyon Cedex 07, France |
Summary
This chapter is devoted to a comparative survey of loop parallelization algorithms. Various algorithms have been presented
in the literature, such as those introduced by Allen and Kennedy, Wolf and Lam, Darte and Vivien, and Feautrier. These algorithms
make use of different mathematical tools. Also, they do not rely on the same representation of data dependences. In this chapter,
we survey each of these algorithms, and we assess their power and limitations, both through examples and by stating “optimality”
results. An important contribution of this chapter is to characterize which algorithm is the most suitable for a given representation
of dependences. This result is of practical interest, as it provides guidance for a compiler-parallelizer: given the dependence
analysis that is available, the simplest and cheapest parallelization algorithm that remains optimal should be selected.
References secured to subscribers.