## Finding Legal Reordering Transformations using Mappings (0)

Venue: | In Seventh International Workshop on Languages and Compilers for Parallel Computing |

Citations: | 29 - 3 self |

### BibTeX

@INPROCEEDINGS{Kelly_findinglegal,

author = {Wayne Kelly and William Pugh},

title = {Finding Legal Reordering Transformations using Mappings},

booktitle = {In Seventh International Workshop on Languages and Compilers for Parallel Computing},

year = {},

pages = {107--124},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

Traditionally, optimizing compilers attempt to improve the performance of programs by applying source to source transformations, such as loop interchange, loop skewing and loop distribution. Each of these transformations has its own special legality checks and transformation rules which make it hard to analyze or predict the effects of compositions of these transformations. To overcome these problems we have developed a framework for unifying iteration reordering transformations. The framework is based on the idea that all reordering 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. 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 smal...

### Citations

1467 | Theory of Linear and Integer Programming - Schrijver - 1986 |

709 | A data locality optimizing algorithm - Wolf, Lam - 1991 |

558 |
Principles of Artificial Intelligence
- Nilsson
- 1980
(Show Context)
Citation Context ... ffl An interactive tool where a human user can select some or all of the branches to follow at each fork. ffl Defining a function from the nodes to the integers which satisfies the monotone property =-=[Nil80]-=-. This would allow us to use admissible search algorithms such as the A algorithm [Nil80]. In a previous paper [KP93a], we described an approach along these lines. Depending on the search algorithm us... |

450 | The Omega Test: a Fast and Practical Integer Programming Algorithm for Dependence Analysis - Pugh - 1992 |

441 |
Optimizing Supercompilers for Supercomputers
- Wolfe
- 1989
(Show Context)
Citation Context ...ionally, optimizing compilers attempt to parallelize programs and improve their performance, by applying source to source transformations, such as loop interchange, loop skewing and loop distribution =-=[Wol89a]-=-. Each of these transformations has its own special legality checks and transformation rules. This makes it difficult to find sequences of transformations that obtain some desired goal. To overcome th... |

293 | Automatic translation of FORTRAN programs to vector form
- Allen, Kennedy
- 1984
(Show Context)
Citation Context ...p interchange ffl loop reversal ffl loop skewing ffl statement reordering ffl loop distribution ffl loop fusion ffl loop alignment [ACK87] ffl loop interleaving [ST92] ffl loop blocking 1 (or tiling) =-=[AK87]-=- ffl index set splitting 1 [Ban79] ffl loop coalescing 1 [Pol88] ffl loop scaling 1 [LP92] 2.5 Examples Figure 3 gives some interesting examples of mappings. In this paper we don't give details of how... |

262 |
Conversion of control dependence to data dependence
- Allen, Kennedy, et al.
- 1983
(Show Context)
Citation Context ...ch that ((gist p given q)sq) = (psq)), otherwise it is False. 3.2 Control dependence If conditionals exist in a program, then we require that they be converted to guarded statements via if-conversion =-=[AKPW83]-=-. Alternatively, structured if statements can be handled by treating them as atomic statements. We also require that all loop bounds be affine functions of surrounding loop variables and symbolic cons... |

216 | Some efficient solutions to the affine scheduling problem: I. onedimensional time - Feautrier - 1992 |

185 | More iteration space tiling - Wolfe - 1989 |

168 | Unimodular transformations of double loops - Banerjee - 1990 |

124 | A singular loop transformation framework based on non-singular matrices
- Li, Pingali
- 1994
(Show Context)
Citation Context ...ution ffl loop fusion ffl loop alignment [ACK87] ffl loop interleaving [ST92] ffl loop blocking 1 (or tiling) [AK87] ffl index set splitting 1 [Ban79] ffl loop coalescing 1 [Pol88] ffl loop scaling 1 =-=[LP92]-=- 2.5 Examples Figure 3 gives some interesting examples of mappings. In this paper we don't give details of how to select these particular mappings. 3 Tuple Relations and Sets Most of the previous work... |

112 |
Parallel Programming and Compilers
- Polychronopoulos
- 1988
(Show Context)
Citation Context ...reordering ffl loop distribution ffl loop fusion ffl loop alignment [ACK87] ffl loop interleaving [ST92] ffl loop blocking 1 (or tiling) [AK87] ffl index set splitting 1 [Ban79] ffl loop coalescing 1 =-=[Pol88]-=- ffl loop scaling 1 [LP92] 2.5 Examples Figure 3 gives some interesting examples of mappings. In this paper we don't give details of how to select these particular mappings. 3 Tuple Relations and Sets... |

