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 ?

[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.

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.

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.

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 ?

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 ?

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.

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.

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.

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

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.

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.

[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

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