## Code Generation in the Polytope Model (1998)

Venue: | In IEEE PACT |

Citations: | 17 - 1 self |

### BibTeX

@INPROCEEDINGS{Griebl98codegeneration,

author = {Martin Griebl and Christian Lengauer and Sabine Wetzel},

title = {Code Generation in the Polytope Model},

booktitle = {In IEEE PACT},

year = {1998},

pages = {106--111},

publisher = {IEEE Computer Society Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

Automatic parallelization of nested loops, based on a mathematical model, the polytope model, has been improved significantly over the last decade: state-of-theart methods allow flexible distributions of computations in space and time, which lead to high-quality parallelism. However, these methods have not found their way into practical parallelizing compilers due to the lack of code generation schemes which are able to deal with the new-found flexibility. To close this gap is the purpose of this paper. 1. Introduction In recent years, methods for automatic parallelization of nested loops based on a mathematical model, the polytope model [9, 12], have been improved significantly. The focus has been on identifying good schedules, i.e., distributions of computations in time, e.g., [6, 8], and allocations, i.e., distributions of computations in space, e.g., [5, 14]. Thus, the space-time mapping, i.e., the combination of schedule and allocation, derived by state-of-the-art techniques oft...

### Citations

379 |
A loop transformation theory and an algorithm to maximize parallelism
- Wolf, Lam
- 1991
(Show Context)
Citation Context ...asily readable and efficient code It has been shown that many individual techniques for automatic parallelization, e.g., loop distribution, loop peeling, etc. can be expressed as a space-time mapping =-=[15, 18]-=-. However, the reverse problem has not been addressed so far: to check whether a given space-time mapping corresponds to loop distribution, loop peeling, etc. This knowledge would lead us directly to ... |

219 | Some efficient solutions to the affine scheduling problem, II, multidimensional time
- Feautrier
- 1992
(Show Context)
Citation Context ...loops based on a mathematical model, the polytope model [9, 12], have been improved significantly. The focus has been on identifying good schedules, i.e., distributions of computations in time, e.g., =-=[6, 8]-=-, and allocations, i.e., distributions of computations in space, e.g., [5, 14]. Thus, the space-time mapping, i.e., the combination of schedule and allocation, derived by state-of-the-art techniques o... |

196 | Scanning polyhedra with DO loops
- Ancourt, Irigoin
- 1991
(Show Context)
Citation Context ...ind in flexibility compared to modern schedulers and allocators. Therefore, many space-time mapped source loop nests cannot be expressed as a target loop nest with standard code generation techniques =-=[1, 3, 11]-=-. The goal of this paper is to present a code generation scheme which fills this gap between space-time mappings and code generation. The most important recent extensions to the polytope model which c... |

130 | Maximizing parallelism and minimizing synchronization with affine transforms
- Lim, Lam
- 1997
(Show Context)
Citation Context ...proved significantly. The focus has been on identifying good schedules, i.e., distributions of computations in time, e.g., [6, 8], and allocations, i.e., distributions of computations in space, e.g., =-=[5, 14]-=-. Thus, the space-time mapping, i.e., the combination of schedule and allocation, derived by state-of-the-art techniques often describes a very efficient parallel execution of the source loop nest. In... |

124 | A singular loop transformation framework based on non-singular matrices
- Li, Pingali
- 1994
(Show Context)
Citation Context ...of inequalities, which is necessary since the bounds of outer loops must not depend on the indices of inner loops. So far, this method has been extended to deal with nonunimodular invertible matrices =-=[13, 19]-=-. In this case, the inequality system (A T \Gamma1 ) ysb enumerates the convex hull, i.e., a proper superset of the images of the source index space under T . It is possible to pick the correct index ... |

120 |
Theory of Linear and
- Schrijver
- 1986
(Show Context)
Citation Context ...oop indices x is given by the source polytope Axsb, then the target polytope w.r.t. target indicessy = T x is given by (A T \Gamma1 ) ysb [12]. After this change of basis, Fourier-Motzkin elimination =-=[2, 16]-=- can be used to generate the loop bounds; this technique eliminates variables from a system of inequalities, which is necessary since the bounds of outer loops must not depend on the indices of inner ... |

113 |
Loop Transformations for Restructuring Compilers: The Foundations
- Banerjee
- 1992
(Show Context)
Citation Context ...oop indices x is given by the source polytope Axsb, then the target polytope w.r.t. target indicessy = T x is given by (A T \Gamma1 ) ysb [12]. After this change of basis, Fourier-Motzkin elimination =-=[2, 16]-=- can be used to generate the loop bounds; this technique eliminates variables from a system of inequalities, which is necessary since the bounds of outer loops must not depend on the indices of inner ... |

96 | Loop parallelization in the polytope model
- Lengauer
- 1993
(Show Context)
Citation Context ...d flexibility. To close this gap is the purpose of this paper. 1. Introduction In recent years, methods for automatic parallelization of nested loops based on a mathematical model, the polytope model =-=[9, 12]-=-, have been improved significantly. The focus has been on identifying good schedules, i.e., distributions of computations in time, e.g., [6, 8], and allocations, i.e., distributions of computations in... |

75 | Code generation for multiple mappings
- Kelly, Pugh, et al.
- 1995
(Show Context)
Citation Context ...ind in flexibility compared to modern schedulers and allocators. Therefore, many space-time mapped source loop nests cannot be expressed as a target loop nest with standard code generation techniques =-=[1, 3, 11]-=-. The goal of this paper is to present a code generation scheme which fills this gap between space-time mappings and code generation. The most important recent extensions to the polytope model which c... |

48 | Automatic Parallelization in the Polytope Model
- Feautrier
(Show Context)
Citation Context ...d flexibility. To close this gap is the purpose of this paper. 1. Introduction In recent years, methods for automatic parallelization of nested loops based on a mathematical model, the polytope model =-=[9, 12]-=-, have been improved significantly. The focus has been on identifying good schedules, i.e., distributions of computations in time, e.g., [6, 8], and allocations, i.e., distributions of computations in... |

40 |
Uniform techniques for loop optimization
- Pugh
(Show Context)
Citation Context ...asily readable and efficient code It has been shown that many individual techniques for automatic parallelization, e.g., loop distribution, loop peeling, etc. can be expressed as a space-time mapping =-=[15, 18]-=-. However, the reverse problem has not been addressed so far: to check whether a given space-time mapping corresponds to loop distribution, loop peeling, etc. This knowledge would lead us directly to ... |

36 | Y.: Mapping uniform loop nests onto distributed memory architectures
- Darte, Robert
- 1994
(Show Context)
Citation Context ...proved significantly. The focus has been on identifying good schedules, i.e., distributions of computations in time, e.g., [6, 8], and allocations, i.e., distributions of computations in space, e.g., =-=[5, 14]-=-. Thus, the space-time mapping, i.e., the combination of schedule and allocation, derived by state-of-the-art techniques often describes a very efficient parallel execution of the source loop nest. In... |

28 | Optimal fine and medium grain parallelism detection in polyhedral reduced dependence graphs
- Darte, Vivien
- 1997
(Show Context)
Citation Context ...loops based on a mathematical model, the polytope model [9, 12], have been improved significantly. The focus has been on identifying good schedules, i.e., distributions of computations in time, e.g., =-=[6, 8]-=-, and allocations, i.e., distributions of computations in space, e.g., [5, 14]. Thus, the space-time mapping, i.e., the combination of schedule and allocation, derived by state-of-the-art techniques o... |

20 | Code generation in automatic parallelizers
- Collard
- 1994
(Show Context)
Citation Context ...odular transformations, but they must be non-singular; our methods, to be presented here, could be easily integrated as a preprocessing phase into the code generation algorithm of [11]. The method of =-=[4]-=- can deal with by-statement mappings but none of the other extensions. Our paper summarizes the main results of the diploma thesis by Sabine Wetzel [17]. For more examples and a more technical descrip... |

10 | Transformations of nested loops with non-convex iteration spaces
- Xue
- 1996
(Show Context)
Citation Context ...nd their according target program parts w.r.t. invertible space-time matrices. The complete target program must enumerate the union of these polytopes: the quasi-convex polytope P = P 1 [ : : : [ P k =-=[20]-=-. The goal of this section is to derive this target program P 0 . We present two different methods to this effect: ffl The most general possibility is the run-time solution described in Section 4.1. f... |

7 | Automating non-unimodular transformations of loop nests
- Xue
- 1994
(Show Context)
Citation Context ...of inequalities, which is necessary since the bounds of outer loops must not depend on the indices of inner loops. So far, this method has been extended to deal with nonunimodular invertible matrices =-=[13, 19]-=-. In this case, the inequality system (A T \Gamma1 ) ysb enumerates the convex hull, i.e., a proper superset of the images of the source index space under T . It is possible to pick the correct index ... |

4 |
Scanning polyhedra with DO loop sequences
- Chamski
- 1992
(Show Context)
Citation Context ...ind in flexibility compared to modern schedulers and allocators. Therefore, many space-time mapped source loop nests cannot be expressed as a target loop nest with standard code generation techniques =-=[1, 3, 11]-=-. The goal of this paper is to present a code generation scheme which fills this gap between space-time mappings and code generation. The most important recent extensions to the polytope model which c... |

3 | The loop parallelizer LooPo --- announcement
- Griebl, Lengauer
- 1997
(Show Context)
Citation Context ... construct the convex hull or any convex superset of the quasi-convex polytope P and decide at run time whether a point of the set is member of the polytope or not. For simplicity, our implementation =-=[10]-=- does not even compute the convex hull of P but its rectangular hull. In this simple situation, the lower (upper) bound of a loop at level r in P 0 is given by the minimum (maximum) of all lower (uppe... |

3 |
Automatic code generation in the polyhedron model
- Wetzel
- 1995
(Show Context)
Citation Context ...code generation algorithm of [11]. The method of [4] can deal with by-statement mappings but none of the other extensions. Our paper summarizes the main results of the diploma thesis by Sabine Wetzel =-=[17]-=-. For more examples and a more technical description we refer to her thesis. The paper is organized as follows. Section 2 introduces some important definitions and describes the notion of a program pa... |