Title :
Partitioning and labeling of loops by unimodular transformations
Author :
D´Hollander, Erik H.
Author_Institution :
Dept. of Electr. Eng., State Univ. of Ghent, Belgium
fDate :
7/1/1992 12:00:00 AM
Abstract :
A general method for the identification of the independent subsets in loops with constant dependence vectors is presented. It is shown that the dependence relation remains invariant under a unimodular transformation. Then a unimodular transformation is used to bring the dependence matrix into a form where the independent subsets are obtained by a direct and inexpensive partitioning algorithm. This leads to a procedure for the automatic conversion of a serial loop into a nest of parallel DO-ALL loops. Another unimodular transformation results in an algorithm to label the dependent iterations of an n-fold nested loop in O(n2) time. This provides a multithreaded dynamic scheduling scheme requiring only one fork and one join primitive
Keywords :
computational complexity; parallel algorithms; parallel programming; program compilers; programming theory; scheduling; constant dependence vectors; dependence matrix; dependent iterations; independent subsets; invariant dependence relation; join primitive; labelling algorithm; loop labelling; loop partitioning; multithreaded dynamic scheduling; n-fold nested loop; parallel DO-ALL loops; partitioning algorithm; serial loop; unimodular transformation; unimodular transformations; Data mining; Dynamic scheduling; Inspection; Labeling; Parallel processing; Partitioning algorithms; Polynomials; Programming profession; Quantization; Scheduling algorithm;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on