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

  • Supports dense, COO, CSR, CSC, ELL/HYB and Blocked CSR sparse matrix formats
  • 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)
  • Routines for sparse matrix by sparse matrix addition and multiplication
  • Conversion routines that allow conversion between different matrix formats
  • Sparse Triangular Solve
  • Tri-diagonal solver
  • Incomplete factorization preconditioners ilu0 and ic0


CUDA 5 Math Library Performance Report Now Available

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


The cuSPARSE library is freely available as part of the CUDA Toolkit at

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: