77[ ![ root-cmakelists-msvc] ( https://github.com/DrTimothyAldenDavis/SuiteSparse/actions/workflows/root-cmakelists-msvc.yaml/badge.svg )] ( https://github.com/DrTimothyAldenDavis/SuiteSparse/actions/workflows/root-cmakelists-msvc.yaml )
88
99-----------------------------------------------------------------------------
10- SuiteSparse: A Suite of Sparse matrix packages at http://suitesparse.com
10+ SuiteSparse: A Suite of Sparse matrix packages at http://suitesparse.com (ParU subset)
1111-----------------------------------------------------------------------------
1212
1313Nov 1, 2025, SuiteSparse VERSION 7.12.0
1414
1515SuiteSparse is a set of sparse-matrix-related packages written or co-authored
1616by Tim Davis, available at https://github.com/DrTimothyAldenDavis/SuiteSparse .
1717
18+ This meta-package is a subset of SuiteSparse 7.12.0, including ParU and all its
19+ dependencies (` SuiteSparse_config ` , AMD, CAMD, COLAMD, CCOLAMD, UMFPACK, and
20+ CHOLMOD).
21+
1822Primary author of SuiteSparse (codes and algorithms, excl. METIS): Tim Davis
1923
20- Code co-authors, in alphabetical order (not including METIS or LAGraph) :
24+ Code co-authors, in alphabetical order:
2125 Patrick Amestoy, Mohsen Aznaveh, David Bateman, Jinhao Chen, Yanqing Chen,
2226 Iain Duff, Joe Eaton, Les Foster, William Hager, Raye Kimmerer, Scott
2327 Kolodziej, Chris Lourenco, Stefan Larimore, Lorena Mejia Domenzain, Erick
2428 Moreno-Centeno, Markus Mützel, Corey Nolet, Ekanathan Palamadai,
2529 Sivasankaran Rajamanickam, Sanjay Ranka, Wissam Sid-Lakhdar, and
2630 Nuri Yeralan.
2731
28- LAGraph has been developed by the highest number of developers of any of
29- the packages in SuiteSparse and deserves its own list. The list also
30- appears in LAGraph/Contibutors.txt:
31-
32- Janos B. Antal Budapest University of Technology and Economics, Hungary
33- Mohsen Aznaveh Texas A&M University
34- David A. Bader New Jersey Institute of Technology
35- Georgiy Belyanin St. Petersburg State University
36- Aydin Buluc Lawrence Berkeley National Lab
37- Jinhao Chen Texas A&M University
38- Tim Davis Texas A&M University
39- Florentin Dorre Technische Univeritat Dresden, Neo4j
40- Marton Elekes Budapest University of Technology and Economics, Hungary
41- Alexandra Goff Texas A&M University
42- Gabriel Gomez Texas A&M University
43- Semyon Grigoriev St. Petersburg State University
44- Balint Hegyi Budapest University of Technology and Economics, Hungary
45- Tanner Hoke Texas A&M University
46- James Kitchen Anaconda
47- Scott Kolodziej Texas A&M University
48- Ilhom Kombaev St. Petersburg State University
49- Pranav Konduri Texas A&M University
50- Christina Koutsou Aristotle University of Thessaloniki
51- Roi Lipman Redis Labs
52- Tze Meng Low Carnegie Mellon University
53- Vidith Madhu Texas A&M University
54- Tim Mattson Intel
55- Scott McMillan Carnegie Mellon University
56- Markus Muetzel
57- Hemanth Mukesh Texas A&M University
58- Olumayowa Olowomeye Texas A&M University
59- Casey Pei Texas A&M University
60- Michel Pelletier Graphegon, OneSparse
61- Darin Peries Texas A&M University
62- Cameron Quilici Texas A&M University
63- Aurko Routh Texas A&M University
64- Gabor Szarnyas CWI Amsterdam, The Netherlands
65- Erik Welch Anaconda, then NVIDIA
66- Carl Yang University of California at Davis, Waymo
67- Yongzhe Zhang SOKENDAI, Japan
68-
6932METIS is authored by George Karypis.
7033
7134Additional algorithm designers: Esmond Ng and John Gilbert.
@@ -146,10 +109,6 @@ Packages in SuiteSparse, and files in this directory:
146109 open-source license provided by George Karypis. SuiteSparse cannot use an
147110 unmodified copy of METIS.
148111
149- * ` CITATION.bib `
150-
151- citations for SuiteSparse packages, in bibtex format.
152-
153112* ` CMakeLists.txt `
154113
155114 optional, to compile all of SuiteSparse. See below.
@@ -277,22 +236,18 @@ Packages in SuiteSparse, and files in this directory:
277236
278237Refer to each package for license, copyright, and author information. All
279238codes are authored or co-authored by Timothy A. Davis (email: davis@tamu.edu ),
280- except for METIS (by George Karypis), ` GraphBLAS/cpu_features ` (by Google),
281- GraphBLAS/lz4, zstd, and xxHash (by Yann Collet, now at Facebook), and
282- GraphBLAS/CUDA/jitify.hpp (by NVIDIA). Parts of GraphBLAS/CUDA are
283- Copyright (c) by NVIDIA. Please refer to each of these licenses.
239+ except for METIS (by George Karypis).
284240
285241-----------------------------------------------------------------------------
286242For distro maintainers (Linux, homebrew, spack, R, Octave, Trilinos, ...):
287243-----------------------------------------------------------------------------
288244
289245Thanks for packaging SuiteSparse! Here are some suggestions:
290246
291- * CUDA acceleration: CHOLMOD and SPQR can benefit from their CUDA kernels. If
247+ * CUDA acceleration: CHOLMOD can benefit from its CUDA kernels. If
292248 you do not have CUDA or do not want to include it in your distro, this
293- version of SuiteSparse skips the building of the ` CHOLMOD_CUDA ` and ` SPQR_CUDA `
294- libraries, and does not link against the ` GPUQREngine ` and
295- ` SuiteSparse_GPURuntime ` libraries.
249+ version of SuiteSparse skips the building of the ` CHOLMOD_CUDA `
250+ libraries.
296251
297252-----------------------------------------------------------------------------
298253How to cite the SuiteSparse meta-package and its component packages:
@@ -405,7 +360,7 @@ To select your BLAS/LAPACK, see the instructions in SuiteSparseBLAS.cmake in
40536064-bit integers (such as the Intel MKL ilp64 BLAS), it configures
406361` SuiteSparse_config.h ` with the ` SUITESPARSE_BLAS_INT ` defined as ` int64_t ` .
407362Otherwise, if a 32-bit BLAS is found, this type is defined as ` int32_t ` . If
408- later on, UMFPACK, CHOLMOD, or SPQR are compiled and linked with a BLAS that
363+ later on, UMFPACK or CHOLMOD are compiled and linked with a BLAS that
409364has a different integer size, you must override the definition with ` -DBLAS64 `
410365(to assert the use of 64-bit integers in the BLAS) or ` -DBLAS32 ` , (to assert
411366the use of 32-bit integers in the BLAS).
@@ -473,10 +428,7 @@ on Windows in the command window, run:
473428```
474429
475430Be sure to first install all required libraries: BLAS and LAPACK for UMFPACK,
476- CHOLMOD, and SPQR, and GMP and MPFR for SPEX. Be sure to use the latest
477- libraries; SPEX requires MPFR 4.0.2 and GMP 6.1.2 (these version numbers
478- do NOT correspond to the X.Y.Z suffix of libgmp.so.X.Y.Z and libmpfr.so.X.Y.Z;
479- see the SPEX user guide for details).
431+ CHOLMOD, and ParU. Be sure to use the latest libraries.
480432
481433To compile the libraries and install them only in SuiteSparse/lib (not
482434/usr/local/lib), do this instead in the top-level of SuiteSparse:
@@ -533,44 +485,6 @@ packages in SuiteSparse:
533485 * `CMAKE_INSTALL_PREFIX/lib/pkgconfig/PACKAGE.pc`: `.pc` scripts for
534486 a specific package pkgconfig
535487
536- -----------------------------------------------------------------------------
537- QUICK START FOR MATLAB USERS (Linux or Mac):
538- -----------------------------------------------------------------------------
539-
540- Suppose you place SuiteSparse in the ` /home/me/SuiteSparse ` folder.
541-
542- Add the ` SuiteSparse/lib ` folder to your run-time library path. On Linux, add
543- this to your ` ~/.bashrc ` script, assuming ` /home/me/SuiteSparse ` is the
544- location of your copy of SuiteSparse:
545- ```
546- LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/me/SuiteSparse/lib
547- export LD_LIBRARY_PATH
548- ```
549-
550- For the Mac, use this instead, in your ` ~/.zshrc ` script, assuming you place
551- SuiteSparse in ` /Users/me/SuiteSparse ` :
552- ```
553- DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/Users/me/SuiteSparse/lib
554- export DYLD_LIBRARY_PATH
555- ```
556-
557- Compile all of SuiteSparse with ` make local ` .
558-
559- Next, compile the GraphBLAS MATLAB library. In the system shell while in the
560- SuiteSparse folder, type ` make gbmatlab ` if you want to install it system-wide
561- with ` make install ` , or ` make gblocal ` if you want to use the library in
562- your own SuiteSparse/lib.
563-
564- Then in the MATLAB Command Window, cd to the SuiteSparse directory and type
565- ` SuiteSparse_install ` . All packages will be compiled, and several demos will be
566- run. To run a (long!) exhaustive test, do ` SuiteSparse_test ` .
567-
568- Save your MATLAB path for future sessions with the MATLAB pathtool or savepath
569- commands. If those methods fail because you don't have system-wide permission,
570- add the new paths to your startup.m file, normally in
571- Documents/MATLAB/startup.m. You can also use the ` SuiteSparse_paths ` m-file to
572- set all your paths at the start of each MATLAB session.
573-
574488-----------------------------------------------------------------------------
575489Compilation options
576490-----------------------------------------------------------------------------
@@ -626,11 +540,6 @@ build type). The static libraries will not be built (since
626540 Default: ` ON ` . Both ` SUITESPARSE_USE_CUDA ` and ` CHOLMOD_USE_CUDA ` must be
627541 enabled to use CUDA in CHOLMOD.
628542
629- * ` SPQR_USE_CUDA ` :
630-
631- Default: ` ON ` . Both ` SUITESPARSE_USE_CUDA ` and ` SPQR_USE_CUDA ` must be
632- enabled to use CUDA in SPQR.
633-
634543* ` CMAKE_INSTALL_PREFIX ` :
635544
636545 Defines the install location (default on Linux is ` /usr/local ` ). For example,
@@ -703,19 +612,16 @@ build type). The static libraries will not be built (since
703612
704613 If ` ON ` , OpenMP is used by default if it is available. Default: ` ON ` .
705614
706- GraphBLAS, LAGraph, and ParU will be vastly slower if OpenMP is not used.
615+ ParU will be vastly slower if OpenMP is not used.
707616 CHOLMOD will be somewhat slower without OpenMP (as long as it still has a
708- parallel BLAS/LAPACK). Three packages (UMFPACK, CHOLMOD, and SPQR ) rely
617+ parallel BLAS/LAPACK). Three packages (UMFPACK, CHOLMOD, and ParU ) rely
709618 heavily on parallel BLAS/LAPACK libraries and those libraries may use OpenMP
710619 internally. If you wish to disable OpenMP in an entire application, select a
711620 single-threaded BLAS/LAPACK, or a parallel BLAS/LAPACK that does not use
712621 OpenMP (such as the Apple Accelerate Framework). Using a single-threaded
713- BLAS/LAPACK library will cause UMFPACK, CHOLMOD, and SPQR to be vastly
622+ BLAS/LAPACK library will cause UMFPACK, CHOLMOD, and ParU to be vastly
714623 slower.
715624
716- WARNING: GraphBLAS may not be thread-safe if built without OpenMP or pthreads
717- (see the GraphBLAS User Guide for details).
718-
719625* ` SUITESPARSE_CONFIG_USE_OPENMP ` :
720626
721627 If ` ON ` , ` SuiteSparse_config ` uses OpenMP if it is available.
@@ -728,35 +634,15 @@ build type). The static libraries will not be built (since
728634 If ` ON ` , OpenMP is used in CHOLMOD if it is available.
729635 Default: ` SUITESPARSE_USE_OPENMP ` .
730636
731- * ` GRAPHBLAS_USE_OPENMP ` :
732-
733- If ` ON ` , OpenMP is used in GraphBLAS if it is available.
734- Default: ` SUITESPARSE_USE_OPENMP ` .
735-
736- * ` LAGRAPH_USE_OPENMP ` :
737-
738- If ` ON ` , OpenMP is used in LAGraph if it is available.
739- Default: ` SUITESPARSE_USE_OPENMP ` .
740-
741637* ` PARU_USE_OPENMP ` :
742638
743639 If ` ON ` , OpenMP is used in ParU if it is available.
744640 Default: ` SUITESPARSE_USE_OPENMP ` .
745641
746- * ` SPEX_USE_OPENMP ` :
747-
748- If ` ON ` , OpenMP is used in SPEX if it is available.
749- Default: ` SUITESPARSE_USE_OPENMP ` .
750-
751642* ` SUITESPARSE_DEMOS ` :
752643
753644 If ` ON ` , build the demo programs for each package. Default: ` OFF ` .
754645
755- * ` SUITESPARSE_USE_SYSTEM_BTF ` :
756-
757- If ` ON ` , use BTF libraries installed on the build system. If ` OFF ` ,
758- automatically build BTF as dependency if needed. Default: ` OFF ` .
759-
760646* ` SUITESPARSE_USE_SYSTEM_CHOLMOD ` :
761647
762648 If ` ON ` , use CHOLMOD libraries installed on the build system. If ` OFF ` ,
@@ -782,11 +668,6 @@ build type). The static libraries will not be built (since
782668 If ` ON ` , use CCOLAMD libraries installed on the build system. If ` OFF ` ,
783669 automatically build CCOLAMD as dependency if needed. Default: ` OFF ` .
784670
785- * ` SUITESPARSE_USE_SYSTEM_GRAPHBLAS ` :
786-
787- If ` ON ` , use GraphBLAS libraries installed on the build system. If ` OFF ` ,
788- automatically build GraphBLAS as dependency if needed. Default: ` OFF ` .
789-
790671* ` SUITESPARSE_USE_SYSTEM_SUITESPARSE_CONFIG ` :
791672
792673 If ` ON ` , use ` SuiteSparse_config ` libraries installed on the build system. If
@@ -967,8 +848,6 @@ SuiteSparse build system and how it works with various Linux / Python distros
967848and other package managers. If you are a maintainer of a SuiteSparse packaging
968849for a Linux distro, conda-forge, R, spack, brew, vcpkg, etc, please feel free
969850to contact me if there's anything I can do to make your life easier.
970- I would also like to thank Raye Kimmerer for adding support for 32-bit
971- row/column indices in SPQR v4.2.0.
972851
973852See also the various Acknowledgements within each package.
974853
0 commit comments