MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

A Framework for Unifying Reordering Transformations (1993) [57 citations — 10 self]

by Wayne Kelly ,  William Pugh
Add To MetaCart

Abstract:

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 schedule that maps the original iteration space to a new iteration space. The framework is designed to provide a uniform way to represent and reason about transformations. As part of the framework, we provide algorithms to assist in the building and use of schedules. In particular, we provide algorithms to test the legality of schedules, to align schedules and to generate optimized code for schedules. This work is supported by an NSF PYI grant CCR-9157384 and by a Packard Fellowship. 1 Introduction Optimizing compilers reorder iterations of statements to improve instruction scheduling, register use, and cache utilization, and to expose parallelism. Many different reordering transformations have been developed and studied, su...

Citations

644 A data locality optimizing algorithm – Wolf, Lam - 1991
610 A set of Level 3 Basic Linear Algebra Subprograms – Dongarra, Croz, et al. - 1990
420 Optimizing Supercompilers for Supercomputers – Wolfe - 1989
351 The Omega Test: a Fast and Practical Integer Programming Algorithm for Dependence Analysis – Pugh - 1991
351 A Loop Transformation Theory and an Algorithm to Maximize Parallelism – Wolf, Lam - 1991
277 Automatic translation of Fortran programs to vector form – Allen, Kennedy - 1987
234 Conversion of control dependence to data dependence – Allen, Kennedy, et al. - 1983
163 Unimodular transformations of double loops – Banerjee - 1990
159 More iteration space tiling – Wolfe - 1989
142 Some efficient solutions to the affine scheduling problem, part II: multidimensional time – Feautrier - 1992
113 Parallel Programming and Compilers – Polychronopoulos - 1988
110 A singular loop transformation framework based on non-singular matrices – Li, Pingali - 1994
88 Compiler blockability of numerical algorithms – Carr, Kennedy - 1992
64 The tiny loop restructuring research tool – Wolfe - 1991
62 Automatic Decomposition of Scientific Programs for Parallel Execution – Allen, Callahan, et al. - 1987
43 Non-unimodular transformations of nested loops – Ramanujam
39 A General Framework for iteration-Reordering Loop Transformations (Technical Summary – Sarkar, Thekkath - 1992
36 Speedup of ordinary programs – Banerjee - 1979
36 Uniform techniques for loop optimization – Pugh - 1991
26 Going beyond integer programming with the Omega test to eliminate false data dependences – Pugh, Wonnacott - 1992
24 The systematic design of systolic arrays – Quinton - 1987
19 A unified framework for systematic loop transformations – Lu - 1991
15 Deriving good transformations for mapping nested loops on hierarchical parallel machines in polynomial time – Kumar, Kulkarni, et al. - 1992
11 Massive Parallelism through Program Restructuring – Wolfe - 1990