Enregistré dans:
Détails bibliographiques
Auteurs principaux: Narmour, Louis, Yuki, Tomofumi, Rajopadhye, Sanjay
Format: Preprint
Publié: 2023
Sujets:
Accès en ligne:https://arxiv.org/abs/2309.11826
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866910750103044096
author Narmour, Louis
Yuki, Tomofumi
Rajopadhye, Sanjay
author_facet Narmour, Louis
Yuki, Tomofumi
Rajopadhye, Sanjay
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2309_11826
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Maximal Simplification of Polyhedral Reductions
Narmour, Louis
Yuki, Tomofumi
Rajopadhye, Sanjay
Programming Languages
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.
title Maximal Simplification of Polyhedral Reductions
topic Programming Languages
url https://arxiv.org/abs/2309.11826