81 | An exact method for analysis of value-based array data dependences - Pugh, Wonnacott - 1993 |

72 | A framework for unifying reordering transformations
- Kelly, Pugh
- 1993
(Show Context)
Citation Context ... which loops could be made parallel. The algorithm we use to generate the transformed code is relatively complicated and is not described in this paper. A description of the algorithm can be found in =-=[KP93b]-=-. 2.4 Representing traditional transformations In [KP93b] we demonstrated how mappings can be used to represent all transformations than can be obtained by applying any sequence of the following tradi... |

70 |
Automatic decomposition of scientific programs for parallel execution
- Allen, Callahan, et al.
- 1987
(Show Context)
Citation Context ...ng any sequence of the following traditional transformations: ffl loop interchange ffl loop reversal ffl loop skewing ffl statement reordering ffl loop distribution ffl loop fusion ffl loop alignment =-=[ACK87]-=- ffl loop interleaving [ST92] ffl loop blocking 1 (or tiling) [AK87] ffl index set splitting 1 [Ban79] ffl loop coalescing 1 [Pol88] ffl loop scaling 1 [LP92] 2.5 Examples Figure 3 gives some interest... |

45 | Non-Unimodular Transformations of Nested Loops - Ramanujam - 1992 |

45 | A general framework for iteration-reordering loop transformations
- Sarkar, Thekkath
- 1992
(Show Context)
Citation Context ...ng traditional transformations: ffl loop interchange ffl loop reversal ffl loop skewing ffl statement reordering ffl loop distribution ffl loop fusion ffl loop alignment [ACK87] ffl loop interleaving =-=[ST92]-=- ffl loop blocking 1 (or tiling) [AK87] ffl index set splitting 1 [Ban79] ffl loop coalescing 1 [Pol88] ffl loop scaling 1 [LP92] 2.5 Examples Figure 3 gives some interesting examples of mappings. In ... |

40 |
Uniform techniques for loop optimization
- Pugh
(Show Context)
Citation Context ...onding to each of the input positions and output positions. Relationships between these variables and those corresponding to symbolic constants are represented as a disjunction of convex regions. See =-=[Pug91]-=- for a more thorough description. The gist operation We make use of the gist operation, originally developed in [PW92]. Intuitively, (gist p given q) is defined as the new information contained in p, ... |

39 |
Speedup of Ordinary Programs
- Banerjee
- 1988
(Show Context)
Citation Context ...fl loop skewing ffl statement reordering ffl loop distribution ffl loop fusion ffl loop alignment [ACK87] ffl loop interleaving [ST92] ffl loop blocking 1 (or tiling) [AK87] ffl index set splitting 1 =-=[Ban79]-=- ffl loop coalescing 1 [Pol88] ffl loop scaling 1 [LP92] 2.5 Examples Figure 3 gives some interesting examples of mappings. In this paper we don't give details of how to select these particular mappin... |

26 | Going beyond integer programming with the Omega test to eliminate false data dependences
- Pugh, Wonnacott
- 1995
(Show Context)
Citation Context ...ng to symbolic constants are represented as a disjunction of convex regions. See [Pug91] for a more thorough description. The gist operation We make use of the gist operation, originally developed in =-=[PW92]-=-. Intuitively, (gist p given q) is defined as the new information contained in p, given that we already know q. More formally, if psq is satisfiable then (gist p given q) is a conjunction containing a... |

20 | A unified framework for systematic loop transformations - Lu - 1991 |

19 | Determining schedules based on performance estimation
- Kelly, Pugh
- 1994
(Show Context)
Citation Context ...g a function from the nodes to the integers which satisfies the monotone property [Nil80]. This would allow us to use admissible search algorithms such as the A algorithm [Nil80]. In a previous paper =-=[KP93a]-=-, we described an approach along these lines. Depending on the search algorithm used, parts of the search tree may actually be constructed, or may only exist implicitly. We will not discuss search alg... |

15 | Deriving good transformations for mapping nested loops on hierarchical parallel machines - Kumar, Kulkarni, et al. - 1992 |

11 | Scheduling uniform loop nests - Darte, Robert - 1992 |

8 | A language-orientied approach to the design of systolic chips - Leverge, Mauras, et al. - 1991 |