  Tensor computations are increasingly prevalent numerical techniques in data
science, but pose unique challenges for high-performance implementation. We
provide novel algorithms and systems infrastructure which enable efficient
parallel implementation of algorithms for tensor completion with generalized
loss functions. Specifically, we consider alternating minimization, coordinate
minimization, and a quasi-Newton (generalized Gauss-Newton) method. By
extending the Cyclops library, we implement all of these methods in high-level
Python syntax. To make possible tensor completion for very sparse tensors, we
introduce new multi-tensor primitives, for which we provide specialized
parallel implementations. We compare these routines to pairwise contraction of
sparse tensors by reduction to hypersparse matrix formats, and find that the
multi-tensor routines are more efficient in theoretical cost and execution time
in experiments. We provide microbenchmarking results on the Stampede2
supercomputer to demonstrate the efficiency of the new primitives and Cyclops
functionality. We then study the performance of the tensor completion methods
for a synthetic tensor with 10 billion nonzeros and the Netflix dataset,
considering both least squares and Poisson loss functions.
