Table of Contents
Fetching ...

Maximal Simplification of Polyhedral Reductions

Louis Narmour, Tomofumi Yuki, Sanjay Rajopadhye

TL;DR

This work addresses automatically achieving maximal simplification of polyhedral reductions by exploiting reuse through piece-wise, affine splits. It extends prior GR06 methods with a formal framework of piece-wise simplification, equivalence partitioning of infinite reuse choices, and simplex-preserving SPB/SPI splits to guarantee termination. The central theoretical result shows any independent commutative reduction with accumulation space $a$ and reuse space $r$ can be transformed to reduce the asymptotic degree by $l = \min(a,r)$, with constructive proofs and a dynamic-programming algorithm. An accompanying artifact implements components of the approach, including reduction decompositions and splits, illustrating practical code-generation pathways, though full compiler integration and vectorization heuristics remain for future work. Overall, the paper provides a rigorous path toward automatically obtaining minimal asymptotic complexity for reductions in the polyhedral model, with potential significant performance gains in data-intensive applications.

Abstract

Reductions combine collections of input values with an associative and often commutative operator to produce collections of results. When the same input value contributes to multiple outputs, there is an opportunity to reuse partial results, enabling reduction simplification. Simplification often produces a program with lower asymptotic complexity. Typical compiler optimizations yield, at best, a constant fold speedup, but a complexity improvement from, say, cubic to quadratic complexity yields unbounded speedup for sufficiently large problems. It is well known that reductions in polyhedral programs may be simplified automatically, but previous methods cannot exploit all available reuse. This paper resolves this long-standing open problem, thereby attaining minimal asymptotic complexity in the simplified program. We propose extensions to prior work on simplification to support any independent commutative reduction. At the heart of our approach is piece-wise simplification, the notion that we can split an arbitrary reduction into pieces and then independently simplify each piece. However, the difficulty of using such piece-wise transformations is that they typically involve an infinite number of choices. We give constructive proofs to deal with this and select a finite number of pieces for simplification.

Maximal Simplification of Polyhedral Reductions

TL;DR

This work addresses automatically achieving maximal simplification of polyhedral reductions by exploiting reuse through piece-wise, affine splits. It extends prior GR06 methods with a formal framework of piece-wise simplification, equivalence partitioning of infinite reuse choices, and simplex-preserving SPB/SPI splits to guarantee termination. The central theoretical result shows any independent commutative reduction with accumulation space and reuse space can be transformed to reduce the asymptotic degree by , with constructive proofs and a dynamic-programming algorithm. An accompanying artifact implements components of the approach, including reduction decompositions and splits, illustrating practical code-generation pathways, though full compiler integration and vectorization heuristics remain for future work. Overall, the paper provides a rigorous path toward automatically obtaining minimal asymptotic complexity for reductions in the polyhedral model, with potential significant performance gains in data-intensive applications.

Abstract

Reductions combine collections of input values with an associative and often commutative operator to produce collections of results. When the same input value contributes to multiple outputs, there is an opportunity to reuse partial results, enabling reduction simplification. Simplification often produces a program with lower asymptotic complexity. Typical compiler optimizations yield, at best, a constant fold speedup, but a complexity improvement from, say, cubic to quadratic complexity yields unbounded speedup for sufficiently large problems. It is well known that reductions in polyhedral programs may be simplified automatically, but previous methods cannot exploit all available reuse. This paper resolves this long-standing open problem, thereby attaining minimal asymptotic complexity in the simplified program. We propose extensions to prior work on simplification to support any independent commutative reduction. At the heart of our approach is piece-wise simplification, the notion that we can split an arbitrary reduction into pieces and then independently simplify each piece. However, the difficulty of using such piece-wise transformations is that they typically involve an infinite number of choices. We give constructive proofs to deal with this and select a finite number of pieces for simplification.
Paper Structure (48 sections, 6 theorems, 36 equations, 12 figures, 1 algorithm)

This paper contains 48 sections, 6 theorems, 36 equations, 12 figures, 1 algorithm.

Key Result

theorem 1

Given an independent reduction with a $d$-dimensional body, an $a$-dimensional accumulation space, and an $r$-dimensional reuse space, it may always be transformed into an equivalent reduction with an asymptotic complexity that has been decreased by $l = \mathrm{min}(a, r)$ polynomial degrees.

Figures (12)

  • Figure 1: Simplification improves the asymptotic complexity of the algorithm.
  • Figure 2: Reduction from quadratic to linear asymptotic complexity. The input variable $X$ is oriented along the vertical axis, and the output $Y$ is oriented along the horizontal.
  • Figure 3: Face lattice of $\mathcal{D}$ in Equation \ref{['eq:sr-example']}. The numbers inside the labels denote the constraints that, when saturated, describe the face. For example, "$\{4\}$" denotes saturating constraint $c_{4} : k \leq i-j$, which represents the top oblique 2-face. The back three edges (1-faces) and vertex (0-face) are not labeled.
  • Figure 4: Simplification of a cubic equation (computation defined over a tetrahedron) to a quadratic complexity (the residual computation is defined only over the points in the top red triangular face).
  • Figure 5: The 12 equivalence classes for the single-step simplification of Equation \ref{['eq:sr-example']}.
  • ...and 7 more figures

Theorems & Definitions (14)

  • definition 1
  • definition 2
  • definition 3
  • definition 4
  • definition 5
  • definition 6
  • definition 7
  • theorem 1
  • definition 8
  • lemma 1
  • ...and 4 more