Compiler Support for Sparse Tensor Computations in MLIR
arXiv:2202.04305 · doi:10.1145/3544559
Abstract
Sparse tensors arise in problems in science, engineering, machine learning, and data analytics. Programs that operate on such tensors can exploit sparsity to reduce storage requirements and computational time. Developing and maintaining sparse software by hand, however, is a complex and error-prone task. Therefore, we propose treating sparsity as a property of tensors, not a tedious implementation task, and letting a sparse compiler generate sparse code automatically from a sparsity-agnostic definition of the computation. This paper discusses integrating this idea into MLIR.
References in corpus (11)
- Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractions
- Format Abstraction for Sparse Tensor Algebra Compilers
- MLIR: A Compiler Infrastructure for the End of Moore's Law
- Graphs, Matrices, and the GraphBLAS: Seven Good Reasons
- Sympiler: Transforming Sparse Matrix Codes by Decoupling Symbolic Analysis
- ALTO: Adaptive Linearized Storage of Sparse Tensors
- Sparse Tensor Algebra as a Parallel Programming Model
- Automatic Generation of Efficient Sparse Tensor Format Conversion Routines
- GraphBLAST: A High-Performance Linear Algebra-based Graph Framework on the GPU
- TIRAMISU: A Polyhedral Compiler for Dense and Sparse Deep Learning
- COMET: A Domain-Specific Compilation of High-Performance Computational Chemistry