A fast and versatile compiler-based library for sparse linear and tensor algebra. TACO can be used to implement sparse linear and tensor algebra applications in a wide range of domains. TACO supports a wide range of sparse (and dense) linear/tensor algebra computations, from simpler ones like sparse matrix-vector multiplication to more complex ones like MTTKRP on higher-order sparse tensors. Tensors can be stored in a variety of storage formats, including commonly-used sparse matrix and tensor formats like CSR and COO as well as specialized formats like CSF. Under the hood, TACO employs a novel compiler-based technique to generate kernels that are optimized for the computations you want to perform. This lets TACO achieve performance that exceeds the MATLAB Tensor Toolbox by up to several orders of magnitude and that is competitive with other high-performance sparse linear/tensor algebra libraries like Eigen, Intel oneMKL, and SPLATT.
Features
- TACO lets you perform complex sparse linear and tensor algebra computations
- TACO provides C++ and Python APIs that can be used in similar ways as other linear algebra libraries
- Easy to build your own library of custom linear/tensor algebra kernels
- TACO employs a novel compiler-based technique to generate kernels that are optimized for the computations you want to perform
- TACO supports a wide range of sparse (and dense) linear/tensor algebra computations
- Achieve performance that exceeds the MATLAB Tensor Toolbox by up to several orders of magnitude