Compiler Support for Sparse Tensor Convolutions
summary
Compiler extends sparse tensor algebra compilation to handle affine subscripts by rewriting compound indices into loop-driven subsection iterators and five iteration primitives, making kernel time cost bounded by stored elements rather than tensor shape. Implementation is upstream in the MLIR sparse compiler, generates parallel code for loops with enough density, and yields up to 19.5x speedup at 99.9% sparsity with a performance crossover versus dense at about 80% sparsity.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 0:42Sparse tensor convolutions matter
- 2:08Sparse convolution challenges
- 3:57Taco UCF limitations
- 4:39Iterating non-empty subsections
- 5:44Performance with ml sparse
- 6:49Iterator model 1D
- 9:38Implementation on vectors
- 10:21Higher-dimensional convolutions
- 11:27Loop ordering impact
- 12:31Composing operations
- 13:53Generated code structure
- 14:15Conclusions and contributions
- 15:00Q&A Performance vs Taco
- 16:45Q&A Parallelism
- 18:09Q&A Scheduling optimizations
related talks
20mVectorizing Sparse Coiteration for Two-finger Loop Structure (Extended Abstract)
32mCompilation of Dynamic Sparse Tensor Algebra
20mCompiling Structured Tensor Algebra
28mFunctional Sparse Tensor Compilation
15mCompilation of Sparse Array Programming Models
15mCompiling and Compressing Structured Tensors
17mA Sparse Iteration Space Transformation Framework for Sparse Tensor Algebra
25mFormat Abstraction for Sparse Tensor Algebra Compilers
