SMASH: Co-designing Software Compression and Hardware-Accelerated Indexing for Efficient Sparse Matrix Operations
Not on the map. Why?
Abstract (arXiv)
Important workloads, such as machine learning and graph analytics applications, heavily involve sparse linear algebra operations. These operations use sparse matrix compression as an effective means to avoid storing zeros and performing unnecessary computation on zero elements. However, compression techniques like Compressed Sparse Row (CSR) that are widely used today introduce significant instruction overhead and expensive pointer-chasing operations to discover the positions of the non-zero elements. In this paper, we identify the discovery of the positions (i.e., indexing) of non-zero elements as a key bottleneck in sparse matrix-based workloads, which greatly reduces the benefits of compression. We propose SMASH, a hardware-software cooperative mechanism that enables highly-efficient indexing and storage of sparse matrices. The key idea of SMASH is to explicitly enable the hardware to recognize and exploit sparsity in data. To this end, we devise a novel software encoding based on a hierarchy of bitmaps. This encoding can be used to efficiently compress any sparse matrix, regardless of the extent and structure of sparsity. At the same time, the bitmap encoding can be directly interpreted by the hardware. We design a lightweight hardware unit, the Bitmap Management Unit (BMU), that buffers and scans the bitmap hierarchy to perform highly-efficient indexing of sparse matrices. SMASH exposes an expressive and rich ISA to communicate with the BMU, which enables its use in accelerating any sparse matrix computation. We demonstrate the benefits of SMASH on four use cases that include sparse matrix kernels and graph analytics applications.
Key facts. Cited by 7 papers in the map (data through 14 Oct 2026). First posted on arXiv 23 Oct 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2022: 2; 2023: 3; 2024: 1; 2025: 1.
7 papers.
- 2023HighLight: Efficient and Flexible DNN Acceleration with Hierarchical Structured Sparsitycited by 12
- 2023SGCN: Exploiting Compressed-Sparse Features in Deep Graph Convolutional Network Acceleratorscited by 5
- 2024PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architecturescited by 3
- 2022Demystifying Map Space Exploration for NPUscited by 2
- 2022EcoFlow: Efficient Convolutional Dataflows for Low-Power Neural Network Acceleratorscited by 1
- 2023Slice-and-Forge: Making Better Use of Caches for Graph Convolutional Network Acceleratorscited by 1
- 2025NVR: Vector Runahead on NPUs for Sparse Memory Accesscited by 0
- 2025NVR: Vector Runahead on NPUs for Sparse Memory Access19 Feb 2025
- 2024PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architectures26 Feb 2024
- 2023HighLight: Efficient and Flexible DNN Acceleration with Hierarchical Structured Sparsity22 May 2023
- 2023SGCN: Exploiting Compressed-Sparse Features in Deep Graph Convolutional Network Accelerators25 Jan 2023
- 2023Slice-and-Forge: Making Better Use of Caches for Graph Convolutional Network Accelerators24 Jan 2023
- 2022Demystifying Map Space Exploration for NPUs7 Oct 2022
- 2022EcoFlow: Efficient Convolutional Dataflows for Low-Power Neural Network Accelerators4 Feb 2022