Finding Legal Reordering Transformations Using Mappings

We present a unified framework for applying iteration reordering transformations. This framework is able to represent traditional transformations such as loop interchange, loop skewing and loop distribution as well as compositions of these transformations. Using a unified framework rather than a sequence of adhoc transformations makes it easier to analyze and predict the effects of these transformations. Our framework is based on the idea that all reordering transformations can be represented as a mapping from the original iteration space to a new iteration space. An optimizing compiler would use our framework by finding a mapping that both corresponds to a legal transformation and produces efficient code. We present the mapping selection problem as a search problem by decomposing it into a sequence of smaller choices. We then characterize the set of all legal mappings by defining a search tree.

[1]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[2]  Anupam Basu,et al.  Deriving good transformations for mapping nested loops on hierarchical parallel machines in polynomial time , 1992, ICS '92.

[3]  W. Kelly,et al.  Code generation for multiple mappings , 1995, Proceedings Frontiers '95. The Fifth Symposium on the Frontiers of Massively Parallel Computation.

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

[5]  P. Feautrier Some Eecient Solutions to the Aane Scheduling Problem Part I One-dimensional Time , 1996 .

[6]  Ken Kennedy,et al.  Automatic decomposition of scientific programs for parallel execution , 1987, POPL '87.

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

[8]  William Pugh Uniform techniques for loop optimization , 1991, ICS '91.

[9]  Corinne Ancourt,et al.  Scanning polyhedra with DO loops , 1991, PPOPP '91.

[10]  TimePaul FeautrierLaboratoire Masi Some Eecient Solutions to the Aane Scheduling Problem Part I One-dimensional Time , 1993 .

[11]  FeautrierLaboratoire Masi Some Eecient Solutions to the Aane Scheduling Problem Part Ii Multidimensional Time , 1992 .

[12]  Constantine D. Polychronopoulos,et al.  Parallel programming and compilers , 1988 .

[13]  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).

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

[15]  Yves Robert,et al.  Constructive Methods for Scheduling Uniform Loop Nests , 1994, IEEE Trans. Parallel Distributed Syst..

[16]  Geoffrey C. Fox,et al.  The Perfect Club Benchmarks: Effective Performance Evaluation of Supercomputers , 1989, Int. J. High Perform. Comput. Appl..

[17]  W. Pugh,et al.  A framework for unifying reordering transformations , 1993 .

[18]  Patrice Quinton,et al.  A Language-oriented Approach to the Design of Systolic Chips , 1991 .

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

[20]  Ken Kennedy,et al.  Conversion of control dependence to data dependence , 1983, POPL '83.

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

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

[23]  Patrice Quinton,et al.  The ALPHA language and its use for the design of systolic arrays , 1991, J. VLSI Signal Process..

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

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

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

[27]  William Pugh,et al.  A practical algorithm for exact array dependence analysis , 1992, CACM.

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