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.
|Original language||English (US)|
|Title of host publication||Proceedings - 2015 IEEE 29th International Parallel and Distributed Processing Symposium, IPDPS 2015|
|Publisher||Institute of Electrical and Electronics Engineers Inc.|
|Number of pages||10|
|State||Published - Jul 17 2015|
|Event||29th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2015 - Hyderabad, India|
Duration: May 25 2015 → May 29 2015
|Name||Proceedings - 2015 IEEE 29th International Parallel and Distributed Processing Symposium, IPDPS 2015|
|Other||29th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2015|
|Period||5/25/15 → 5/29/15|
Bibliographical noteFunding Information:
This work was supported in part by NSF (IIS-0905220, OCI-1048018, CNS-1162405, IIS-1247632, IIP-1414153, IIS-1447788), Army Research Office (W911NF-14-1-0316), Intel Software and Services Group, and the Digital Technology Center at the University of Minnesota. Access to research and computing facilities was provided by the Digital Technology Center and the Minnesota Supercomputing Institute.
- Sparse tensors