Loop partitioning for distributed memory multiprocessors as unimodular transformations

In the report, the authors present a unimodular loop transformation called rotation as a simple, systematic and elegant method for partitioning the iteration spaces of nested loops for execution on distributed memory multiprocessors. They define three parameters associated with each rotation which are used to choose the most appropriate rotation. These parameters are the parallelism factor, the load imbalance and the volume of communication. They present formal algebraic expressions for these parameters and discuss their relative significance in choosing a combined metric. They also present some comparisons with related work and discuss possible extensions and generalizations.

[1]  Anupam Basu,et al.  Generalized Unimodular Loop Transformations for Distributed Memory Multiprocessors , 1991, ICPP.

[2]  J. Ramanujam,et al.  A methodology for parallelizing programs for multicomputers and complex memory multiprocessors , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[3]  J. Ramanujam,et al.  Tiling of Iteration Spaces for Multicomputers , 1990, ICPP.

[4]  Michael Wolfe,et al.  More iteration space tiling , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[5]  Chung-Ta King,et al.  Grouping in Nested Loops for Parallel Execution on Multicomputers , 1989, International Conference on Parallel Processing.

[6]  Arogyaswami Paulraj,et al.  Loop partitioning unimodular transformations for distributed memory multiprocessors , 1991, [1991] Proceedings. The Fifth International Parallel Processing Symposium.

[7]  Erik H. D'Hollander,et al.  Partitioning and Labeling of Index Sets in DO Loops with Constant Dependence Vectors , 1989, ICPP.

[8]  Utpal Banerjee,et al.  Dependence analysis for supercomputing , 1988, The Kluwer international series in engineering and computer science.