# The Sparse Abstract Machine

arXiv: https://arxiv.org/abs/2208.14610 · HTML: https://mlsanity.com/paper/2208.14610/

## Key facts

- Cited by 4 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 31 Aug 2022.

## Built on by (most cited first, 4 of 4)

- [Adaptive Self-improvement LLM Agentic System for ML Library Development](https://mlsanity.com/paper/2502.02534/) (2025)
- [Retrospective: EIE: Efficient Inference Engine on Sparse and Compressed Neural Network](https://mlsanity.com/paper/2306.09552/) (2023)
- [FuseFlow: A Fusion-Centric Compilation Framework for Sparse Deep Learning on Streaming Dataflow](https://mlsanity.com/paper/2511.04768/) (2025)
- [Streaming Tensor Programs: A Streaming Abstraction for Dynamic Parallelism](https://mlsanity.com/paper/2511.07776/) (2025)

## Abstract (arXiv)

We propose the Sparse Abstract Machine (SAM), an abstract machine model for targeting sparse tensor algebra to reconfigurable and fixed-function spatial dataflow accelerators. SAM defines a streaming dataflow abstraction with sparse primitives that encompass a large space of scheduled tensor algebra expressions. SAM dataflow graphs naturally separate tensor formats from algorithms and are expressive enough to incorporate arbitrary iteration orderings and many hardware-specific optimizations. We also present Custard, a compiler from a high-level language to SAM that demonstrates SAM's usefulness as an intermediate representation. We automatically bind from SAM to a streaming dataflow simulator. We evaluate the generality and extensibility of SAM, explore the performance space of sparse tensor algebra optimizations using SAM, and show SAM's ability to represent dataflow hardware.
