GPU accelerated least-squares solutions with cusolverSpScsrlsqvqr

Dear all,

I have been looking for a GPU accelerated solver for least-squares solutions for overdetermined linear systems and thought that I had found it with

cusolverSpScsrlsqvqr(cusolverSpHandle_t handle,
                     int m,
                     int n,
                     int nnz,
                     const cusparseMatDescr_t descrA,
                     const float *csrValA,
                     const int *csrRowPtrA,
                     const int *csrColIndA,
                     const float *b,
                     float tol,
                     int *rankA,
                     float *x,
                     int *p,
                     float *min_norm);


For some reason, however, this function doesn’t seem to be implemented (or at least it is not declared in the cusolver header) for CUDA 7.5 (I checked both Windows and Linux versions). Instead, I can only find the host version cusolverSpScsrlsqvqrHost which, when executed, doesn’t seem to do a whole lot (if anything) on the GPU.

Does anyone perchance have an idea of what I might be missing? :)

Best Regards,

That’s correct, it says right in the documentation you linked:

Remark 2: only CPU (Host) path is provided.

Hi Bob,

thanks for your reply! Just to make sure, that I got it right: there doesn’t exist a GPU accelerated version. Correct?

Best regards,

For linear algebra you should look into the MAGMA library at

Least-squares problems are mentioned in chapter 4.5 of


It seems like cusolverSpScsrlsqvqr() gpu version is not available in CUDA 8 either. Is there a particular version of CUDA for which least-squares gpu solver is available?