SuiteSparse

The official SuiteSparse library: a suite of sparse matrix algorithms authored or co-authored by Tim Davis, Texas A&M University.

OTHER License

Stars
996
Committers
16

Bot releases are visible (Hide)

SuiteSparse - v7.2.1.beta2 (Oct 7, 2023)

Published by DrTimothyAldenDavis about 1 year ago

Oct 7, 2023: version 7.2.1.beta2

* GraphBLAS 8.2.1: bug fix to GrB_mxm; incorrect handling of typecasting
* cross-compiler support: replace check_c_source_runs with _compiles,
    for GraphBLAS and SuiteSparse_config, and remove check for
    getenv("HOME").
* cmake update: add "None" build type, from Antonio Rojas, for Arch Linux,
    to all *Config.cmake files for all packages except CSparse (CXSparse
    is built instead, and CSparse does not have CSparseConfig.cmake file)
* UMFPACK v6.2.1 and GPUQREngine v3.2.1: copies internal include files
    from other SuiteSparse packages (AMD and SuiteSparse_GPURuntime),
    so these two packages can be built independently.
SuiteSparse - v7.2.1.beta1 (Sept 19, 2023)

Published by DrTimothyAldenDavis about 1 year ago

Sept 18, 2023: version 7.2.1

* cmake update: add "None" build type, from Antonio Rojas, for Arch Linux,
    to all *Config.cmake files for all packages except CSparse (CXSparse
    is built instead, and CSparse does not have CSparseConfig.cmake file)
* UMFPACK v6.2.1 and GPUQREngine v3.2.1: copies internal include files
    from other SuiteSparse packages (AMD and SuiteSparse_GPURuntime),
    so these two packages can be built independently.
SuiteSparse - v7.2.0 (Sept 16, 2023)

Published by DrTimothyAldenDavis about 1 year ago

Sept 8, 2023: version 7.2.0

* build system: modern cmake structure, by Markus Muetzel, @mmuetzel 
    Most packages updated to vX.2.0 where X is unchanged (except SPQR
    and Example package).
* SPQR v4.2.0: Major SO update.  Support for int32 indices by Raye Kimmerer, @Wimmerer 

