suitesparse : a suite of sparse matrix software

 

SuiteSparse is a suite of sparse matrix algorithms, including:


  1. UMFPACK: multifrontal LU factorization.  Appears as LU and x=A\b in MATLAB.

  2. CHOLMOD: supernodal Cholesky.  Appears as CHOL and x=A\b in MATLAB.  Used in Google Ceres.  Now with CUDA acceleration, in collaboration with NVIDIA.

  3. SPQR: multifrontal QR.  Appears as QR and x=A\b in MATLAB.  CUDA acceleration just released (October 10, 2014, SuiteSparse 4.4.0), and submitted to ACM Trans. Math. Software

  4. KLU and BTF:  sparse LU factorization, well-suited for circuit simulation.  Appears in Xyce by Sandia, and many commercial circuit simulation packages.

  5. Ordering methods (AMD, CAMD, COLAMD, and CCOLAMD).  AMD and COLAMD appear in MATLAB.

  6. CSparse and CXSparse: a concise sparse Cholesky factorization package for my SIAM book.

  7. UFget: a MATLAB interface for the UF Sparse Matrix Collection

  8. spqr_rank: a MATLAB package for reliable sparse rank detection, null set bases, pseudoinverse solutions, and basic solutions.

  9. Factorize: an object-oriented solver for MATLAB (a reusable backslash).

  10. SSMULT and SFMULT: sparse matrix multiplication.  Appears as C=A*B in MATLAB.

  11. ... and many other packages.


DOWNLOAD:


  1. SuiteSparse v4.5.3 : with the latest CUDA-accelerated CHOLMOD and SuiteSparseQR. Now includes METIS 5.1.0, and builds shared libraries on Linux and the Mac. Works with CUDA 7.5 as well.

  2. Click here for an archive of all SuiteSparse versions, and for SuiteSparse 4.6.0 BETA (with a multi-GPU CHOLMOD, presented at NVIDIA GTC16, April 5, 2016).


REFERENCES:


    To cite this software, please see my publications page.


ABOUT THE LOGO:


  1. The SuiteSparse logo at the top of this page was created via a mathematical algorithm that translates an entire piece of music into a single piece of artwork.  The algorithm is written in MATLAB, and relies on Fourier transforms, sparse matrices, and force-directed graph visualization.  Click here for more information on how I create this art, and here for the full artwork and music behind the SuiteSparse logo.


Bug reports:


  1. SuiteSparse has been tested against CUDA 6.5, not 7.0.  There is one problem with C++-style comments in a CUDA include file in 7.0.  As a work-around, try removing them from the /usr/local/cuda/cuComplex.h file.


  2. If you do find a bug, drop me an email at davis@tamu.edu, and I’ll take a look.


Windows and CMake:


    I do not yet have a build script for Visual Studio, or for CMake.  Try Jose Luis Blanco’s implementation posted on github.

SUITESPARSE ON THE NVIDIA CUDA ZONE:

v4.5.3: Sparse QR and Cholesky on the GPU

NVIDIA GPU Technology Conference, March 2015:  Sparse QR and sparse Cholesky on the GPU (click here for presentations)http://registration.gputechconf.com/quicklink/8xR3Z7B