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
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.

SuiteSparse - v6.0.0-beta8 (Nov 8, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Changes to the cmake build system.

SuiteSparse - v6.0.0-beta7 (Nov 6, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Allow a specific BLAS library to be selected.

SuiteSparse - v6.0.0-beta6 (Nov 5, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Changes to build system. METIS now integrated into the CHOLMOD library with all functions renamed so there can be no conflict with any non-modified METIS package. Added Fortran functions to AMD library

SuiteSparse - v6.0.0-beta5 (Nov 5, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Fixes the build process when METIS is not compiled for use in SuiteSparse. Adds more instructions in README.

SuiteSparse - v6.0.0-beta4 (Nov 4, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Revisions to cmake build system.

SuiteSparse - v6.0.0-beta3 (Nov 4, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

v6.0.0-beta3: adding NSTATIC option to disable the build of static libraries, and adding the installation of the SuiiteSparse_config/cmake_modules in /usr/local/lib/cmake/SuiteSparse (where /usr/local is CMAKE_INSTALL_PREFIX, in general).

For most packages, NSTATIC defaults to false (so static libraries are built). For GraphBLAS, the compilation takes a long time so the default is true (do not build the static libgraphblas.a). For Mongoose, the option is always false and ignored if set to true, since the static library is needed by the mongoose program.

SuiteSparse - v6.0.0-beta2 (Nov 4, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Revised CMake / Makefile install rules. For the Makefiles:

  • make: installs in /usr/local (or whatever CMAKE_INSTALL_PREFIX says). This is the default. Normally would require "sudo make install"
  • make local: installs in SuiteSparse/lib, ./include, ./bin (ignoring CMAKE_INSTALL_PREFIX)
  • make global: same as "make", but can be done after "make local" to reset what "make install" does
  • make both: installs in both places

These are handled by CMake options: -DGLOBAL_INSTALL=(true or false, 0 or 1), and -DLOCAL_INSTALL=(ditto). By default, GLOBAL_INSTALL is true (like "make global", install in CMAKE_INSTALL_PREFIX) and LOCAL_INSTALL (install in SuiteSparse/lib, SuiteSparse/include) is false.

SuiteSparse - v6.0.0-beta1 (Nov 4, 2022)

Published by DrTimothyAldenDavis almost 2 years ago

Nov 4, 2022: SuiteSparse 6.0.0 (beta1 release)

* 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_VERSION 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: renamed SuiteSparse_metis, to avoid confusion
    with the unmodified metis-5.1.0.  The compiled library is named
    libsuitesparse_metis.so.  The unmodified libmetis.so cannot be used
    with SuiteSparse.
* 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.
* SPEX: replaces SLIP_LU
SuiteSparse - v5.13.0 (Aug 25, 2022)

Published by DrTimothyAldenDavis about 2 years ago

Includes GraphBLAS v7.2.0.

* GraphBLAS v7.2.0:  see GraphBLAS/Doc/ChangeLog for details.
    * performance:  more compact serialization (ZSTD added, now the
        default compression method).
    * MATLAB interface: faster linear indexing, reshape, bandwidth,
        istril, istriu, isbanded, isdiag.  C(I,J)=A can now grow the
        size of C.
    * features: reshape methods, cube root operator, isStoredElement
    * bugs: a minor bug; user-defined types were incorrectly limited to
        128 bytes in size in v7.0.3.
SuiteSparse - v5.12.0 (Apr 10, 2022)

Published by DrTimothyAldenDavis over 2 years ago

GraphBLAS v7.0.3

SuiteSparse - v5.11.0 (Mar 14, 2022)

Published by DrTimothyAldenDavis over 2 years ago

Added GraphBLAS v6.2.5, plus minor updates to build system.

SuiteSparse - v5.10.1 (May 17, 2021)

Published by DrTimothyAldenDavis over 3 years ago

May 17, 2021, SuiteSparse 5.10.1

* CUDA: remove sm_30 from SuiteSparse_config.mk
* GraphBLAS v5.0.5: minor bug fix
* minor changes to Makefiles
SuiteSparse - v5.10.0 (May 16, 2021)

Published by DrTimothyAldenDavis over 3 years ago

SuiteSparse v5.10.0 with GraphBLAS v5.0.4

SuiteSparse - v5.9.0 (Mar 3, 2021)

Published by DrTimothyAldenDavis over 3 years ago

GraphBLAS upgraded from v3.3 to v4.0.3 with many new features, and increased performance. Betweeness Centrality about 2x faster, and now faster than the GAP benchmark for larger matrices. BFS about 5x faster. For the very latest versions of GraphBLAS, see https://github.com/DrTimothyAldenDavis/GraphBLAS where stable releases are more frequent. Those updates are added to this SuiteSparse meta-package on a slower release cycle.

SuiteSparse - v5.8.1 (July 14, 2020)

Published by DrTimothyAldenDavis over 4 years ago

July 14, 2020, SuiteSparse 5.8.1

* SLIP_LU v1.0.2: resolved issue #51
* GraphBLAS v3.3.3: bug fix (GraphBLAS issue #13)