Simplifying Multiple-Statement Reductions with the Polyhedral Model
@article{Yang2020SimplifyingMR, title={Simplifying Multiple-Statement Reductions with the Polyhedral Model}, author={Cambridge Yang and Eric Hamilton Atkinson and Michael Carbin}, journal={ArXiv}, year={2020}, volume={abs/2007.11203} }
A Reduction -- an accumulation over a set of values, using an associative and commutative operator -- is a common computation in many numerical computations, including scientific computations, machine learning, computer vision, and financial analytics.
Contemporary polyhedral-based compilation techniques make it possible to optimize reductions, such as prefix sum, in which each component of the reduction's output potentially shares computation with another component in the reduction. Therefore…
2 Citations
On Simplifying Dependent Polyhedral Reductions
- Computer ScienceArXiv
- 2020
It is shown that simplification of dependent reductions can be formulated as a simple extension of the Gautam-Rajopadhye backtracking search algorithm.
Simplifying Dependent Reductions
- Computer Science
- 2021
This paper shows how to extend the Gautam-Rajopadhye algorithm to optimally simplify such dependent reductions, tackling the case when ( some) input values depend on (some) outputs.
References
SHOWING 1-10 OF 69 REFERENCES
Polly's Polyhedral Scheduling in the Presence of Reductions
- Computer ScienceArXiv
- 2015
It is shown that leveraging the parallelism of reductions can lead to a signicant performance increase and ways to extend polyhedral optimization to exploit the associativity and commutativity of reduction computations are discussed.
Iterative optimization in the polyhedral model: part ii, multidimensional time
- Computer SciencePLDI '08
- 2008
A genetic algorithm with specialized operators that leverage the polyhedral representation of program dependences is introduced, providing experimental evidence that the genetic algorithm effectively traverses huge optimization spaces, achieving good performance improvements on large loop nests.
The Polyhedral Model Is More Widely Applicable Than You Think
- Computer ScienceCC
- 2010
This work concentrates on extending the code generation step and does not compromise the expressiveness of the model, presenting experimental evidence that the extension is relevant for program optimization and parallelization, showing performance improvements on benchmarks that were thought to be out of reach of the polyhedral model.
Iterative Optimization in the Polyhedral Model: Part I, One-Dimensional Time
- Computer ScienceInternational Symposium on Code Generation and Optimization (CGO'07)
- 2007
This work defines a systematic exploration method to enumerate the space of all legal, distinct transformations in the class of loop transformation which can be expressed as one-dimensional affine schedules and demonstrates orders of magnitude improvements in the size of the search space and in the convergence speed of a dedicated iterative optimization heuristic.
A practical automatic polyhedral parallelizer and locality optimizer
- Computer SciencePLDI '08
- 2008
An automatic polyhedral source-to-source transformation framework that can optimize regular programs for parallelism and locality simultaneously simultaneously and is implemented into a tool to automatically generate OpenMP parallel code from C program sections.
Reduction drawing: Language constructs and polyhedral compilation for reductions on GPUs
- Computer Science2016 International Conference on Parallel Architecture and Compilation Techniques (PACT)
- 2016
This work presents language constructs that let a programmer express arbitrary reductions on user-defined data types matching the performance of tuned library implementations, and extends a polyhedral compilation flow to process these user- defined reductions.
isl: An Integer Set Library for the Polyhedral Model
- ArtICMS
- 2010
In compiler research, polytopes and related mathematical objects have been successfully used for several decades to represent and manipulate computer programs in an approach that has become known as…
Counting Integer Points in Parametric Polytopes Using Barvinok's Rational Functions
- MathematicsAlgorithmica
- 2006
This work extends an existing method, based on Barvinok's decomposition, for counting the number of integer points in a non-parametric polytope and computes polynomially-sized enumerators in polynomial time (for fixed dimensions).
Simplifying reductions
- Computer SciencePOPL '06
- 2006
An algorithm for the optimal application of such simplifications resulting in an equivalent specification with minimum complexity is presented.
Scheduling in the Z-Polyhedral Model
- Computer Science2007 IEEE International Parallel and Distributed Processing Symposium
- 2007
This work presents the scheduling analysis for the automatic parallelization of programs in the Z-polyhedral model, and obtains multidimensional schedules through an ILP formulation that minimizes latency.