Is there library or code to solve Large Sparse Linear system or do Large sparse Matrix Multiplicatio

There are several works on sparse matrix-vector multiplication in CUDA,but it seems there is no good work on solving Large Sparse Linear system or Large sparse Matrix Multiplication in CUDA(GPU)?
I want to solve larger linear system Ax = b where A is mn (m>n) Matrix,I need to do AtA. Anyone know good code or library to solve it in CUDA or GPGPU ?


I’m not very familiar with CUBLAS, the BLAS for CUDA. But perhaps it contains the functions you need.

There’s not a freely available sparse matrix solver for CUDA (that I know of), but there is a semi-offical nVidia sparse matrix multiplication library that was posted in the general GPU computing forum. Search that forum for posts by user ‘nbell’ and you’ll find it.

I think that it will be integrated into the next release of CUBLAS coming within the next few months, but for now it should do what you need it to.

nbell’s code seem do matrix-vector mutiplication that can be used to solve Ax = b,but A should be a symmetric and positive-definite. CNC is same as nbell’s code.
So they are all not suitable for general large sparse linear system where A is a mn matrix with m>n,the major problem is to calculate the AtA before use their matrix-vector multiplication.
I havn’t found good work on large sparse matrix-matrix multiplication.

GMRES solver (only works for a square non singular matrix):


not necessarily a ‘good work’, but with memory bandwidth limiting, I’m not sure how far
one can go with linear solvers and CUDA…