Full Version: (De/Re)-Composition of Data-Parallel Computations via Multi-Dimensional Homomorphisms
Ari Rasch

TL;DR
This paper introduces a formal, algebraic approach using Multi-Dimensional Homomorphisms for systematic decomposition and recomposition of data-parallel computations, enabling automatic optimization and superior performance across architectures.
Contribution
It presents a novel formal framework for (de/re)-composition of data-parallel computations that unifies various strategies and facilitates auto-tuning for specific hardware architectures.
Findings
Achieves higher performance than state-of-the-art methods.
Successfully applies to diverse data-parallel tasks including linear algebra and deep learning.
Enables fully automatic code optimization for different architectures.
Abstract
We formally introduce a systematic (de/re)-composition approach, based on the algebraic formalism of "Multi-Dimensional Homomorphisms (MDHs)". Our approach is designed as general enough to be applicable to a wide range of data-parallel computations and for various kinds of target parallel architectures. To efficiently target the deep and complex memory and core hierarchies of contemporary architectures, we exploit our introduced (de/re)-composition approach for a correct-by-construction, parametrized cache blocking and parallelization strategy. We show that our approach is powerful enough to express, in the same formalism, the (de/re)-composition strategies of different classes of state-of-the-art approaches (scheduling-based, polyhedral, etc), and we demonstrate that the parameters of our strategies enable systematically generating code that can be fully automatically optimized…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
