SPLATT: Efficient and Parallel Sparse Tensor-Matrix Multiplication. Multi-dimensional arrays, or tensors, are increasingly found in fields such as signal processing and recommender systems. Real-world tensors can be enormous in size and often very sparse. There is a need for efficient, high-performance tools capable of processing the massive sparse tensors of today and the future. This paper introduces SPLATT, a C library with shared-memory parallelism for three-mode tensors. SPLATT contains algorithmic improvements over competing state of the art tools for sparse tensor factorization. SPLATT has a fast, parallel method of multiplying a matricide tensor by a Khatri-Rao product, which is a key kernel in tensor factorization methods. SPLATT uses a novel data structure that exploits the sparsity patterns of tensors. This data structure has a small memory footprint similar to competing methods and allows for the computational improvements featured in our work. We also present a method of finding cache-friendly reordering and utilizing them with a novel form of cache tiling. To our knowledge, this is the first work to investigate reordering and cache tiling in this context. SPLATT averages almost 30x speedup compared to our baseline when using 16 threads and reaches over 80x speedup on NELL-2.
Keywords for this software
References in zbMATH (referenced in 9 articles )
Showing results 1 to 9 of 9.
- Al Daas, Hussam; Ballard, Grey; Benner, Peter: Parallel algorithms for tensor train arithmetic (2022)
- Eswar, Srinivas; Hayashi, Koby; Ballard, Grey; Kannan, Ramakrishnan; Matheson, Michael A.; Park, Haesun: PLANC. Parallel low-rank approximation with nonnegativity constraints (2021)
- Kolda, Tamara G.; Hong, David: Stochastic gradients for large-scale tensor decomposition (2020)
- Kaya, Oguz; Robert, Yves: Computing dense tensor decompositions with optimal dimension trees (2019)
- Phipps, Eric T.; Kolda, Tamara G.: Software for sparse tensor decomposition on emerging computing architectures (2019)
- Vervliet, Nico; Debals, Otto; De Lathauwer, Lieven: Exploiting efficient representations in large-scale tensor decompositions (2019)
- Battaglino, Casey; Ballard, Grey; Kolda, Tamara G.: A practical randomized CP tensor decomposition (2018)
- Jaffe, Ariel; Weiss, Roi; Nadler, Boaz: Newton correction methods for computing real eigenpairs of symmetric tensors (2018)
- Kaya, Oguz; Uçar, Bora: Parallel Candecomp/Parafac decomposition of sparse tensors using dimension trees (2018)