I’m wondering if there are CUDA code/library for sparse matrix solvers such as conjugate-gradient or multigrid available at all or if there are plan to support them in the future?

Thanks!

Nuttapong

I’m wondering if there are CUDA code/library for sparse matrix solvers such as conjugate-gradient or multigrid available at all or if there are plan to support them in the future?

Thanks!

Nuttapong

I was looking for the same thing but could`t find anything so far …

This talks about implementing conjugate gradient by using CUDA.

Implementing the conjugate gradient algorithm on multi-core systems

http://eprints.eemcs.utwente.nl/11441/01/F…per_soc2007.pdf

The following is a survey.

A Survey of General-Purpose Computation on Graphics Hardware

http://graphics.cs.ucdavis.edu/publication…_pdf?pub_id=844

But I still don’t know how they stored sparse matrices and perform matrix-vector multiplication efficiently. :(

Michael Garland appears to be an NVidia employee you could contact about Sparse Matrix support in CUDA.

I found the info on the following page:

http://courses.ece.uiuc.edu/ece498/al1/FinalProject.html

This is really a good website for learning CUDA. It also has ppts and mp3s. The ppts have more details than the programming guide. I like them.

I’ve played with the CNC:

http://alice.loria.fr/index.php/publicatio…erCruncher@2007

The code is available (out there somewhere).

I find the ideas great. The solver, on the other hand, doesn’t use the GPU terribly efficient (no coalescing, shared memory, etc…), so surely this could be sped up orders of magnitude… (I’m not saying that its easy, just possible :) ).

You may also try speedit.vratis.com

It contains CG and BiCGSTAB optimized for GPU. The lib can be easily plugged in into OpenFOAM if needed.

It contains CG and BiCGSTAB optimized for GPU. The lib can be easily plugged in into OpenFOAM if needed.