diff --git a/ChangeLog b/ChangeLog index 0f1eb8790..59349c3c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,30 @@ +Mar 2, 2024: version 7.6.1 + + * GraphBLAS 9.0.3: performance bug fix (JIT kernels were not compiled with + OpenMP, since v8.3.1), and fix to Makefile ("make static") + * SuiteSparse_config 7.6.1: version number, added link to math.js in README + * Package versions in this release: + SuiteSparse_config 7.6.1 + AMD 3.3.1 + BTF 2.3.1 + CAMD 3.3.1 + CCOLAMD 3.3.2 + CHOLMOD 5.2.0 + COLAMD 3.3.2 + CSparse 4.3.1 + CXSparse 4.3.1 + Example 1.6.2 + GraphBLAS 9.0.3 + KLU 2.3.2 + LDL 3.3.1 + LAGraph 1.1.2 + SuiteSparse_Mongoose 3.3.2 + ParU 0.1.2 + RBio 4.3.1 + SPEX 2.3.2 + SPQR 4.3.2 + UMFPACK 6.3.2 + Jan 20, 2024: version 7.6.0 * CHOLMOD 5.2.0: bug fix (restore ABI compatibility with 5.0.x, i.e., 5.2.0 diff --git a/GraphBLAS/CMakeLists.txt b/GraphBLAS/CMakeLists.txt index 0889cb19b..51eeb125a 100644 --- a/GraphBLAS/CMakeLists.txt +++ b/GraphBLAS/CMakeLists.txt @@ -459,6 +459,7 @@ if ( GRAPHBLAS_HAS_OPENMP ) target_link_libraries ( GraphBLAS_static PRIVATE OpenMP::OpenMP_C ) endif ( ) message ( STATUS "CMAKE OpenMP C flags: ${OpenMP_C_FLAGS}" ) + set ( GB_OPENMP_C_FLAGS "${OpenMP_C_FLAGS}" ) else ( ) message ( WARNING "WARNING: OpenMP was not found (or was disabled with " @@ -479,6 +480,7 @@ else ( ) "The C compiler does not support thread-local-storage; " "GxB_Context_engage will return GrB_NOT_IMPLEMENTED." ) endif ( ) + set ( GB_OPENMP_C_FLAGS "" ) endif ( ) if ( SUITESPARSE_HAS_CUDA AND GRAPHBLAS_USE_CUDA ) diff --git a/GraphBLAS/Config/GB_config.h.in b/GraphBLAS/Config/GB_config.h.in index 3585ce4c2..f6de2bc62 100644 --- a/GraphBLAS/Config/GB_config.h.in +++ b/GraphBLAS/Config/GB_config.h.in @@ -21,7 +21,7 @@ // GB_C_FLAGS: the C compiler flags used to compile GraphBLAS. Used // for compiling and linking: #ifndef GB_C_FLAGS -#define GB_C_FLAGS "@GB_C_FLAGS@" +#define GB_C_FLAGS "@GB_C_FLAGS@ @GB_OPENMP_C_FLAGS@" #endif // GB_C_LINK_FLAGS: the flags passed to the C compiler for the link phase: diff --git a/GraphBLAS/Doc/ChangeLog b/GraphBLAS/Doc/ChangeLog index d19fa51cf..03f1ca055 100644 --- a/GraphBLAS/Doc/ChangeLog +++ b/GraphBLAS/Doc/ChangeLog @@ -1,3 +1,12 @@ +Mar 1, 2024: version 9.0.3 + + * (52) performance bug fix: JIT kernels since v8.3.1 were not compiled with + OpenMP. + +Feb 26, 2024: version 9.0.2 + + * (51) bug fix: GraphBLAS/Makefile "make static" was incorrect. + Jan 20, 2024: version 9.0.1 * minor updates to build system diff --git a/GraphBLAS/Doc/GraphBLAS_UserGuide.pdf b/GraphBLAS/Doc/GraphBLAS_UserGuide.pdf index 7a7ab7a64..b7d8c07e8 100644 Binary files a/GraphBLAS/Doc/GraphBLAS_UserGuide.pdf and b/GraphBLAS/Doc/GraphBLAS_UserGuide.pdf differ diff --git a/GraphBLAS/Doc/GraphBLAS_UserGuide.tex b/GraphBLAS/Doc/GraphBLAS_UserGuide.tex index 7b2094144..b1a74d365 100644 --- a/GraphBLAS/Doc/GraphBLAS_UserGuide.tex +++ b/GraphBLAS/Doc/GraphBLAS_UserGuide.tex @@ -14768,6 +14768,19 @@ \section{Release Notes} \begin{itemize} +\item Mar 1, 2024: version 9.0.3 + + \begin{itemize} + \item (52) performance bug fix: JIT kernels since v8.3.1 were not compiled + with OpenMP. + \end{itemize} + +\item Feb 26, 2024: version 9.0.2 + + \begin{itemize} + \item GraphBLAS/Makefile \verb"make static" was incorrect. + \end{itemize} + \item Jan 20, 2024: version 9.0.1 \begin{itemize} diff --git a/GraphBLAS/Doc/GraphBLAS_version.tex b/GraphBLAS/Doc/GraphBLAS_version.tex index dbec813bb..8d9b11a93 100644 --- a/GraphBLAS/Doc/GraphBLAS_version.tex +++ b/GraphBLAS/Doc/GraphBLAS_version.tex @@ -1,5 +1,5 @@ % version of SuiteSparse:GraphBLAS \date{VERSION -9.0.1, -Jan 20, 2024} +9.0.3, +Mar 1, 2024} diff --git a/GraphBLAS/Include/GraphBLAS.h b/GraphBLAS/Include/GraphBLAS.h index 21e2eed47..d2c0c2ddf 100644 --- a/GraphBLAS/Include/GraphBLAS.h +++ b/GraphBLAS/Include/GraphBLAS.h @@ -1,4 +1,4 @@ -// SuiteSparse:GraphBLAS 9.0.1 +// SuiteSparse:GraphBLAS 9.0.3 //------------------------------------------------------------------------------ // GraphBLAS.h: definitions for the GraphBLAS package //------------------------------------------------------------------------------ @@ -226,10 +226,10 @@ // The version of this implementation, and the GraphBLAS API version: #define GxB_IMPLEMENTATION_NAME "SuiteSparse:GraphBLAS" -#define GxB_IMPLEMENTATION_DATE "Jan 20, 2024" +#define GxB_IMPLEMENTATION_DATE "Mar 1, 2024" #define GxB_IMPLEMENTATION_MAJOR 9 #define GxB_IMPLEMENTATION_MINOR 0 -#define GxB_IMPLEMENTATION_SUB 1 +#define GxB_IMPLEMENTATION_SUB 3 #define GxB_SPEC_DATE "Dec 22, 2023" #define GxB_SPEC_MAJOR 2 #define GxB_SPEC_MINOR 1 diff --git a/GraphBLAS/Makefile b/GraphBLAS/Makefile index ff91ca726..f1d5ecef9 100644 --- a/GraphBLAS/Makefile +++ b/GraphBLAS/Makefile @@ -80,7 +80,7 @@ setup: # build the static library static: - ( cd build && cmake $(CMAKE_OPTIONS) -DNSTATIC=0 .. && cmake --build . --config Release -j$(JOBS) ) + ( cd build && cmake $(CMAKE_OPTIONS) -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF .. && cmake --build . --config Release -j$(JOBS) ) # installs GraphBLAS to the install location defined by cmake, usually # /usr/local/lib and /usr/local/include diff --git a/GraphBLAS/README.md b/GraphBLAS/README.md index 44fcd6fab..b3f529bd4 100644 --- a/GraphBLAS/README.md +++ b/GraphBLAS/README.md @@ -4,7 +4,7 @@ SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2024, All Rights Reserved. SPDX-License-Identifier: Apache-2.0 -VERSION 9.0.1, Jan 20, 2024 +VERSION 9.0.3, Mar 1, 2024 SuiteSparse:GraphBLAS is a complete implementation of the GraphBLAS standard, which defines a set of sparse matrix operations on an extended algebra of diff --git a/GraphBLAS/cmake_modules/GraphBLAS_JIT_configure.cmake b/GraphBLAS/cmake_modules/GraphBLAS_JIT_configure.cmake index db377d925..59a03429a 100644 --- a/GraphBLAS/cmake_modules/GraphBLAS_JIT_configure.cmake +++ b/GraphBLAS/cmake_modules/GraphBLAS_JIT_configure.cmake @@ -114,7 +114,7 @@ if ( GRAPHBLAS_USE_JIT OR GRAPHBLAS_USE_CUDA ) message ( STATUS "------------------------------------------------------------------------" ) # one or both JITs are enabled; make sure the cache path exists message ( STATUS "JIT C compiler: ${GB_C_COMPILER}" ) - message ( STATUS "JIT C flags: ${GB_C_FLAGS}" ) + message ( STATUS "JIT C flags: ${GB_C_FLAGS} ${GB_OPENMP_C_FLAGS}" ) message ( STATUS "JIT link flags: ${GB_C_LINK_FLAGS}" ) message ( STATUS "JIT lib prefix: ${GB_LIB_PREFIX}" ) message ( STATUS "JIT lib suffix: ${GB_LIB_SUFFIX}" ) diff --git a/GraphBLAS/cmake_modules/GraphBLAS_version.cmake b/GraphBLAS/cmake_modules/GraphBLAS_version.cmake index 99eabfac4..847ec977a 100644 --- a/GraphBLAS/cmake_modules/GraphBLAS_version.cmake +++ b/GraphBLAS/cmake_modules/GraphBLAS_version.cmake @@ -8,10 +8,10 @@ #------------------------------------------------------------------------------- # version of SuiteSparse:GraphBLAS -set ( GraphBLAS_DATE "Jan 20, 2024" ) +set ( GraphBLAS_DATE "Mar 1, 2024" ) set ( GraphBLAS_VERSION_MAJOR 9 CACHE STRING "" FORCE ) set ( GraphBLAS_VERSION_MINOR 0 CACHE STRING "" FORCE ) -set ( GraphBLAS_VERSION_SUB 1 CACHE STRING "" FORCE ) +set ( GraphBLAS_VERSION_SUB 3 CACHE STRING "" FORCE ) # GraphBLAS C API Specification version, at graphblas.org set ( GraphBLAS_API_DATE "Dec 22, 2023" ) diff --git a/README.md b/README.md index 29c74df12..8ec613ea6 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ SuiteSparse: A Suite of Sparse matrix packages at http://suitesparse.com ----------------------------------------------------------------------------- -Jan 20, 2024, SuiteSparse VERSION 7.6.0 +Mar 2, 2024, SuiteSparse VERSION 7.6.1 SuiteSparse is a set of sparse-matrix-related packages written or co-authored by Tim Davis, available at https://github.com/DrTimothyAldenDavis/SuiteSparse . @@ -1195,6 +1195,10 @@ See scikit-sparse and scikit-umfpack for the Python interface via SciPy: https://github.com/scikit-sparse/scikit-sparse https://github.com/scikit-umfpack/scikit-umfpack +See math.js by Jos de Jong for a JavaScript port of CSparse: + + https://github.com/josdejong/mathjs + See russell for a Rust interface: https://github.com/cpmech/russell diff --git a/SuiteSparse_config/CMakeLists.txt b/SuiteSparse_config/CMakeLists.txt index 8e5c119b5..d7886a0ab 100644 --- a/SuiteSparse_config/CMakeLists.txt +++ b/SuiteSparse_config/CMakeLists.txt @@ -15,10 +15,10 @@ cmake_minimum_required ( VERSION 3.22 ) # version of both SuiteSparse and SuiteSparse_config -set ( SUITESPARSE_DATE "Jan 20, 2024" ) +set ( SUITESPARSE_DATE "Mar 2, 2024" ) set ( SUITESPARSE_VERSION_MAJOR 7 ) set ( SUITESPARSE_VERSION_MINOR 6 ) -set ( SUITESPARSE_VERSION_SUB 0 ) +set ( SUITESPARSE_VERSION_SUB 1 ) set ( SUITESPARSE_CONFIG_VERSION_MAJOR ${SUITESPARSE_VERSION_MAJOR} CACHE STRING "" FORCE ) set ( SUITESPARSE_CONFIG_VERSION_MINOR ${SUITESPARSE_VERSION_MINOR} CACHE STRING "" FORCE ) set ( SUITESPARSE_CONFIG_VERSION_PATCH ${SUITESPARSE_VERSION_SUB} CACHE STRING "" FORCE ) diff --git a/SuiteSparse_config/Config/README.md.in b/SuiteSparse_config/Config/README.md.in index bc0c9142f..30e71fdcb 100644 --- a/SuiteSparse_config/Config/README.md.in +++ b/SuiteSparse_config/Config/README.md.in @@ -1195,6 +1195,10 @@ See scikit-sparse and scikit-umfpack for the Python interface via SciPy: https://github.com/scikit-sparse/scikit-sparse https://github.com/scikit-umfpack/scikit-umfpack +See math.js by Jos de Jong for a JavaScript port of CSparse: + + https://github.com/josdejong/mathjs + See russell for a Rust interface: https://github.com/cpmech/russell diff --git a/SuiteSparse_config/SuiteSparse_config.h b/SuiteSparse_config/SuiteSparse_config.h index 01ce98c5c..b5a0bc96b 100644 --- a/SuiteSparse_config/SuiteSparse_config.h +++ b/SuiteSparse_config/SuiteSparse_config.h @@ -420,10 +420,10 @@ int SuiteSparse_version // returns SUITESPARSE_VERSION #define SUITESPARSE_HAS_VERSION_FUNCTION -#define SUITESPARSE_DATE "Jan 20, 2024" +#define SUITESPARSE_DATE "Mar 2, 2024" #define SUITESPARSE_MAIN_VERSION 7 #define SUITESPARSE_SUB_VERSION 6 -#define SUITESPARSE_SUBSUB_VERSION 0 +#define SUITESPARSE_SUBSUB_VERSION 1 // version format x.y #define SUITESPARSE_VER_CODE(main,sub) ((main) * 1000 + (sub)) @@ -432,7 +432,7 @@ int SuiteSparse_version // returns SUITESPARSE_VERSION // version format x.y.z #define SUITESPARSE__VERCODE(main,sub,patch) \ (((main)*1000ULL + (sub))*1000ULL + (patch)) -#define SUITESPARSE__VERSION SUITESPARSE__VERCODE(7,6,0) +#define SUITESPARSE__VERSION SUITESPARSE__VERCODE(7,6,1) //============================================================================== // SuiteSparse interface to the BLAS and LAPACK libraries