Capstan: A Vector RDA for Sparsity
arXiv:2104.12760 · doi:10.1145/3466752.3480047
Abstract
This paper proposes Capstan: a scalable, parallel-patterns-based, reconfigurable dataflow accelerator (RDA) for sparse and dense tensor applications. Instead of designing for one application, we start with common sparse data formats, each of which supports multiple applications. Using a declarative programming model, Capstan supports application-independent sparse iteration and memory primitives that can be mapped to vectorized, high-performance hardware. We optimize random-access sparse memories with configurable out-of-order execution to increase SRAM random-access throughput from 32% to 80%. For a variety of sparse applications, Capstan with DDR4 memory is 18x faster than a multi-core CPU baseline, while Capstan with HBM2 memory is 16x faster than an Nvidia V100 GPU. For sparse applications that can be mapped to Plasticine, a recent dense RDA, Capstan is 7.6x to 365x faster and only 16% larger.
References in corpus (10)
- On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima
- Gunrock: A High-Performance Graph Processing Library on the GPU
- SpArch: Efficient Architecture for Sparse Matrix Multiplication
- EIE: Efficient Inference Engine on Compressed Deep Neural Network
- SCNN: An Accelerator for Compressed-sparse Convolutional Neural Networks
- Format Abstraction for Sparse Tensor Algebra Compilers
- Hardware Acceleration of Sparse and Irregular Tensor Computations of ML Models: A Survey and Insights
- SMASH: Co-designing Software Compression and Hardware-Accelerated Indexing for Efficient Sparse Matrix Operations
- PIUMA: Programmable Integrated Unified Memory Architecture
- Serving Recurrent Neural Networks Efficiently with a Spatial Accelerator