Design Principles for Sparse Matrix Multiplication on the GPU
Not on the map. Why?
Abstract (arXiv)
We implement two novel algorithms for sparse-matrix dense-matrix multiplication (SpMM) on the GPU. Our algorithms expect the sparse input in the popular compressed-sparse-row (CSR) format and thus do not require expensive format conversion. While previous SpMM work concentrates on thread-level parallelism, we additionally focus on latency hiding with instruction-level parallelism and load-balancing. We show, both theoretically and experimentally, that the proposed SpMM is a better fit for the GPU than previous approaches. We identify a key memory access pattern that allows efficient access into both input and output matrices that is crucial to getting excellent performance on SpMM. By combining these two ingredients---(i) merge-based load-balancing and (ii) row-major coalesced memory access---we demonstrate a 4.1x peak speedup and a 31.7% geomean speedup over state-of-the-art SpMM implementations on real-world datasets.
Key facts. Cited by 18 papers in the map (data through 7 Oct 2026). First posted on arXiv 22 Mar 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 3; 2022: 1; 2023: 5; 2024: 3; 2025: 4; 2026: 2.
18 papers.
Sort:
- 2025PyG 2.0: Scalable Learning on Real World Graphscited by 49
- 2022SparseTIR: Composable Abstractions for Sparse Compilation in Deep Learningcited by 47
- 2023Accel-GCN: High-Performance GPU Accelerator Design for Graph Convolution Networkscited by 22
- 2025An Efficient Sparse Kernel Generator for O(3)-Equivariant Deep Networkscited by 19
- 2021Do We Need Anisotropic Graph Neural Networks?cited by 18
- 2021SparseDNN: Fast Sparse Deep Learning Inference on CPUscited by 13
- 2023Exploiting Sparsity in Pruned Neural Networks to Optimize Large Model Trainingcited by 5
- 2023BitGNN: Unleashing the Performance Potential of Binary Graph Neural Networks on GPUscited by 4
- 2021Accelerating SpMM Kernel with Cache-First Edge Sampling for Graph Neural Networkscited by 2
- 2023PopSparse: Accelerated block sparse matrix multiplication on IPUcited by 2
- 2024PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architecturescited by 2
- 2025On the Interaction of Compressibility and Adversarial Robustnesscited by 2
6 more
- 2023SUBP: Soft Uniform Block Pruning for 1xN Sparse CNNs Multithreading Accelerationcited by 1
- 2024Optimization of GNN Training Through Half-precisioncited by 1
- 2025Plexus: Taming Billion-edge Graphs with 3D Parallel Full-graph GNN Trainingcited by 1
- 2024GeoT: Tensor Centric Library for Graph Neural Network via Efficient Segment Reduction on GPUcited by 0
- 2026HopFormer: Sparse Graph Transformers with Explicit Receptive Field Controlcited by 0
- 2026Scalable Optimal Transport Algorithm for Network Alignmentcited by 0
- 2026Scalable Optimal Transport Algorithm for Network Alignment11 Jul 2026
- 2026HopFormer: Sparse Graph Transformers with Explicit Receptive Field Control2 Feb 2026
- 2025On the Interaction of Compressibility and Adversarial Robustness23 Jul 2025
- 2025PyG 2.0: Scalable Learning on Real World Graphs22 Jul 2025
- 2025Plexus: Taming Billion-edge Graphs with 3D Parallel Full-graph GNN Training7 May 2025
- 2025An Efficient Sparse Kernel Generator for O(3)-Equivariant Deep Networks23 Jan 2025
- 2024Optimization of GNN Training Through Half-precision2 Nov 2024
- 2024GeoT: Tensor Centric Library for Graph Neural Network via Efficient Segment Reduction on GPU3 Apr 2024
- 2024PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architectures26 Feb 2024
- 2023SUBP: Soft Uniform Block Pruning for 1xN Sparse CNNs Multithreading Acceleration10 Oct 2023
- 2023Accel-GCN: High-Performance GPU Accelerator Design for Graph Convolution Networks22 Aug 2023
- 2023BitGNN: Unleashing the Performance Potential of Binary Graph Neural Networks on GPUs4 May 2023
6 more
- 2023PopSparse: Accelerated block sparse matrix multiplication on IPU29 Mar 2023
- 2023Exploiting Sparsity in Pruned Neural Networks to Optimize Large Model Training10 Feb 2023
- 2022SparseTIR: Composable Abstractions for Sparse Compilation in Deep Learning11 Jul 2022
- 2021Accelerating SpMM Kernel with Cache-First Edge Sampling for Graph Neural Networks21 Apr 2021
- 2021Do We Need Anisotropic Graph Neural Networks?3 Apr 2021
- 2021SparseDNN: Fast Sparse Deep Learning Inference on CPUs20 Jan 2021
- 2025PyG 2.0: Scalable Learning on Real World Graphscited by 49
- 2022SparseTIR: Composable Abstractions for Sparse Compilation in Deep Learningcited by 47
- 2023Accel-GCN: High-Performance GPU Accelerator Design for Graph Convolution Networkscited by 22
- 2025An Efficient Sparse Kernel Generator for O(3)-Equivariant Deep Networkscited by 19
- 2021Do We Need Anisotropic Graph Neural Networks?cited by 18
- 2021SparseDNN: Fast Sparse Deep Learning Inference on CPUscited by 13
- 2023Exploiting Sparsity in Pruned Neural Networks to Optimize Large Model Trainingcited by 5
- 2023BitGNN: Unleashing the Performance Potential of Binary Graph Neural Networks on GPUscited by 4
- 2021Accelerating SpMM Kernel with Cache-First Edge Sampling for Graph Neural Networkscited by 2
- 2023PopSparse: Accelerated block sparse matrix multiplication on IPUcited by 2
- 2024PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architecturescited by 2
- 2025On the Interaction of Compressibility and Adversarial Robustnesscited by 2
12 most cited of 18 All 18 (JSON)
- 2026Scalable Optimal Transport Algorithm for Network Alignment11 Jul 2026
- 2026HopFormer: Sparse Graph Transformers with Explicit Receptive Field Control2 Feb 2026
- 2025On the Interaction of Compressibility and Adversarial Robustness23 Jul 2025
- 2025PyG 2.0: Scalable Learning on Real World Graphs22 Jul 2025
- 2025Plexus: Taming Billion-edge Graphs with 3D Parallel Full-graph GNN Training7 May 2025
- 2025An Efficient Sparse Kernel Generator for O(3)-Equivariant Deep Networks23 Jan 2025
- 2024Optimization of GNN Training Through Half-precision2 Nov 2024
- 2024GeoT: Tensor Centric Library for Graph Neural Network via Efficient Segment Reduction on GPU3 Apr 2024
- 2024PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architectures26 Feb 2024
- 2023SUBP: Soft Uniform Block Pruning for 1xN Sparse CNNs Multithreading Acceleration10 Oct 2023
- 2023Accel-GCN: High-Performance GPU Accelerator Design for Graph Convolution Networks22 Aug 2023
- 2023BitGNN: Unleashing the Performance Potential of Binary Graph Neural Networks on GPUs4 May 2023
12 newest of 18 All 18 (JSON)