suitesparse : a suite of sparse matrix software

 


Click here to DOWNLOAD SuiteSparse from github.com

Now with GraphBLAS and Mongoose


  1. •SuiteSparse:  with the latest CUDA-accelerated CHOLMOD and SuiteSparseQR, and GraphBLAS (now with OpenMP parallelism, and MATLAB interface).

  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).  Alternatively, all prior releases have been archived at github: https://github.com/DrTimothyAldenDavis/SuiteSparse

  3. •Click here for more on GraphBLAS (including slides, videos, and papers)

  4. •Mongoose 2.0.4: multilevel graph partitioning, based on combinatoric and quadratic programming methods. Appears in SuiteSparse 5.5.0.  Click here for our recent submission to ACM TOMS.


SuiteSparse is a suite of sparse matrix algorithms, including:


  1. •GraphBLAS: graph algorithms in the language of linear algebra

  2. •Mongoose: graph partitioning

  3. •ssget: MATLAB and Java interface to the SuiteSparse Matrix Collection

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

  5. •CHOLMOD: supernodal Cholesky.  Appears as CHOL and x=A\b in MATLAB.  Now with CUDA acceleration, in collaboration with NVIDIA.

  6. •SPQR: multifrontal QR.  Appears as QR and x=A\b in MATLAB, with CUDA acceleration.

  7. •KLU and BTF:  sparse LU factorization, well-suited for circuit simulation. 

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

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

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

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

  12. •SSMULT and SFMULT: sparse matrix multiplication.  Appears as the built-in C=A*B operator in MATLAB.

  13. •... and many other packages. 



REFERENCES:


    To cite this software, please see my publications page.


ABOUT THE LOGO:


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.


Windows and CMake:  I do not yet have a build script for Visual Studio.  Only GraphBLAS and Mongoose use CMake.  Try Jose Luis Blanco’s implementation posted on github.

SUITESPARSE ON THE NVIDIA CUDA ZONE:

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

With support from NSF grants 1514406, 1115297, 0620286, 0324609, 0203270, 0119532, and earlier grants.