Tensor Contractions with Extended BLAS Kernels on CPU and GPU
Yang Shi, U. N. Niranjan, Animashree Anandkumar, Cris Cecka

TL;DR
This paper introduces a new BLAS-like primitive called STRIDEDBATCHEDGEMM that efficiently performs tensor contractions on CPU and GPU, significantly improving computational speed for tensor operations like Tucker decomposition.
Contribution
The paper proposes and evaluates a novel primitive for tensor contractions, enabling more efficient computations without explicit copying or transposing, outperforming existing methods.
Findings
Achieves up to 100x speedup in Tucker decomposition
Demonstrates efficiency of the new primitive on CPU and GPU
Outperforms state-of-the-art tensor contraction libraries
Abstract
Tensor contractions constitute a key computational ingredient of numerical multi-linear algebra. However, as the order and dimension of tensors grow, the time and space complexities of tensor-based computations grow quickly. Existing approaches for tensor contractions typically involves explicit copy and transpose operations. In this paper, we propose and evaluate a new BLAS-like primitive STRIDEDBATCHEDGEMM that is capable of performing a wide range of tensor contractions on CPU and GPU efficiently. Through systematic benchmarking, we demonstrate the advantages of our approach over conventional approaches. Concretely, we implement the Tucker decomposition and show that using our kernels yields 100x speedup as compared to the implementation using existing state-of-the-art libraries.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
