skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Software for Sparse Tensor Decomposition on Emerging Computing Architectures

Journal Article · · SIAM Journal on Scientific Computing
DOI:https://doi.org/10.1137/18M1210691· OSTI ID:1542146
 [1]; ORCiD logo [2]
  1. Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)
  2. Sandia National Lab. (SNL-CA), Livermore, CA (United States)

In this paper, we develop software for decomposing sparse tensors that is portable to and performant on a variety of multicore, manycore, and GPU computing architectures. The result is a single code whose performance matches optimized architecture-specific implementations. The key to a portable approach is to determine multiple levels of parallelism that can be mapped in different ways to different architectures, and we explain how to do this for the matricized tensor times Khatri--Rao product (MTTKRP), which is the key kernel in canonical polyadic tensor decomposition. Our implementation leverages the Kokkos framework, which enables a single code to achieve high performance across multiple architectures that differ in how they approach fine-grained parallelism. We also introduce a new construct for portable thread-local arrays, which we call compile-time polymorphic arrays. Not only are the specifics of our approaches and implementation interesting for tuning tensor computations, but they also provide a roadmap for developing other portable high-performance codes. As a last step in optimizing performance, we modify the MTTKRP algorithm itself to do a permuted traversal of tensor nonzeros to reduce atomic-write contention. Lastly, we test the performance of our implementation on 16- and 68-core Intel CPUs and the K80 and P100 NVIDIA GPUs, showing that we are competitive with state-of-the-art architecture-specific codes while having the advantage of being able to run on a variety of architectures.

Research Organization:
Sandia National Lab. (SNL-NM), Albuquerque, NM (United States); Sandia National Lab. (SNL-CA), Livermore, CA (United States)
Sponsoring Organization:
USDOE National Nuclear Security Administration (NNSA)
Grant/Contract Number:
AC04-94AL85000
OSTI ID:
1542146
Report Number(s):
SAND-2019-7264J; 676825
Journal Information:
SIAM Journal on Scientific Computing, Vol. 41, Issue 3; ISSN 1064-8275
Publisher:
SIAMCopyright Statement
Country of Publication:
United States
Language:
English
Citation Metrics:
Cited by: 11 works
Citation information provided by
Web of Science

References (9)

Algorithm 862: MATLAB tensor classes for fast algorithm prototyping journal December 2006
Efficient MATLAB Computations with Sparse and Factored Tensors journal January 2008
Kokkos: Enabling manycore performance portability through polymorphic memory access patterns journal December 2014
Tensor-based anomaly detection: An interdisciplinary survey journal April 2016
Parallel Candecomp/Parafac Decomposition of Sparse Tensors Using Dimension Trees journal January 2018
Tensor Decompositions and Applications journal August 2009
Vc: A C++ library for explicit vectorization: VC: A C++ LIBRARY FOR EXPLICIT VECTORIZATION journal December 2011
Embedded Ensemble Propagation for Improving Performance, Portability, and Scalability of Uncertainty Quantification on Emerging Computational Architectures journal January 2017
A massively parallel tensor contraction framework for coupled-cluster computations journal December 2014

Cited By (1)

swTensor: accelerating tensor decomposition on Sunway architecture journal November 2019

Similar Records

ASC-ATDM Performance Portability Requirements for 2015-2019
Technical Report · Sun Mar 01 00:00:00 EST 2015 · OSTI ID:1542146

Automatic Differentiation of C++ Codes on Emerging Manycore Architectures with Sacado
Journal Article · Mon Dec 19 00:00:00 EST 2022 · ACM Transactions on Mathematical Software · OSTI ID:1542146

Manycore Performance-Portability: Kokkos Multidimensional Array Library
Journal Article · Sun Jan 01 00:00:00 EST 2012 · Scientific Programming · OSTI ID:1542146