  The matricized-tensor times Khatri-Rao product (MTTKRP) is the computational
bottleneck for algorithms computing CP decompositions of tensors. In this
paper, we develop shared-memory parallel algorithms for MTTKRP involving dense
tensors. The algorithms cast nearly all of the computation as matrix operations
in order to use optimized BLAS subroutines, and they avoid reordering tensor
entries in memory. We benchmark sequential and parallel performance of our
implementations, demonstrating high sequential performance and efficient
parallel scaling. We use our parallel implementation to compute a CP
decomposition of a neuroimaging data set and achieve a speedup of up to
$7.4\times$ over existing parallel software.
