NVIDIA Developer Zone

cuSPARSE

The NVIDIA CUDA Sparse Matrix library (cuSPARSE) provides a collection of basic linear algebra subroutines used for sparse matrices that delivers up to 8x faster performance than the latest MKL. The cuSPARSE library is designed to be called from C or C++, and the latest release includes a sparse triangular solver.

Key Features

    
  • Level 1 routines for sparse vector x dense vector operations
  • Level 2 routines for sparse matrix x dense vector operations
  • Level 3 routines for sparse matrix x multiple dense vectors (tall matrix)
  • Conversion routines that allow conversion between different matrix formats, supporting dense, COO, CSR, and CSC sparse matrix formats
  • Sparse Triangular Solve
  • *New in CUDA 4.1* Tri-diagonal solver
  • *New in CUDA 4.1* Support for ELL/HYB format

Performance

cuSPARSE is >6x Faster Than Intel MKL


NVIDIA cuSPARSE performance on a standard battery of sparse matrix test cases

 

Up To 40x Faster Than Intel MKL with 6 CSR Vectors

 

cuSPARSE Tri-diagonal solver up to 14x Faster Than Intel MKL

Availability

The cuSPARSE library is freely available as part of the CUDA Toolkit at www.nvidia.com/getcuda.

You may also be interested in the CUSP library of C++ sparse matrix operations and graph algorithms, including sparse iterative solvers and several preconditioners.  CUSP is an ongoing NVIDIA Research project available as an open source on Google Code.

For more information on cuSPARSE and other CUDA math libraries: