• Corpus ID: 220686462

Simplifying Multiple-Statement Reductions with the Polyhedral Model

  title={Simplifying Multiple-Statement Reductions with the Polyhedral Model},
  author={Cambridge Yang and Eric Hamilton Atkinson and Michael Carbin},
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… 

Figures and Tables from this paper

On Simplifying Dependent Polyhedral Reductions
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
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.


Polly's Polyhedral Scheduling in the Presence of Reductions
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
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
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
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
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
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
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
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
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
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.