Issue No. 04 - July (1992 vol. 3)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.149964
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 bya 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(n/sup 2/) time. This provides a multithreaded dynamic scheduling scheme requiring only one fork and one join primitive.
Index Termsloop partitioning; loop labelling; invariant dependence relation; labelling algorithm;unimodular transformations; independent subsets; constant dependence vectors;unimodular transformation; dependence matrix; partitioning algorithm; serial loop; parallel DO-ALL loops; dependent iterations; n-fold nested loop; multithreaded dynamicscheduling; join primitive; computational complexity; parallel algorithms; parallelprogramming; program compilers; programming theory; scheduling
E. D'Hollander, "Partitioning and Labeling of Loops by Unimodular Transformations," in IEEE Transactions on Parallel & Distributed Systems, vol. 3, no. , pp. 465-476, 1992.