Title
Improving numerical accuracy for non-negative matrix multiplication on GPUs using recursive algorithms
Abstract
Scientific computing is only bound by the limits of Moore's Law and the scalability of high performance mathematical library implementations. Most mathematical libraries however tend to focus only on general inputs, limiting their potential performance and scalability by not tailoring their implementation to specific inputs, such as non-negative inputs. By removing this limitation it is possible to improve the performance and accuracy of a range of problems. In this paper we explore the limitations of hardware to improve accuracy of non-negative matrix multiply by specifically comparing implementations on the GPU and CPU and propose algorithmic solutions to improve accuracy. Next, we demonstrate a matrix multiply implementation that takes advantage of asymptotically fast matrix multiply algorithms, which have been shown to scale better than O(N3) matrix multiply implementations, and improve accuracy by up to a whole digit while increasing performance by up to 27% for matrices where the input is positive. Finally, we propose to extend the BLAS level 3 specification to non-negative matrices to allow easy integration of our solution and allow other library authors to implement their own solutions as part of an existing standard.
Year
DOI
Venue
2013
10.1145/2464996.2465010
I4CS
Keywords
Field
DocType
non-negative matrix multiplication,recursive algorithm,mathematical library,algorithmic solution,mathematical library implementation,easy integration,blas level,library author,non-negative matrix,potential performance,improving numerical accuracy,non-negative input,high performance,accuracy,blas,gpgpu
Computer science,Matrix (mathematics),CUDA,Parallel computing,Matrix chain multiplication,Algorithm,Implementation,General-purpose computing on graphics processing units,Matrix multiplication,Recursion,Scalability
Conference
Citations 
PageRank 
References 
2
0.37
11
Authors
5
Name
Order
Citations
PageRank
Matthew Badin161.75
Paolo D'Alberto213611.24
Lubomir Bic3332125.18
Michael Dillencourt4545.47
Alexandru Nicolau52265307.74