1 @inproceedings
{Kelly1996closure
,
2 author = {Wayne Kelly and
6 title = {Transitive Closure of Infinite Graphs and Its Applications
},
8 editor = {Chua
-Huang Huang and
14 booktitle = {Languages and Compilers for Parallel Computing
, 8th International
15 Workshop
, LCPC'
95, Columbus
, Ohio
, USA
, August
10-12, 1995,
17 publisher = {Springer
},
18 series = {Lecture Notes in Computer Science
},
21 isbn
= {3-540-60765-X
},
22 doi
= "
10.1007/BFb0014196"
,
25 @inproceedings
{Beletska2009
,
26 author = {Beletska
, Anna and Barthou
, Denis and Bielecki
, Wlodzimierz and Cohen
, Albert
},
27 title = {Computing the Transitive Closure of a Union of Affine Integer Tuple Relations
},
28 booktitle = {COCOA '
09: Proceedings of the
3rd International Conference on Combinatorial Optimization and Applications
},
30 isbn
= {978-3-642-02025-4},
32 location
= {Huangshan
, China
},
33 doi
= {10.1007/978-3-642-02026-1_9
},
34 publisher = {Springer
-Verlag
},
35 address = {Berlin
, Heidelberg
},
39 author = "Schrijver
, Alexander"
,
40 title = "Theory of Linear and Integer Programming"
,
41 publisher = "John Wiley \
& Sons"
,
46 author = {Tarjan
, Robert
},
47 journal = {SIAM Journal on Computing
},
51 title = {Depth
-First Search and Linear Graph Algorithms
},
54 doi
= "
10.1137/0201010"
,
57 @TechReport
{ Omega_calc
,
58 author = "Wayne Kelly and Vadim Maslov and William Pugh and Evan Rosser and Tatiana Shpeisman and Dave Wonnacott"
,
59 title = "The
{Omega
} Calculator and Library"
,
61 institution = "University of Maryland"
,
65 @TechReport
{ Omega_lib
,
66 author = "Wayne Kelly and Vadim Maslov and William Pugh and Evan Rosser and Tatiana Shpeisman and Dave Wonnacott"
,
67 title = "The
{Omega
} Library"
,
69 institution = "University of Maryland"
,
73 @unpublished
{Verdoolaege2009isl
,
74 author = "Verdoolaege
, Sven"
,
75 title = "An integer set library for program analysis"
,
76 note = "Advances in the Theory of Integer Linear Optimization and its Extensions
,AMS
2009 Spring Western Section Meeting
, San Francisco
, California
, 25-26 April
2009"
,
79 url
= "https
://lirias.kuleuven.be
/handle
/123456789/228373"
,
82 @article
{Barthou2000MSE
,
83 author = {Barthou
, Denis and Cohen
, Albert and Collard
, Jean
-Fran\c
{c
}ois
},
84 title = {Maximal Static Expansion
},
85 journal = {Int. J. Parallel Program.
},
91 doi
= {10.1023/A
:1007500431910},
92 publisher = {Kluwer Academic Publishers
},
93 address = {Norwell
, MA
, USA
},
96 @article
{ Feautrier88parametric
,
97 author = "P. Feautrier"
,
98 title = "Parametric Integer Programming"
,
99 journal = "RAIRO Recherche Op\'erationnelle"
,
107 author = {Feautrier
, P.
},
108 title = {Dataflow analysis of array and scalar references
},
109 journal = {International Journal of Parallel Programming
},
118 doi
= "
10.1007/BF01407931"
,
121 @INPROCEEDINGS
{BouletRe98
,
122 AUTHOR
= {Pierre Boulet and Xavier Redon
},
123 TITLE
= {Communication Pre
-evaluation in
{HPF
}},
124 BOOKTITLE
= {EUROPAR'
98},
128 series = {Lecture Notes in Computer Science
},
129 PUBLISHER
= {Springer
-Verlag
, Berlin
},
130 ABSTRACT
= { Parallel computers are difficult to program efficiently. We believe
131 that a good way to help programmers write efficient programs is to
132 provide them with tools that show them how their programs behave on
133 a parallel computer. Data distribution is the major performance
134 factor of data
-parallel programs and so automatic data layout for
135 HPF programs has been studied by many researchers recently. The
136 communication
volume induced by a data distribution is a good
137 estimator of the efficiency of this data distribution.
139 We present here a symbolic method to compute the communication
140 volume generated by a given data distribution during the program
141 writing phase
(before compilation
). We stay machine
-independent to
142 assure portability. Our goal is to help the programmer understand
143 the data movements its program generates and thus find a good data
144 distribution. Our method is based on parametric polyhedral
145 computations. It can be applied to a large class of regular codes.
},
146 doi
= "
10.1007/BFb0057861"
,
149 @INPROCEEDINGS
{Verdoolaege2005experiences
,
150 AUTHOR
= "Verdoolaege
, Sven and Beyls
, Kristof and Bruynooghe
, Maurice and Catthoor
, Francky"
,
151 TITLE
= {{E
}xperiences with enumeration of integer projections of parametric polytopes
},
152 BOOKTITLE
= {{P
}roceedings of
14th
{I
}nternational
{C
}onference on
{C
}ompiler
{C
}onstruction
, {E
}dinburgh
, {S
}cotland
},
154 EDITOR
= {Bodik
, R.
},
157 series = "Lecture Notes in Computer Science"
,
158 publisher = "Springer
-Verlag"
,
160 doi
= "
10.1007/b107108"
,
163 @article
{Detlefs2005simplify
,
164 author = {David Detlefs and Greg Nelson and James B. Saxe
},
165 title = {Simplify
: a theorem prover for program checking
},
172 doi
= {10.1145/1066100.1066102},
174 address = {New York
, NY
, USA
},
177 @phdthesis
{Nelson1980phd
,
178 author = {Charles Gregory Nelson
},
179 title = {Techniques for program verification
},
181 order_no
= {AAI8011683
},
182 school = {Stanford University
},
183 address = {Stanford
, CA
, USA
},
186 @article
{Woods2003short
,
188 Journal
= "J. Amer. Math. Soc."
,
192 title = {{Short rational generating functions for lattice point
194 author = {Alexander Barvinok and Kevin Woods
},
195 doi
= "
10.1090/S0894
-0347-03-00428-4"
,
199 author = {Sven Verdoolaege
},
200 title = {{\texttt
{barvinok
}}, version
0.22},
201 howpublished = {Available from \url
{https
://barvinok.sourceforge.io
/}},
205 @inproceedings
{DeLoera2004Three
,
206 title = "Three Kinds of Integer Programming Algorithms based on Barvinok's Rational Functions"
,
207 author = "De Loera
, J. A. and D. Haws and R. Hemmecke and P. Huggins and R. Yoshida"
,
208 booktitle = "Integer Programming and Combinatorial Optimization
: 10th International IPCO Conference"
,
211 series = "Lecture Notes in Computer Science"
,
214 doi
= "
10.1007/978-3-540-25960-2_19"
,
217 @TechReport
{Feautrier02
,
218 author = {P. Feautrier and J. Collard and C. Bastoul
},
219 title = {Solving systems of affine
(in
)equalities
},
220 institution = {PRiSM
, Versailles University
},
224 @article
{ Feautrier92multi
,
225 author = "Paul Feautrier"
,
226 title = "Some Efficient Solutions to the Affine Scheduling Problem.
{P
}art
{II
}. Multidimensional Time"
,
227 journal = "International Journal of Parallel Programming"
,
233 url
= "citeseer.nj.nec.com
/article
/feautrier92some.html"
,
234 doi
= "
10.1007/BF01379404"
,
237 @misc
{Bygde2010licentiate
,
238 author = {Stefan Bygde
},
239 title = {Static
{WCET
} Analysis based on Abstract Interpretation and Counting of Elements
},
242 howpublished = {Licentiate thesis
},
243 publisher = {M
{\"
{a
}}lardalen University Press
},
244 url
= {http
://www.mrtc.mdh.se
/index.php?choice
=publications
&id
=2144},
247 @phdthesis
{Meister2004PhD
,
248 title = {Stating and Manipulating Periodicity in the Polytope Model. Applications to Program Analysis and Optimization
},
249 author= {Beno\^it Meister
},
250 school = {Universit\'e Louis Pasteur
},
255 @inproceedings
{Meister2008
,
256 author = {Beno\^it Meister and Sven Verdoolaege
},
257 title = {Polynomial Approximations in the Polytope Model
: Bringing the Power
258 of Quasi
-Polynomials to the Masses
},
260 booktitle = {Digest of the
6th Workshop on Optimization for DSP and Embedded Systems
, ODES
-6},
261 editor = "Jagadeesh Sankaran and Vander Aa
, Tom"
,
265 @misc
{Galea2009personal
,
266 author = "Fran\c
{c
}ois Galea"
,
267 title = "personal communication"
,
273 author = "R. Bagnara and P. M. Hill and E. Zaffanella"
,
274 title = "The
{Parma Polyhedra Library
}"
,
275 howpublished = {\url
{http
://www.cs.unipr.it
/ppl
/}},
278 @TECHREPORT
{Cook1991implementation
,
279 AUTHOR
={William Cook and Thomas Rutherford and Herbert E. Scarf and David F. Shallcross
},
280 TITLE
={An Implementation of the Generalized Basis Reduction Algorithm for Integer Programming
},
283 INSTITUTION
={Cowles Foundation
, Yale University
},
284 TYPE
={Cowles Foundation Discussion Papers
},
285 NOTE
={available at \url
{http
://ideas.repec.org
/p
/cwl
/cwldpp
/990.html
}},
289 @article
{Karr1976affine
,
290 author={ Michael Karr
},
291 title={ Affine Relationships Among Variables of a Program
},
292 journal={Acta Informatica
},
296 publisher={Springer
-Verlag
},
298 doi
= "
10.1007/BF00268497"
,
301 @PhdThesis
{Verhaegh1995PhD
,
302 title = "Multidimensional Periodic Scheduling"
,
303 author = "Wim F. J. Verhaegh"
,
304 school = "Technische Universiteit Eindhoven"
,
308 @INPROCEEDINGS
{Seghir2006minimizing
,
309 AUTHOR
= "Rachid Seghir and Vincent Loechner"
,
310 TITLE
= {Memory Optimization by Counting Points in Integer Transformations of Parametric Polytopes
},
311 BOOKTITLE
= {{P
}roceedings of the
{I
}nternational
{C
}onference on
{C
}ompilers
, {A
}rchitectures
, and
{S
}ynthesis for
{E
}mbedded Systems
, CASES
2006, {S
}eoul
, {K
}orea
},
314 doi
= {10.1145/1176760.1176771},
317 @misc
{DeSmet2010personal
,
318 author = "De Smet
, Sven"
,
319 title = "personal communication"
,
324 @inproceedings
{Verdoolaege2015impact
,
325 author = {Verdoolaege
, Sven
},
326 title = {Integer Set Coalescing
},
327 booktitle = {Proceedings of the
5th International Workshop on
328 Polyhedral Compilation Techniques
},
331 address = {Amsterdam
, The Netherlands
},
333 In polyhedral compilation
, various core concepts such as the set
334 of statement instances
, the access relations
, the dependences and
335 the schedule are represented or approximated using sets and binary
336 relations of sequences of integers bounded by
(quasi
-)affine constraints.
337 When these sets and relations are represented in disjunctive normal form
,
338 it is important to keep the
number of disjuncts small
, both for efficiency
339 and to improve the computation of transitive closure overapproximations
340 and AST generation. This paper describes the set coalescing operation
341 of isl that looks for opportunities to combine several disjuncts into
342 a single disjunct without affecting the elements in the set. The main
343 purpose of the paper is to explain the various heuristics and to prove
346 doi
= "
10.13140/2.1.1313.6968"
,
349 @misc
{Verdoolaege2016tutorial
,
350 author = "Sven Verdoolaege"
,
351 title = "Presburger Formulas and Polyhedral Compilation"
,
353 doi
= "
10.13140/RG
.2.1.1174.6323"
,
356 @inproceedings
{Verdoolaege2009equivalence
,
357 author = "Sven Verdoolaege and Gerda Janssens and Maurice Bruynooghe"
,
358 title = "Equivalence checking of static affine programs using widening to handle recurrences"
,
359 booktitle = "Computer Aided Verification
21"
,
363 publisher = "Springer"
,
364 doi
= "
10.1007/978-3-642-02658-4_44"
,
367 @incollection
{Verdoolaege2010isl
,
368 author = {Verdoolaege
, Sven
},
369 title = {isl
: An Integer Set Library for the Polyhedral Model
},
370 booktitle = {Mathematical Software
- ICMS
2010},
371 series = {Lecture Notes in Computer Science
},
372 editor = {Fukuda
, Komei and Hoeven
, Joris and Joswig
, Michael and Takayama
, Nobuki
},
373 publisher = {Springer
},
378 doi
= {10.1007/978-3-642-15582-6_49
},
381 @incollection
{Verdoolaege2010networks
,
382 author = "Verdoolaege
, Sven"
,
383 title = "Polyhedral process networks"
,
384 editor = "Bhattacharrya
, Shuvra and Deprettere
, Ed and Leupers
, Rainer and Takala
, Jarmo"
,
385 publisher = "Springer"
,
387 doi
= "
10.1007/978-1-4419-6345-1\_
{}33"
,
389 booktitle = "Handbook of Signal Processing Systems"
,
390 url
= "https
://lirias.kuleuven.be
/handle
/123456789/235370"
,
391 doi
= "
10.1007/978-1-4419-6345-1_33"
,
394 @InProceedings
{Verdoolaege2011iscc
,
395 author = {Sven Verdoolaege
},
396 title = {Counting Affine Calculator and Applications
},
397 booktitle = { First International Workshop on Polyhedral Compilation Techniques
(IMPACT'
11)},
398 address = { Chamonix
, France
},
401 doi
= "
10.13140/RG
.2.1.2959.5601"
,
404 @inproceedings
{Verdoolaege2011closure
,
405 author = {Verdoolaege
, Sven and Cohen
, Albert and Beletska
, Anna
},
406 title = {Transitive Closures of Affine Integer Tuple Relations and Their Overapproximations
},
407 booktitle = {Proceedings of the
18th International Conference on Static Analysis
},
410 isbn
= {978-3-642-23701-0},
411 location
= {Venice
, Italy
},
415 publisher = {Springer
-Verlag
},
416 address = {Berlin
, Heidelberg
},
417 doi
= "
10.1007/978-3-642-23702-7_18"
,
420 @article
{Verdoolaege2013PPCG
,
421 title={Polyhedral parallel code generation for
{CUDA
}},
422 author={Verdoolaege
, Sven and Juega
, Juan Carlos and Cohen
, Albert and G
{\'o
}mez
, Jos
{\'e
} Ignacio and Tenllado
, Christian and Catthoor
, Francky
},
423 journal = {ACM Trans. Archit. Code Optim.
},
429 doi
= {10.1145/2400682.2400713},
432 @inproceedings
{Verdoolaege2014impact
,
433 author = {Verdoolaege
, Sven and Guelton
, Serge and
434 Grosser
, Tobias and Cohen
, Albert
},
435 title = {Schedule Trees
},
436 booktitle = {Proceedings of the
4th International Workshop on Polyhedral Compilation Techniques
},
439 address = {Vienna
, Austria
},
440 url
= {https
://acohen.gitlabpages.inria.fr
/impact
/impact2014
/papers
/impact2014
-verdoolaege.pdf
},
442 Schedules in the polyhedral model
, both those that represent the original
443 execution order and those produced by scheduling algorithms
, naturally have the
444 form of a tree. Generic schedule representations proposed in the literature
445 encode this tree structure such that it is only implicitly available.
446 Following the internal representation of isl
, we propose to represent
447 schedules as explicit trees and further extend the concept by introducing
448 different kinds of nodes. We compare our schedule trees to other
449 representations in detail and illustrate how they have been successfully used
450 to simplify the implementation of a non
-trivial polyhedral compiler.
452 DOI
= {10.13140/RG
.2.1.4475.6001},
455 @article
{Grosser2015AST
,
456 author = "Tobias Grosser and Sven Verdoolaege and Albert Cohen"
,
457 title = "Polyhedral
{AST
} generation is more than scanning polyhedra"
,
458 journal = "ACM Transactions on Programming Languages and Systems"
,
459 issue_date
= {August
2015},
465 pages = {12:1--12:50},
468 url
= {http
://doi.acm.org
/10.1145/2743016},
469 doi
= {10.1145/2743016},
472 address = {New York
, NY
, USA
},
473 keywords = {Polyhedral compilation
, Presburger relations
, code generation
, index set splitting
, unrolling
},
476 @inproceedings
{Verdoolaege2016reordering
,
477 author = {Sven Verdoolaege and Albert Cohen
},
478 title = "Live
-Range Reordering"
,
479 booktitle = {Proceedings of the sixth International Workshop on
480 Polyhedral Compilation Techniques
},
483 address = {Prague
, Czech Republic
},
484 doi
= "
10.13140/RG
.2.1.3272.9680"
,