@inproceedings{02cfd5c0485a41bf827d71dab6a4857d,
title = "Efficient primitives for standard tensor linear algebra",
abstract = "This paper presents the design and implementation of lowlevel library to compute general sums and products over multi-dimensional arrays (tensors). Using only 3 low-level functions, the API at once generalizes core BLAS1-3 as well as eliminates the need for most tensor transpositions. Despite their relatively low operation count, we show that these transposition steps can become performance limiting in typical use cases for BLAS on tensors. The execution of the present API achieves peak performance on the same order of magnitude as for vendor-optimized GEMM by utilizing a code generator to output CUDA source code for all computational kernels. The outline for these kernels is a multi-dimensional generalization of the MAGMA BLAS matrix multiplication on GPUs. Separate transpositions steps can be skipped because every kernel allows arbitrary multidimensional transpositions of the arguments. The library, including its methodology and programming techniques, are made available in SLACK. Future improvements to the library include a high-level interface to translate directly from a LATEX-like equation syntax to a data-parallel computation.",
keywords = "Blas, GPU, Tensor, Transposition",
author = "Rogers, {David M.}",
note = "Publisher Copyright: {\textcopyright} 2016 ACM.; Conference on Diversity, Big Data, and Science at Scale, XSEDE 2016 ; Conference date: 17-07-2016 Through 21-07-2016",
year = "2016",
month = jul,
day = "17",
doi = "10.1145/2949550.2949580",
language = "English",
series = "ACM International Conference Proceeding Series",
publisher = "Association for Computing Machinery",
booktitle = "Proceedings of XSEDE 2016",
}