Galley: Modern Query Optimization for Sparse Tensor Programs
Kyle Deeds, Willow Ahrens, Magda Balazinska, Dan Suciu

TL;DR
Galley introduces a novel system for declarative sparse tensor programming that automates complex optimization decisions, resulting in significantly faster programs for machine learning and subgraph counting workloads.
Contribution
Galley is the first system to perform cost-based lowering of sparse tensor algebra and optimize arbitrary operators beyond sum and product.
Findings
Achieves 1-300x speedup over competing methods in machine learning tasks.
Attains 5-20x faster performance than a state-of-the-art relational database.
Reduces optimization overhead in sparse tensor program compilation.
Abstract
The tensor programming abstraction is a foundational paradigm which allows users to write high performance programs via a high-level imperative interface. Recent work on sparse tensor compilers has extended this paradigm to sparse tensors (i.e., tensors where most entries are not explicitly represented). With these systems, users define the semantics of the program and the algorithmic decisions in a concise language that can be compiled to efficient low-level code. However, these systems still require users to make complex decisions about program structure and memory layouts to write efficient programs. This work presents Galley, a system for declarative tensor programming that allows users to write efficient tensor programs without making complex algorithmic decisions. Galley is the first system to perform cost based lowering of sparse tensor algebra to the imperative language of…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Tensor decomposition and applications · Computational Physics and Python Applications
