Code generation for multiple mappings

There has been a great amount of recent work toward unifying iteration reordering transformations. Many of these approaches represent transformations as affine mappings from the original iteration space to a new iteration space. These approaches show a great deal of promise, but they all rely on the ability to generate code that iterates over the points in these new iteration spaces in the appropriate order. This problem has been fairly well-studied in the case where all statements use the same mapping. We have developed an algorithm for the less well-studied case where each statement uses a potentially different mapping. Unlike many other approaches, our algorithm can also generate code from mappings corresponding to loop blocking. We address the important trade-off between reducing control overhead and duplicating code.<<ETX>>

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

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

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

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

[5]  Jordi Torres,et al.  Partitioning the statement per iteration space using non-singular matrices , 1993, ICS '93.

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

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

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

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

[10]  Zbigniew Chamski,et al.  Nested loop sequences: towards efficient loop structures in automatic parallelization , 1994, 1994 Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences.

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

[12]  William Pugh,et al.  Experiences with Constraint-based Array Dependence Analysis , 1994, PPCP.

[13]  William Pugh,et al.  Counting solutions to Presburger formulas: how and why , 1994, PLDI '94.

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

[15]  Zbigniew Chamski,et al.  Fast and Efficient Generation of Loop Bounds , 1993, PARCO.