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 m*n (m>n) Matrix,I need to do At*A. Anyone know good code or library to solve it in CUDA or GPGPU ?
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 m*n (m>n) Matrix,I need to do At*A. Anyone know good code or library to solve it in CUDA or GPGPU ?

#1
Posted 04/26/2009 05:19 AM   
[quote name='lion88' post='534539' date='Apr 26 2009, 07:19 AM']There are several works on sparse matrix-vector multiplication in CUDA,but it seems there is not good work on solving Large Sparse Linear system or Large sparse Matrix Multiplication in CUDA(GPU)?
If I use conjugate gradient solve method to solve large sparse linear system just with sparse matrix-vector multiplication,then first how to do precondition for the sparse matrix in CUDA?[/quote]
Hi!
I'm not very familiar with [url="http://developer.download.nvidia.com/compute/cuda/2_0/docs/CUBLAS_Library_2.0.pdf"]CUBLAS, the BLAS for CUDA[/url]. But perhaps it contains the functions you need.
[quote name='lion88' post='534539' date='Apr 26 2009, 07:19 AM']There are several works on sparse matrix-vector multiplication in CUDA,but it seems there is not good work on solving Large Sparse Linear system or Large sparse Matrix Multiplication in CUDA(GPU)?

If I use conjugate gradient solve method to solve large sparse linear system just with sparse matrix-vector multiplication,then first how to do precondition for the sparse matrix in CUDA?

Hi!

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

#2
Posted 04/26/2009 05:48 AM   
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.
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.

GPU.NET: Write your GPU code in 100% pure C#.

Learn more at tidepowerd.com, and download a free 30-day trial of GPU.NET. Follow @tidepowerd for release updates.



GPU.NET example projects

#3
Posted 04/26/2009 04:27 PM   
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 m*n matrix with m>n,the major problem is to calculate the At*A before use their matrix-vector multiplication.
I havn't found good work on large sparse matrix-matrix multiplication.
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 m*n matrix with m>n,the major problem is to calculate the At*A before use their matrix-vector multiplication.

I havn't found good work on large sparse matrix-matrix multiplication.

#4
Posted 04/26/2009 04:32 PM   
GMRES solver (only works for a square non singular matrix):

[url="http://code.google.com/p/cudaztec/"]Cudaztec[/url]

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

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



Cudaztec



not necessarily a 'good work', but with memory bandwidth limiting, I'm not sure how far

one can go with linear solvers and CUDA....



-dn

#5
Posted 04/28/2009 07:41 PM   
Scroll To Top