NVIDIA cuDSS (Preview): A high-performance CUDA Library for Direct Sparse Solvers

NVIDIA cuDSS (Preview) is a library of GPU-accelerated linear solvers with sparse matrices. It provides algorithms for solving linear systems of the following type:

A X = B

with a sparse matrix A, right-hand side B and unknown solution X (could be a matrix or a vector).

The cuDSS functionality allows flexibility in matrix properties and solver configuration, as well as execution parameters like CUDA streams.

Note: Since the library is released as a preview, API is subject to change in later releases.

Download: developer.nvidia.com/cudss-downloads

Provide Feedback: cuDSS-EXTERNAL-Group@nvidia.com

Examples: cuDSS Example 1, cuDSS Example 2

Key Features

  • Real/complex general/symmetric/positive-definite sparse matrices

  • Single and double precision datatype for values and int datatype for indices

  • Single and multiple right-hand sides

  • Multi-stage execution with three main phases: reordering & symbolic factorization, numerical factorization and solving

  • Different algorthms for reordering and factorization phases

  • Refactorization

  • Iterative refinement

  • Synchronous API


  • Supported configurations: single GPU

  • Supported SM Architectures: SM 7.0 and newer

  • Supported OSes: Linux, Windows

  • Supported CPU Architectures: x86_64