Tensor-matrix products with a compressed sparse tensor

S Smith, G Karypis - Proceedings of the 5th Workshop on Irregular …, 2015 - dl.acm.org
S Smith, G Karypis
Proceedings of the 5th Workshop on Irregular Applications: Architectures and …, 2015dl.acm.org
The Canonical Polyadic Decomposition (CPD) of tensors is a powerful tool for analyzing
multi-way data and is used extensively to analyze very large and extremely sparse datasets.
The bottleneck of computing the CPD is multiplying a sparse tensor by several dense
matrices. Algorithms for tensor-matrix products fall into two classes. The first class saves
floating point operations by storing a compressed tensor for each dimension of the data.
These methods are fast but suffer high memory costs. The second class uses a single …
The Canonical Polyadic Decomposition (CPD) of tensors is a powerful tool for analyzing multi-way data and is used extensively to analyze very large and extremely sparse datasets. The bottleneck of computing the CPD is multiplying a sparse tensor by several dense matrices. Algorithms for tensor-matrix products fall into two classes. The first class saves floating point operations by storing a compressed tensor for each dimension of the data. These methods are fast but suffer high memory costs. The second class uses a single uncompressed tensor at the cost of additional floating point operations. In this work, we bridge the gap between the two approaches and introduce the compressed sparse fiber (CSF) a data structure for sparse tensors along with a novel parallel algorithm for tensor-matrix multiplication. CSF offers similar operation reductions as existing compressed methods while using only a single tensor structure. We validate our contributions with experiments comparing against state-of-the-art methods on a diverse set of datasets. Our work uses 58% less memory than the state-of-the-art while achieving 81% of the parallel performance on 16 threads.
ACM Digital Library