CUSP is an open source C++ library of generic parallel algorithms for sparse linear algebra and graph computations on CUDA architecture GPUs. CUSP provides a flexible, high-level interface for manipulating sparse matrices and solving sparse linear systems.
GPU: Tesla C2050 with CUDA 4.0 CPU: Core i7 950, Trlinos/ML v5.0 and MKL v10.3
Source code example
The following example loads a matrix from disk, transparently converts the matrix to the highly-efficient HYB format, and transfers the matrix to the GPU device. The linear system A*x = b is them solved on the device using the Conjugate Gradient method. Additional code samples are available on the CUSP Google Code Project
// create an empty sparse matrix structure (HYB format)
// load a matrix stored in MatrixMarket format
// allocate storage for solution (x) and right hand side (b)
// solve the linear system A * x = b with the Conjugate Gradient method
cusp::krylov::cg(A, x, b);
CUSP is available under the Apache 2.0 open source license on Google Code.
If you are looking for a production-tested sparse matrix library with a C API that supports sparse matrix operations and building blocks for sparse iterative solvers, learn more about cuSPARSE.