Scorch: A Library for Sparse Deep Learning
Not on the map. Why?
Abstract (arXiv)
The rapid growth in the size of deep learning models strains the capabilities of traditional dense computation paradigms. Leveraging sparse computation has become increasingly popular for training and deploying large-scale models, but existing deep learning frameworks lack extensive support for sparse operations. To bridge this gap, we introduce Scorch, a library that seamlessly integrates efficient sparse tensor computation into the PyTorch ecosystem, with an initial focus on inference workloads on CPUs. Scorch provides a flexible and intuitive interface for sparse tensors, supporting diverse sparse data structures. Scorch introduces a compiler stack that automates key optimizations, including automatic loop ordering, tiling, and format inference. Combined with a runtime that adapts its execution to both dense and sparse data, Scorch delivers substantial speedups over hand-written PyTorch Sparse (torch.sparse) operations without sacrificing usability. More importantly, Scorch enables efficient computation of complex sparse operations that lack hand-optimized PyTorch implementations. This flexibility is crucial for exploring novel sparse architectures. We demonstrate Scorch's ease of use and performance gains on diverse deep learning models across multiple domains. With only minimal code changes, Scorch achieves 1.05-5.78x speedups over PyTorch Sparse on end-to-end tasks. Scorch's seamless integration and performance gains make it a valuable addition to the PyTorch ecosystem. We believe Scorch will enable wider exploration of sparsity as a tool for scaling deep learning and inform the development of other sparse libraries.
Key facts. Cited by 1 paper in the map (data through 7 Oct 2026). Builds on 39 of its 67 references that are in the map. First posted on arXiv 27 May 2024.
Builds on
39 of 67 references.
References · 39
- 2017Attention Is All You Needcited by 59,932
- 2019PyTorch: An Imperative Style, High-Performance Deep Learning Librarycited by 20,160
- 2016Semi-Supervised Classification with Graph Convolutional Networkscited by 11,282
- 2017Inductive Representation Learning on Large Graphscited by 6,284
- 2014Deep Learning Face Attributes in the Wildcited by 3,679
- 2017Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layercited by 3,413
- 2020Longformer: The Long-Document Transformercited by 3,362
- 2021Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsitycited by 3,014
- 2019A Comprehensive Survey on Graph Neural Networkscited by 2,906
- 2019Fast Graph Representation Learning with PyTorch Geometriccited by 2,414
- 2015Character-level Convolutional Networks for Text Classificationcited by 2,293
- 2015Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Codingcited by 2,291
27 more
- 2018The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networkscited by 2,250
- 2020Open Graph Benchmark: Datasets for Machine Learning on Graphscited by 2,148
- 2020Big Bird: Transformers for Longer Sequencescited by 1,673
- 2020Reformer: The Efficient Transformercited by 1,658
- 2020GShard: Scaling Giant Models with Conditional Computation and Automatic Shardingcited by 1,601
- 2019Generating Long Sequences with Sparse Transformerscited by 1,523
- 2020What is the State of Neural Network Pruning?cited by 578
- 2016Learning Structured Sparsity in Deep Neural Networkscited by 538
- 2021Sparsity in Deep Learning: Pruning and growth for efficient inference and training in neural networkscited by 521
- 2017ThiNet: A Filter Level Pruning Method for Deep Neural Network Compressioncited by 438
- 2017Efficient Processing of Deep Neural Networks: A Tutorial and Surveycited by 427
- 2019Deep Learning Recommendation Model for Personalization and Recommendation Systemscited by 327
- 2017Scalable Training of Artificial Neural Networks with Adaptive Sparse Connectivity inspired by Network Sciencecited by 325
- 2022MegaBlocks: Efficient Sparse Training with Mixture-of-Expertscited by 204
- 2020Ansor: Generating High-Performance Tensor Programs for Deep Learningcited by 199
- 2019Parameter Efficient Training of Deep Convolutional Neural Networks by Dynamic Sparse Reparameterizationcited by 187
- 2020Sparse GPU Kernels for Deep Learningcited by 138
- 2016TensorLy: Tensor Learning in Pythoncited by 104
- 2018Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractionscited by 84
- 2018Glow: Graph Lowering Compiler Techniques for Neural Networkscited by 73
- 2018Tiramisu: A Polyhedral Compiler for Expressing Fast and Portable Codecited by 53
- 2022SparseTIR: Composable Abstractions for Sparse Compilation in Deep Learningcited by 47
- 2018Format Abstraction for Sparse Tensor Algebra Compilerscited by 16
- 2022Compiler Support for Sparse Tensor Computations in MLIRcited by 8
- 2015CSR5: An Efficient Storage Format for Cross-Platform Sparse Matrix-Vector Multiplicationcited by 6
- 2024Compilation of Modular and General Sparse Workspacescited by 4
- 2023Minimum Cost Loop Nests for Contraction of a Sparse Tensor with a Tensor Networkcited by 2
Built on by
Citing papers per year: 2025: 1.
1 paper.