This release includes GraphBLAS v8.2.0. The next release of SuiteSparse will include GraphBLAS v9.0.0, which is already in a beta release in the GraphBLAS github repo (https://github.com/DrTimothyAldenDavis/GraphBLAS/releases/tag/v9.0.0.beta3). That version implements the new GrB get/set methods in the v2.1 C API, and will become stable once the GraphBLAS v2.1 C API is officially released.

SuiteSparse - v7.2.0.beta3 (Sept 10, 2023)

Published by DrTimothyAldenDavis about 1 year ago

Revised maximum user-defined type size of GraphBLAS when using MSVC (or any compiler that does not support variable sized types).

SuiteSparse - v7.2.0.beta2 (Sept 10, 2023)

Published by DrTimothyAldenDavis about 1 year ago

Added rule to build.yaml (testing the build of CHOLMOD without OpenMP on MSVC). Move SuiteSparse__thread.cmake to proper directory.

SuiteSparse - v7.2.0.beta1 (Sept 8, 2023)

Published by DrTimothyAldenDavis about 1 year ago

Sept 8, 2023: version 7.2.0

* build system: modern cmake structure, by Markus Muetzel.
    Most packages updated to vX.2.0 where X is unchanged (except SPQR
    and Example package).
* SPQR v4.2.0: Major SO update.  Support for int32 indices by Raye Kimmerer
SuiteSparse - v7.1.0 (June 29, 2023)

Published by DrTimothyAldenDavis over 1 year ago

June 29, 2023: version 7.1.0

* GraphBLAS v8.0.2: major update with a new JIT feature.
* build system: many changes to build systems of all packages, contributed
    by Markus Muetzel.
* RBio 4.0.0: revised API: declaring many input parameters as const
* CXSparse 4.0.4: changed complex types for C++ callers
SuiteSparse - v7.1.0.beta2 (June 20, 2023)

Published by DrTimothyAldenDavis over 1 year ago

METIS prototypes and update to Example package.

SuiteSparse - v7.1.0.beta1 (June 16, 2023)

Published by DrTimothyAldenDavis over 1 year ago

June 16, 2023: SuiteSparse version 7.1.0

* GraphBLAS v8.0.2: major update with a new JIT feature.
* build system: many changes to build systems of all packages, contributed
    by Markus Muetzel.
* RBio 4.0.0: revised API: declaring many input parameters as const
* CXSparse 4.0.4: changed complex types for C++ callers
SuiteSparse - v7.0.1 (Jan 20, 2023)

Published by DrTimothyAldenDavis over 1 year ago

Jan 20, 2023: version 7.0.1

* GraphBLAS v7.4.3: debug was left on in GrB_Matrix_removeElement
* Example package revised
SuiteSparse - v7.0.0 (Jan 17, 2023)

Published by DrTimothyAldenDavis almost 2 years ago

Jan 17, 2023: version 7.0.0

* SuiteSparse_config: now v7.0.0
* SuiteSparse_config struct: removed from external visibility to simplify
    the Windows build, so that no global data is externally visible.
    This requires a major version number increase from v6.x to v7.x for the
    SuiteSparse meta-package (which has the same version number as
    SuiteSparse_config).  Added get/set methods to SuiteSparse_config to
    access the contents of the struct.
* NFORTRAN: option added to ignore any Fortran methods, even if a Fortran
    compiler is available.
* port of new cmake-based build system to Windows
* UMFPACK 6.1.0: copy/serialize/deserialize methods: added new methods to
    copy, serialize, and deserialize the Numeric and Symbolic objects.  By
    Will Kimmerer, revised by T. Davis.
SuiteSparse - v7.0.0.beta2 (Jan 17, 2023)

Published by DrTimothyAldenDavis almost 2 years ago

Jan 17, 2023: version 7.0.0

* SuiteSparse_config: now v7.0.0
* SuiteSparse_config struct: removed from external visibility to simplify
    the Windows build, so that no global data is externally visible.
    This requires a major version number increase from v6.x to v7.x for the
    SuiteSparse meta-package (which has the same version number as
    SuiteSparse_config).  Added get/set methods to SuiteSparse_config to
    access the contents of the struct.
* NFORTRAN: option added to ignore any Fortran methods, even if a Fortran
    compiler is available.
* port of new cmake-based build system to Windows
* UMFPACK 6.1.0: copy/serialize/deserialize methods: added new methods to
    copy, serialize, and deserialize the Numeric and Symbolic objects.  By
    Will Kimmerer, revised by T. Davis.
* NFORTRAN: option added to disable Fortran entirely
* GraphBLAS v7.4.2:  global free pool disabled, and GrB_mxm heuristics
    revised.  Build system revised.  NTHREADS and CHUNK in descriptor deprecated.
SuiteSparse - v7.0.0.beta1 (Jan 9, 2023)

Published by DrTimothyAldenDavis almost 2 years ago

Jan 9, 2023: version 7.0.0 (beta1 release)

* SuiteSparse_config: now v7.0.0
* SuiteSparse_config struct: removed from external visibility to simplify
    the Windows build, so that no global data is externally visible.
    This requires a major version number increase from v6.x to v7.x for the
    SuiteSparse meta-package (which has the same version number as
    SuiteSparse_config).  Added get/set methods to SuiteSparse_config to
    access the contents of the struct.
* NFORTRAN: option added to ignore any Fortran methods, even if a Fortran
    compiler is available.
* port of new cmake-based build system to Windows
* UMFPACK 6.1.0: copy/serialize/deserialize methods: added new methods to
    copy, serialize, and deserialize the Numeric and Symbolic objects.  By
    Will Kimmerer, revised by T. Davis.
SuiteSparse - v6.0.4.beta1 (Dec 29, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Dec 29, 2022: SuiteSparse 6.0.4

* NFORTRAN: option added to disable Fortran entirely
* GraphBLAS v7.4.1:  global free pool disabled, and GrB_mxm heuristics
    revised.
SuiteSparse - v6.0.3 (Dec 23, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Dec 23, 2022: SuiteSparse 6.0.3

* GraphBLAS v7.4.0:  added non-va_arg get/set methods.
* Mongoose v3.0.3:  change in build for test coverage
SuiteSparse - v6.0.2 (Dec 9, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Dec 9, 2022: SuiteSparse 6.0.2

* minor change to build system for nearly all packages: (except CSparse,
    ssget, and MATLAB_Tools):  allows static linkage of all libraries.
    Fortran no longer required.
* AMD 3.0.2: Fortran no longer required (amd.f and amdbar.f skipped);
    minor change to build system
* BTF 2.0.2: minor change to build system
* CAMD 3.0,2: minor change to build system
* CCOLAMD 3.0.2: minor change to build system
* CHOLMOD 4.0.2: Fortran no longer required; minor change to build system
* CXSparse 4.0.2: minor change to build system
* GPUQREngine 2.0.2: minor change to build system
* GraphBLAS 7.3.3: -latomic added if needed, using ANSI C11 atomic functions
    for gcc (atomic_compare_exachange_weak instead of __atomic_* variants),
    chunk factor revised for GrB_mxm (generic saxpy3 method);
    minor change to build system
* KLU 2.0.2: Fortran no longer required; minor change to build system
* LDL 3.0.2: minor change to build system
* Mongoose 3.0.2: fixed matrix download in python test scripts (no change
    to the compiled library itself, other than the version/date);
    minor change to build system
* RBio 3.0.2: minor change to build system
* SPEX 2.0.2: minor change to build system
* SPQR 3.0.2: Fortran no longer required; minor change to build system
* SuiteSparse_GPURuntime 2.0.2: minor change to build system
* SuiteSparse_config 6.0.2: override C-to-Fortran interface handling if
    no Fortran compiler found; minor change to build system
* UMFPACK 6.0.2: Fortran no longer required; minor change to build system
* Example: simple package that illustrates how to use SuiteSparse
    Find*.cmake modules in cmake.
* not changed from SuiteSparse v6.0.1: ssget, CSparse, MATLAB_Tools
SuiteSparse - v6.0.2.beta1 (Dec 9, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Dec 9, 2022: SuiteSparse 6.0.2

* minor change to build system for nearly all packages: (except CSparse,
    ssget, and MATLAB_Tools):  allows static linkage of all libraries.
    Fortran no longer required.
* AMD 3.0.2: Fortran no longer required (amd.f and amdbar.f skipped);
    minor change to build system
* BTF 2.0.2: minor change to build system
* CAMD 3.0,2: minor change to build system
* CCOLAMD 3.0.2: minor change to build system
* CHOLMOD 4.0.2: Fortran no longer required; minor change to build system
* CXSparse 4.0.2: minor change to build system
* GPUQREngine 2.0.2: minor change to build system
* GraphBLAS 7.3.3: -latomic added if needed, using ANSI C11 atomic functions
    for gcc (atomic_compare_exachange_weak instead of __atomic_* variants),
    chunk factor revised for GrB_mxm (generic saxpy3 method);
    minor change to build system
* KLU 2.0.2: Fortran no longer required; minor change to build system
* LDL 3.0.2: minor change to build system
* Mongoose 3.0.2: fixed matrix download in python test scripts (no change
    to the compiled library itself, other than the version/date);
    minor change to build system
* RBio 3.0.2: minor change to build system
* SPEX 2.0.2: minor change to build system
* SPQR 3.0.2: Fortran no longer required; minor change to build system
* SuiteSparse_GPURuntime 2.0.2: minor change to build system
* SuiteSparse_config 6.0.2: override C-to-Fortran interface handling if
    no Fortran compiler found; minor change to build system
* UMFPACK 6.0.2: Fortran no longer required; minor change to build system
* Example: simple package that illustrates how to use SuiteSparse
    Find*.cmake modules in cmake.
* not changed from SuiteSparse v6.0.1: ssget, CSparse, MATLAB_Tools

Note that SPEX fails to build using the MINGW32 and MINGW64 compilers, because of a linking problem with GMP. The CI system was added after v6.0.1 was released, and it's likely that SPEX didn't build for that version of SuiteSparse either.

SuiteSparse - v6.0.1 (Nov 12, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Nov 12, 2022: SuiteSparse 6.0.1

* BLAS: C prototypes for the Fortan BLAS were unintentionally exposed to
    the user application.  Removed.  If you want to use them, see the
    instructions in SuiteSparse_config.h.
SuiteSparse - v6.0.0 (Nov 12, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Nov 12, 2022: SuiteSparse 6.0.0

* major update: using CMake build system for all packages
* CMake Find*: all packages now have a Find*.cmake.  See
    SuiteSparse_config/cmake_modules.
* integers: int (32-bit) and SuiteSparse_long (nominally 64-bit) replaced
    with int32_t and int64_t.  The SuiteSparse_long #define has been
    deprecated and removed.  Replace its use with int64_t in any code that
    uses SuiteSparse v6.0.0 or later.  This is unlikely to change any
    use of any SuiteSparse package, but since it's possible that
    SuiteSparse_long was 32-bits on some platforms, the SO_VERSIION of
    all packages has been increased by one.
* UMFPACK: new options to support ParU.  Single umfpack.h include file.
* CHOLMOD: Single cholmod.h include file.
* SuiteSparse/metis-5.1.0: now embedded into CHOLMOD, in a different
    name space.  No longer an independent library.
* SPDX License Identifier: added to each file. No change in license.
* BLAS/LAPACK interface: now supports any Fortran BLAS/LAPACK, with
    either 32-bit (default) or 64-bit integers, via FindBLAS.cmake.
* SPEX: replaces SLIP_LU
SuiteSparse - v6.0.0-beta9 (Nov 9, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Added NOPENMP option to disable OpenMP for UMFPACK, CHOLMOD, SPQR, SuiteSparse_config (where it was just using omp_get_wtime) and GraphBLAS. Note the comments in the GraphBLAS userguide about thread-safety. If GraphBLAS is compiled without OpenMP, the #pragma omp flush in GrB_wait cannot guarantee thread safety if one user thread writes to a GrB_Matrix, does a GrB_wait, and another user thread reads that same matrix. The user application would have to ensure that the 1st thread's cache is properly flushed (perhaps with a pthreads construct). In this case, without OpenMP, thread safety is the responsibility of the user application, not GraphBLAS. Details and caveats are in the GraphBLAS user guide.

Package Rankings
Top 21.65% on Anaconda.org
Top 8.61% on Conda-forge.org
Top 6.74% on Proxy.golang.org