-
Notifications
You must be signed in to change notification settings - Fork 16
SVD in CUDA
Orange Owl edited this page May 11, 2017
·
11 revisions
The calculation of the Singular Value Decomposition (SVD) of a matrix is at the basis of many computations and approaches in applied science. One example is the regularized solution of linear systems of equations. Another is Principal Component Analysis.
Many times, the applications requiring the SVD calculation deal with large matrices and/or request the SVD computation in an iterative process. Fortunately, the SVD can be quickly computed in CUDA using the routines provided in the cuSOLVER
library. Below, we provide few representative examples relevant in common situations.
Before proceeding further, two points to remember:
-
gesvd
routines assumeNrows >= Ncols
. Of course, the caseNrows < Ncols
can be dealt with by matrix transposition, for example bycublas<t>geam()
; - column major ordering is assumed.