A unifying framework for iteration reordering transformations

We present a framework for unifying iteration reordering transformations such as loop interchange, loop distribution, skewing, tiling, index set splitting and statement reordering. The framework is based on the idea that a transformation can be represented as a mapping from the original iteration space to a new iteration space. The framework is designed to provide a uniform way to represent and reason about transformations. We also provide algorithms to test the legality of mappings, and to generate optimized code for mappings.<<ETX>>

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

[2]  Utpal Banerjee,et al.  Speedup of ordinary programs , 1979 .

[3]  Ken Kennedy,et al.  Automatic translation of FORTRAN programs to vector form , 1987, TOPL.

[4]  William Pugh,et al.  Determining schedules based on performance estimation , 1993 .

[5]  William Pugh,et al.  Finding Legal Reordering Transformations Using Mappings , 1994, LCPC.

[6]  William Pugh,et al.  The Omega test: A fast and practical integer programming algorithm for dependence analysis , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[7]  Lee-Chung Lu,et al.  A unified framework for systematic loop transformations , 1991, PPOPP '91.

[8]  Michael Wolfe,et al.  The Tiny Loop Restructuring Research Tool , 1991, ICPP.

[9]  Keshav Pingali,et al.  A Singular Loop Transformation Framework Based on Non-Singular Matrices , 1992, LCPC.

[10]  William Pugh,et al.  Selecting Affine Mappings Based on Performance Estimation , 1994, Parallel Process. Lett..

[11]  K. Kennedy,et al.  Compiler Blockability of Numerical Algorithms Compiler Blockability of Numerical Algorithms , 1992 .

[12]  J. Ramanujam,et al.  Non-unimodular transformations of nested loops , 1992, Proceedings Supercomputing '92.

[13]  Vivek Sarkar,et al.  A general framework for iteration-reordering loop transformations , 1992, PLDI '92.

[14]  William Pugh,et al.  Uniform techniques for loop optimization , 1991, ICS '91.

[15]  Ken Kennedy,et al.  Compiler blockability of numerical algorithms , 1992, Proceedings Supercomputing '92.

[16]  Monica S. Lam,et al.  A data locality optimizing algorithm , 1991, PLDI '91.

[17]  William Pugh,et al.  Going Beyond Integer Programming with the Omega Test to Eliminate False Data Dependences , 1995, IEEE Trans. Parallel Distributed Syst..

[18]  M. Wolfe,et al.  Massive parallelism through program restructuring , 1990, [1990 Proceedings] The Third Symposium on the Frontiers of Massively Parallel Computation.