## Implementation of Fourier-Motzkin Elimination (1994)

Citations: | 17 - 1 self |

### BibTeX

@TECHREPORT{Bik94implementationof,

author = {Aart J. C. Bik and Harry A. G. Wijshoff},

title = {Implementation of Fourier-Motzkin Elimination},

institution = {},

year = {1994}

}

### OpenURL

### Abstract

Every transformation of a perfectly nested loop consisting of a combination of loop interchanging, loop skewing and loop reversal can be modeled by a linear transformation represented by a unimodular matrix. This modeling offers more flexibility than the traditional step-wise application of loop transformations because we can directly construct a unimodular matrix for a particular goal. In this paper, we present implementation issues arising when this framework is incorporated in a compiler. 1 Introduction Inherent to the application of program transformations in an optimizing or restructuring compiler is the so-called `phase ordering problem', i.e. the problem of finding an effective order in which particular transformations must be applied. This problem is still an important research topic [WS90]. An important step forwards in solving the phase ordering problem has been accomplished by the observation that any combination of the iteration-level loop transformations loop interchangin...

### Citations

451 | Optimizing Supercompilers for Supercomputers - WOLFE - 1989 |

441 | Supercompilers for Parallel and Vector Computers - Chapman, Zima - 1990 |

392 |
A loop transformation theory and an algorithm to maximize parallelism. Transactions on Parallel and Distributed Systems
- Wolf, Lam
- 1991
(Show Context)
Citation Context ...lication of a unimodular transformation U is valid if and only if U ~ d �� ~ 0 for each nonzero dependence distance ~ d in the original nest, since this implies that the dependences are satisfied.=-= In [WL91]-=-, dependence direction vectors are incorporated in the validity test. 2.4 Code Generation Because ~ I 0 = U ~ I can be rewritten into ~ I = U \Gamma1 ~ I 0 , the new loop-body and loop bounds are obta... |

361 |
Dependence Analysis for Supercomputing
- Banerjee
- 1988
(Show Context)
Citation Context ...j ] holds for j ! k, the minimum value l and maximum value u of the numerator in expression (5) can be determined as follows, where we define a + = max(a; 0) and a \Gamma = max(\Gammaa; 0) as done in =-=[Ban88]-=-: l = b i + k\Gamma1 P j=1 (\Gammaa ij ) + \Delta l min j \Gamma (\Gammaa ij ) \Gamma \Delta u max j u = b i + k\Gamma1 P j=1 (\Gammaa ij ) + \Delta u max j \Gamma (\Gammaa ij ) \Gamma \Delta l min j ... |

308 | Automatic translation of fortran programs to vector form - Allen, Kennedy - 1987 |

307 | Advanced compiler optimizations for supercomputers - Padua, Wolfe - 1986 |

226 | The parallel execution of do loops - Lamport - 1974 |

206 | Scanning polyhedra with do loops
- Ancourt, Irigoin
- 1991
(Show Context)
Citation Context ...thod is based on the observation that a particular inequality is already enforced by other inequalities in a system of inequalities, if the system obtained by negating this inequality is inconsistent =-=[AI89]-=-. For instance, negation of inequalitysis11 in the following system of inequalities yields i ? 11, which can be rewritten into 12si for integer variables: 1sis10 is11 Negation \Gamma! 1sis10 12si Appl... |

172 | Unimodular transformations of double loops - Banerjee - 1991 |

131 |
Fourier-Motzkin elimination and its dual
- Dantzig, Eaves
- 1973
(Show Context)
Citation Context ...neration of these bounds, index I 0 k is eliminated from the system in order to enable the generation of bounds for more outer loop indices. In the original formulation of Fourier-Motzkin elimination =-=[DE73]-=-, index I 0 k is eliminated by replacing each pair of inequalitiessLsc 1 \Delta I 0 k and c 2 \Delta I 0 ksU , where c 1 ? 0 and c 2 ? 0, by the inequality L=c 1sU=c 2 . However, we will replace the p... |

128 | A singular loop transformation framework based on nonsingular matrices - Li, Pingali - 1992 |

119 | Loop Transformations for Restructuring Compilers: The Foundations - Banerjee - 1993 |

50 | Skewing: The Wavefront Method Revisited - Wolfe, Loop - 1986 |

49 |
An Approach to Ordering Optimizing Transformations
- Whitfield, Soffa
- 1990
(Show Context)
Citation Context ...mpiler is the so-called `phase ordering problem', i.e. the problem of finding an effective order in which particular transformations must be applied. This problem is still an important research topic =-=[WS90]-=-. An important step forwards in solving the phase ordering problem has been accomplished by the observation that any combination of the iteration-level loop transformations loop interchanging, loop sk... |

45 |
Convex polytopes, Interscience
- Grunbaum
- 1967
(Show Context)
Citation Context ..., forming a so-called polyhedral set PS ae R d . Furthermore, because only finite execution sets can be used in FORTRAN, the polyhedral set PS is bounded and, hence, forms a so-called convex polytope =-=[Gru67]. Fin-=-ally, because only integer variables are used as loop indices, the iteration space of the loop is defined as IS = Z d " PS, which means that only all discrete points within the convex polytope ar... |

27 | Optimal code parallelization using unimodular transformations - Dowling - 1990 |

25 |
MT1: A prototype restructuring compiler
- Bik, Wijsho
- 1993
(Show Context)
Citation Context ... Table 2: CPU-time in msecs 4 Conclusions In this paper we have discussed an implementation of Fourier-Motzkin elimination. This method has been incorporated in a prototype restructuring compiler MT1 =-=[Bik92]-=- to support unimodular transformations. An ad-hoc simplification method is used in case compilation-time is at a premium. However, the ad-hoc method can also act as a filter for computationally more e... |

21 | ªPartitioning the Statement Per Iteration Space Using Non-Singular - Ayguade, Torres |

9 | Vector optimization vs vectorization - Wolfe - 1988 |

5 | Parallel Programming and Compilers - Polychronoupolos - 1988 |