#### DMCA

## Code generation in the polyhedral model is easier than you think (2004)

Venue: | In IEEE Intl. Conf. on Parallel Architectures and Compilation Techniques (PACT’04 |

Citations: | 165 - 16 self |

### Citations

1890 |
Theory of Linear and Integer Programming
- Schrijver
- 1998
(Show Context)
Citation Context ...on will be used in a broad sense to denote a convex set of points in a lattice (also called Zpolyhedron or lattice-polyhedron), i.e. a set of points in a Z vector space bounded by affine inequalities =-=[23]-=-: D = { ⃗x | ⃗x ∈ Z n , A⃗x ≥ ⃗c } , where ⃗x is the iteration vector, A is a constant matrix and ⃗c is a constant vector, possibly parametric. Figure S1 j S3 j 0 S2 S4 0 1 2 Figure 2. AST of the prog... |

719 | Automatic discovery of linear restraints among the variables of a program - Cousot, Halbwachs - 1978 |

265 | Some efficient solutions to the affine scheduling problem. part II. multidimensional time
- Feautrier
- 1992
(Show Context)
Citation Context ...ution order by using a reordering function (a schedule, or a placement, or a chunking function). Finding suitable execution orders has been the subject of most of the research on the polyhedral model =-=[4, 5, 9, 12, 13, 20, 22, 24, 27]-=-. Lastly the code generation step returns back to an abstract syntax tree or to a new source code implementing the execution order implied by the reordering function. Up to now, the polyhedral model f... |

214 | Scanning polyhedra with DOloops
- Ancourt, Irigoin
- 1991
(Show Context)
Citation Context ...e to handle them in this framework. 3.1. Affine Transformations Previous work on code generation in the polyhedral model required severe limitations on the scattering functions, e.g. to be unimodular =-=[1, 17]-=- (the T matrix has to be square and has determinant ±1) or at least to be invertible [20, 27, 22, 5]. The underlying reason was, considering an original polyhedron defined by A⃗x ≥ ⃗c and the scatteri... |

205 | Parametric integer programming
- Feautrier
- 1988
(Show Context)
Citation Context ...ven regularity. Alternatively to the Fourier-Motzkin elimination method, Collard et al. [7] presented a loop bound calculation technique based on a parameterized version of the dual simplex algorithm =-=[10]-=-. Another method makes successive projections of the polyhedron on the axis as in [1] but use the Chernikova algorithm [18] to work with a polyhedron represented as a set of rays and vertices [19]. Th... |

129 | A singular loop transformation framework based on non-singular matrices
- Li, Pingali
- 1994
(Show Context)
Citation Context ...ution order by using a reordering function (a schedule, or a placement, or a chunking function). Finding suitable execution orders has been the subject of most of the research on the polyhedral model =-=[4, 5, 9, 12, 13, 20, 22, 24, 27]-=-. Lastly the code generation step returns back to an abstract syntax tree or to a new source code implementing the execution order implied by the reordering function. Up to now, the polyhedral model f... |

122 |
The Structure of Computers and Computation
- Kuck
- 1978
(Show Context)
Citation Context ...ctor for which the statement has to be executed. When a statement is surrounded with static control, its iteration domain can always be specified by a set of linear inequalities defining a polyhedron =-=[16]-=-. The term polyhedron will be used in a broad sense to denote a convex set of points in a lattice (also called Zpolyhedron or lattice-polyhedron), i.e. a set of points in a Z vector space bounded by a... |

120 | A library for doing polyhedral operations
- Wilde
- 1993
(Show Context)
Citation Context ...ever fail to remove a guard and the processing is easier. Eventually it generates a better code more efficiently. The algorithm rely on polyhedral operations that can be implemented by e.g. PolyLib 1 =-=[26]-=-. The basic mechanism is, starting from the list of polyhedra to scan, to recursively generate each level of the abstract syntax tree of the scanning code (AST). The nodes of the AST are labelled with... |

109 |
Data flow analysis of scalar and array references
- Feautrier
- 1991
(Show Context)
Citation Context ... and Notations The polyhedral model is a representation of both sequential and parallel programs. It corresponds to a subset of imperative languages like C or FORTRAN known as static control programs =-=[11]-=-. This class includes a large range of programs which are discussed in depth by Xue [28]. Their properties can be roughly summarized in this way: (1) control statements are do loops with affine bounds... |

105 | Counting solutions to linear and nonlinear constraints through ehrhart polynomials: Applications to analyze and transform scientific programs
- Clauss
- 1996
(Show Context)
Citation Context ...ode generator, for the benchmark parts it is able to deal with. Ongoing work aims at reasoning upstream from code generation step. Pointing out the most compute intensive parts in the source programs =-=[6]-=- would allow to drive the code generator to avoid meaningless, time and code size consuming control overhead removing. Another way to reduce both complexity and code versioning is to find the affine c... |

88 | Generation of efficient nested loops from polyhedra
- Quilleré, Rajopadhye, et al.
(Show Context)
Citation Context ...e a set of loop nests scanning several unions of polyhedra by separating them into subsets of disjoint polyhedra and generating the corresponding loop nests from the outermost to the innermost levels =-=[21]-=-. This later approach provides at present the best solutions since it guarantees that there is no redundant control. However, it suffers from some limitations, e.g. high complexity or needless code ex... |

78 | Code generation for multiple mappings
- Kelly, Pugh, et al.
- 1995
(Show Context)
Citation Context ...y explode in length. The problem of scanning more than one polyhedron in the same code was firstly solved by generating a naive perfectly nested code and then (partially) eliminating redundant guards =-=[15]-=-. Another way was to generate the code for each polyhedron separately, and then to merge them [14, 5]. This solution generates a lot of redundant control, even if there were no redundancies in the sep... |

56 | A Note on Chernikova’s Algorithm
- Verge
- 1994
(Show Context)
Citation Context ...ion technique based on a parameterized version of the dual simplex algorithm [10]. Another method makes successive projections of the polyhedron on the axis as in [1] but use the Chernikova algorithm =-=[18]-=- to work with a polyhedron represented as a set of rays and vertices [19]. These two techniques have the good property of producing a code without any redundant control (for only one polyhedron), but ... |

42 | Construction of DO loops from systems of affine constraints
- Collard, Feautrier, et al.
- 1995
(Show Context)
Citation Context ...ow to deal with general affine transformation functions without constraints on unimodularity, invertibility or even regularity. Alternatively to the Fourier-Motzkin elimination method, Collard et al. =-=[7]-=- presented a loop bound calculation technique based on a parameterized version of the dual simplex algorithm [10]. Another method makes successive projections of the polyhedron on the axis as in [1] b... |

38 | Mapping uniform loop nests onto distributed memory architectures
- Darte, Robert
- 1994
(Show Context)
Citation Context ...ution order by using a reordering function (a schedule, or a placement, or a chunking function). Finding suitable execution orders has been the subject of most of the research on the polyhedral model =-=[4, 5, 9, 12, 13, 20, 22, 24, 27]-=-. Lastly the code generation step returns back to an abstract syntax tree or to a new source code implementing the execution order implied by the reordering function. Up to now, the polyhedral model f... |

30 | Efficient code generation for automatic parallelization and optimization
- Bastoul
- 2003
(Show Context)
Citation Context ...losion for instance because a large code may pollute the instruction cache. At present, the Quilleré et al. method give the best results when we have to generate a scanning code for several polyhedra =-=[21, 2]-=-. This technique is guaranteed to avoid redundant control while scanning the scattering dimensions. However, it suffers from some limitations, e.g. high complexity and needless code explosion. In the ... |

25 | Loop parallelization algorithms: From parallelism extraction to code generation
- Boulet, Darte, et al.
- 1998
(Show Context)
Citation Context |

24 | Automating non-unimodular loop transformations for massive parallelism
- Xue
- 1994
(Show Context)
Citation Context |

20 | Code generation in the polytope model
- Griebl, Lengauer, et al.
- 1998
(Show Context)
Citation Context ...stem is defined by (AT −1 )⃗y ≥ ⃗c, a change of basis. Griebl et al. proposed the first relaxation of the invertibility constraint, by using a square invertible extension of the transformation matrix =-=[14]-=-. Unfortunately their method led practically to a very high control overhead. In this paper we do not impose any constraint on the transformation functions because we do not try to perform a change of... |

19 | C.: On index set splitting
- Griebl, Feautrier, et al.
- 1999
(Show Context)
Citation Context |

16 | Beyond unimodular transformations
- Ramanujam
- 1995
(Show Context)
Citation Context |

13 | Loop nest synthesis using the polyhedral library
- Verge, Dongen, et al.
- 1994
(Show Context)
Citation Context ...thm [10]. Another method makes successive projections of the polyhedron on the axis as in [1] but use the Chernikova algorithm [18] to work with a polyhedron represented as a set of rays and vertices =-=[19]-=-. These two techniques have the good property of producing a code without any redundant control (for only one polyhedron), but while the second one can generates a very compact code, the first one can... |

10 | Transformations of nested loops with non-convex iteration spaces
- Xue
- 1996
(Show Context)
Citation Context ...programs. It corresponds to a subset of imperative languages like C or FORTRAN known as static control programs [11]. This class includes a large range of programs which are discussed in depth by Xue =-=[28]-=-. Their properties can be roughly summarized in this way: (1) control statements are do loops with affine bounds and if conditionals with affine conditions (in fact control can be more complex, see [2... |

5 |
Putting polyhedral transformations to work
- Bastoul, Cohen, et al.
- 2003
(Show Context)
Citation Context ...ause of its rich mathematical theory and its intuitive geometric interpretation. Moreover it adresses a class of codes with very regular control that includes a large range of real-life program parts =-=[3]-=-. The polyhedral framework is basically a plugin to the conventional compilation process. It starts from the abstract syntax tree by translating the program parts that fit the model into the linear-al... |

5 |
Automatic code generation in the polytope model
- Wetzel
- 1995
(Show Context)
Citation Context ... of processors, of functional units etc.). Wetzel proposed the first solution to solve this problem, but only for one divisor value for the whole scattering function, and leading to a complex control =-=[25]-=-. Again, we propose to add dimensions to solve the problem. For each rational element in (T⃗x)/ ⃗ d, we introduce an auxiliary variable standing for the quotient of the division. For instance let us c... |

3 |
Optimisation des transferts de données pour le traitement du signal : pavage, fusion et réallocation des tableaux. PhD thesis, École des mines de
- Bouchebaba
- 2002
(Show Context)
Citation Context |

2 |
Parcours de polyèdres paramétrés avec l’élimination de Fourier-Motzkin
- Fur
- 1994
(Show Context)
Citation Context ...e to handle them in this framework. 3.1. Affine Transformations Previous work on code generation in the polyhedral model required severe limitations on the scattering functions, e.g. to be unimodular =-=[1, 17]-=- (the T matrix has to be square and has determinant ±1) or at least to be invertible [20, 27, 22, 5]. The underlying reason was, considering an original polyhedron defined by A⃗x ≥ ⃗c and the scatteri... |

1 |
Vers l’extension du modèle polyédrique aux transformations irrégulières
- Slama, Jemni
- 2000
(Show Context)
Citation Context |