Skip to content

Commit 86d4718

Browse files
Merge pull request DrTimothyAldenDavis#743 from DrTimothyAldenDavis/dev2
SuiteSparse 7.6.0
2 parents fcfefe6 + 16c5269 commit 86d4718

File tree

82 files changed

+342
-218
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+342
-218
lines changed

.github/workflows/build.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,11 @@ jobs:
7979
-DCMAKE_CUDA_COMPILER_LAUNCHER="ccache"
8080
openmp: with
8181
link: static
82+
# "Fake" a cross-compilation to exercise that build system path
8283
link-cmake-flags:
8384
-DBUILD_SHARED_LIBS=OFF
8485
-DBUILD_STATIC_LIBS=ON
86+
-DCMAKE_SYSTEM_NAME="Linux"
8587

8688
env:
8789
CC: ${{ matrix.cc }}

CHOLMOD/CMakeLists.txt

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
# cmake 3.22 is required to find the BLAS/LAPACK
1313
cmake_minimum_required ( VERSION 3.22 )
1414

15-
set ( CHOLMOD_DATE "Jan 10, 2024" )
15+
set ( CHOLMOD_DATE "Jan 20, 2024" )
1616
set ( CHOLMOD_VERSION_MAJOR 5 CACHE STRING "" FORCE )
17-
set ( CHOLMOD_VERSION_MINOR 1 CACHE STRING "" FORCE )
18-
set ( CHOLMOD_VERSION_SUB 1 CACHE STRING "" FORCE )
17+
set ( CHOLMOD_VERSION_MINOR 2 CACHE STRING "" FORCE )
18+
set ( CHOLMOD_VERSION_SUB 0 CACHE STRING "" FORCE )
1919

2020
message ( STATUS "Building CHOLMOD version: v"
2121
${CHOLMOD_VERSION_MAJOR}.
@@ -84,9 +84,6 @@ endif ( )
8484
#-------------------------------------------------------------------------------
8585

8686
option ( CHOLMOD_USE_OPENMP "ON: Use OpenMP in CHOLMOD if available. OFF: Do not use OpenMP. (Default: SUITESPARSE_USE_OPENMP)" ${SUITESPARSE_USE_OPENMP} )
87-
if ( NOT SUITESPARSE_USE_OPENMP )
88-
set ( CHOLMOD_USE_OPENMP "OFF" CACHE STRING "" FORCE )
89-
endif ( )
9087
if ( CHOLMOD_USE_OPENMP )
9188
if ( CMAKE_VERSION VERSION_LESS 3.24 )
9289
find_package ( OpenMP COMPONENTS C )
@@ -98,7 +95,7 @@ else ( )
9895
set ( OpenMP_C_FOUND OFF )
9996
endif ( )
10097

101-
if ( OpenMP_C_FOUND )
98+
if ( CHOLMOD_USE_OPENMP AND OpenMP_C_FOUND )
10299
set ( CHOLMOD_HAS_OPENMP ON )
103100
else ( )
104101
set ( CHOLMOD_HAS_OPENMP OFF )
@@ -115,10 +112,10 @@ endif ( )
115112
#-------------------------------------------------------------------------------
116113

117114
if ( NOT SUITESPARSE_ROOT_CMAKELISTS )
118-
find_package ( SuiteSparse_config 7.5.0
115+
find_package ( SuiteSparse_config 7.6.0
119116
PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/build NO_DEFAULT_PATH )
120117
if ( NOT TARGET SuiteSparse::SuiteSparseConfig )
121-
find_package ( SuiteSparse_config 7.5.0 REQUIRED )
118+
find_package ( SuiteSparse_config 7.6.0 REQUIRED )
122119
endif ( )
123120

124121
find_package ( AMD 3.3.1
@@ -554,10 +551,10 @@ if ( CHOLMOD_HAS_CUDA )
554551
endif ( )
555552
endif ( )
556553

557-
set ( old_CMAKE_EXTRA_INCLUDE_FILES CMAKE_EXTRA_INCLUDE_FILES )
554+
set ( _orig_CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES} )
558555
list ( APPEND CMAKE_EXTRA_INCLUDE_FILES "stdlib.h" )
559556
check_type_size ( "__compar_fn_t" COMPAR_FN_T )
560-
set ( CMAKE_EXTRA_INCLUDE_FILES old_CMAKE_EXTRA_INCLUDE_FILES )
557+
set ( CMAKE_EXTRA_INCLUDE_FILES ${_orig_CMAKE_EXTRA_INCLUDE_FILES} )
561558

562559
if ( NOT HAVE_COMPAR_FN_T )
563560
if ( BUILD_SHARED_LIBS )

CHOLMOD/Config/cholmod.h.in

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,8 @@ int cholmod_l_version (int version [3]) ;
309309

310310
#define CHOLMOD__VERSION SUITESPARSE__VERCODE(@CHOLMOD_VERSION_MAJOR@,@CHOLMOD_VERSION_MINOR@,@CHOLMOD_VERSION_SUB@)
311311
#if !defined (SUITESPARSE__VERSION) || \
312-
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,0))
313-
#error "CHOLMOD @CHOLMOD_VERSION_MAJOR@.@CHOLMOD_VERSION_MINOR@.@CHOLMOD_VERSION_SUB@ requires SuiteSparse_config 7.5.0 or later"
312+
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,6,0))
313+
#error "CHOLMOD @CHOLMOD_VERSION_MAJOR@.@CHOLMOD_VERSION_MINOR@.@CHOLMOD_VERSION_SUB@ requires SuiteSparse_config 7.6.0 or later"
314314
#endif
315315

316316
//------------------------------------------------------------------------------
@@ -898,7 +898,9 @@ typedef struct cholmod_common_struct
898898
int nthreads_max ; // max # of OpenMP threads to use in CHOLMOD.
899899
// Defaults to SUITESPARSE_OPENMP_MAX_THREADS.
900900

901+
#ifdef BLAS_DUMP
901902
FILE *blas_dump ; // only used if CHOLMOD is compiled with -DBLAS_DUMP
903+
#endif
902904

903905
} cholmod_common ;
904906

CHOLMOD/Doc/CHOLMOD_UserGuide.pdf

-1.06 KB
Binary file not shown.

CHOLMOD/Doc/ChangeLog

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
Jan 20, 2024: version 5.2.0
2+
3+
* bug fix: CHOLMOD 5.1.0 added a new variable in the CHOLMOD Common
4+
struct for development only but this change broke ABI compatibility
5+
since the SOVERSION was not bumped at the same time. v5.2.0 reverts
6+
this change so the new variable does not appear in production, thus
7+
restoring ABI compatibility with v5.0.x.
8+
19
Jan 10, 2024: version 5.1.1
210

311
* MATLAB interface: add -DNO_SSIZE_T for Windows

CHOLMOD/Doc/cholmod_version.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
% version of SuiteSparse/CHOLMOD
2-
\date{VERSION 5.1.1, Jan 10, 2024}
2+
\date{VERSION 5.2.0, Jan 20, 2024}

CHOLMOD/Include/cholmod.h

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -246,13 +246,13 @@
246246
// version control
247247
//------------------------------------------------------------------------------
248248

249-
#define CHOLMOD_DATE "Jan 10, 2024"
249+
#define CHOLMOD_DATE "Jan 20, 2024"
250250
#define CHOLMOD_MAIN_VERSION 5
251-
#define CHOLMOD_SUB_VERSION 1
252-
#define CHOLMOD_SUBSUB_VERSION 1
251+
#define CHOLMOD_SUB_VERSION 2
252+
#define CHOLMOD_SUBSUB_VERSION 0
253253

254254
#define CHOLMOD_VER_CODE(main,sub) SUITESPARSE_VER_CODE(main,sub)
255-
#define CHOLMOD_VERSION CHOLMOD_VER_CODE(5,1)
255+
#define CHOLMOD_VERSION CHOLMOD_VER_CODE(5,2)
256256
#define CHOLMOD_HAS_VERSION_FUNCTION
257257

258258
#ifdef __cplusplus
@@ -307,10 +307,10 @@ int cholmod_l_version (int version [3]) ;
307307

308308
#include "SuiteSparse_config.h"
309309

310-
#define CHOLMOD__VERSION SUITESPARSE__VERCODE(5,1,1)
310+
#define CHOLMOD__VERSION SUITESPARSE__VERCODE(5,2,0)
311311
#if !defined (SUITESPARSE__VERSION) || \
312-
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,0))
313-
#error "CHOLMOD 5.1.1 requires SuiteSparse_config 7.5.0 or later"
312+
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,6,0))
313+
#error "CHOLMOD 5.2.0 requires SuiteSparse_config 7.6.0 or later"
314314
#endif
315315

316316
//------------------------------------------------------------------------------
@@ -898,7 +898,9 @@ typedef struct cholmod_common_struct
898898
int nthreads_max ; // max # of OpenMP threads to use in CHOLMOD.
899899
// Defaults to SUITESPARSE_OPENMP_MAX_THREADS.
900900

901+
#ifdef BLAS_DUMP
901902
FILE *blas_dump ; // only used if CHOLMOD is compiled with -DBLAS_DUMP
903+
#endif
902904

903905
} cholmod_common ;
904906

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ include ( SuiteSparsePolicy )
110110

111111
if ( SUITESPARSE_USE_SYSTEM_GRAPHBLAS )
112112
list ( REMOVE_ITEM SUITESPARSE_ENABLE_PROJECTS "graphblas" )
113-
find_package ( GraphBLAS 9.0.0 REQUIRED )
113+
find_package ( GraphBLAS 9.0.1 REQUIRED )
114114
else ( )
115115
if ( "lagraph" IN_LIST SUITESPARSE_ENABLE_PROJECTS )
116116
# LAGraph requires GraphBLAS.
@@ -136,7 +136,7 @@ endif ( )
136136

137137
if ( SUITESPARSE_USE_SYSTEM_CHOLMOD )
138138
list ( REMOVE_ITEM SUITESPARSE_ENABLE_PROJECTS "cholmod" )
139-
find_package ( CHOLMOD 5.1.1 REQUIRED )
139+
find_package ( CHOLMOD 5.2.0 REQUIRED )
140140
else ( )
141141
if ( ( KLU_USE_CHOLMOD AND "klu" IN_LIST SUITESPARSE_ENABLE_PROJECTS )
142142
OR ( UMFPACK_USE_CHOLMOD AND "umfpack" IN_LIST SUITESPARSE_ENABLE_PROJECTS )
@@ -210,7 +210,7 @@ endif ( )
210210

211211
if ( SUITESPARSE_USE_SYSTEM_SUITESPARSE_CONFIG )
212212
list ( REMOVE_ITEM SUITESPARSE_ENABLE_PROJECTS "suitesparse_config" )
213-
find_package ( SuiteSparse_config 7.5.0 REQUIRED )
213+
find_package ( SuiteSparse_config 7.6.0 REQUIRED )
214214
else ( )
215215
if ( "mongoose" IN_LIST SUITESPARSE_ENABLE_PROJECTS
216216
OR "amd" IN_LIST SUITESPARSE_ENABLE_PROJECTS

CSparse/CMakeLists.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
# Note that CSparse can use an older cmake version than most of SuiteSparse.
1919
cmake_minimum_required ( VERSION 3.13 ) # CSparse can be built stand-alone
2020

21-
set ( CSPARSE_DATE "Dec 30, 2023" )
21+
set ( CSPARSE_DATE "Jan 20, 2024" )
2222
set ( CSPARSE_VERSION_MAJOR 4 CACHE STRING "" FORCE )
2323
set ( CSPARSE_VERSION_MINOR 3 CACHE STRING "" FORCE )
24-
set ( CSPARSE_VERSION_SUB 0 CACHE STRING "" FORCE )
24+
set ( CSPARSE_VERSION_SUB 1 CACHE STRING "" FORCE )
2525

2626
message ( STATUS "Building CSparse version: v"
2727
${CSPARSE_VERSION_MAJOR}.
@@ -60,6 +60,13 @@ message ( STATUS "Build type: " ${CMAKE_BUILD_TYPE} )
6060
option ( BUILD_SHARED_LIBS "OFF: do not build shared libraries. ON (default): build shared libraries" ON )
6161
option ( BUILD_STATIC_LIBS "OFF: do not build static libraries. ON (default): build static libraries" ON )
6262

63+
if ( CMAKE_C_COMPILER_ID STREQUAL "Clang" )
64+
set ( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wno-extra-semi-stmt" )
65+
endif ( )
66+
if ( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
67+
set ( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wno-extra-semi-stmt" )
68+
endif ( )
69+
6370
#-------------------------------------------------------------------------------
6471
# Configure cs.h with version number
6572
#-------------------------------------------------------------------------------

CSparse/Doc/ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
Jan 20, 2024: version 4.3.1
2+
3+
* minor updates to build system
4+
15
Dec 30, 2023: version 4.3.0
26

37
* major change to build system: by Markus Mützel

CSparse/Include/cs.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
#endif
1515
#define CS_VER 4 /* CSparse Version */
1616
#define CS_SUBVER 3
17-
#define CS_SUBSUB 0
18-
#define CS_DATE "Dec 30, 2023" /* CSparse release date */
17+
#define CS_SUBSUB 1
18+
#define CS_DATE "Jan 20, 2024" /* CSparse release date */
1919
#define CS_COPYRIGHT "Copyright (c) Timothy A. Davis, 2006-2023"
2020

2121
#ifndef csi

CXSparse/Doc/ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
Jan 10, 2024: version 4.3.1
2+
3+
* minor updates to build system
4+
15
Dec 30, 2023: version 4.3.0
26

37
* major change to build system: by Markus Mützel

ChangeLog

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
Jan 20, 2024: version 7.6.0
2+
3+
* CHOLMOD 5.2.0: bug fix (restore ABI compatibility with 5.0.x, i.e., 5.2.0
4+
is ABI incompatible to 5.1.x)
5+
* SuiteSparse_config 7.6.0: no change except version number
6+
* SPQR 4.3.2: remove unused parameters
7+
* LAGraph 1.1.2, CSparse 4.3.1, ParU 0.1.2, GraphBLAS 9.0.1:
8+
minor updates to build system
9+
* Example 1.6.2, UMFPACK 6.3.2, KLU 2.3.2: revise version numbers of
10+
dependent packages
11+
* Package versions in this release:
12+
SuiteSparse_config 7.6.0
13+
AMD 3.3.1
14+
BTF 2.3.1
15+
CAMD 3.3.1
16+
CCOLAMD 3.3.1
17+
CHOLMOD 5.2.0
18+
COLAMD 3.3.1
19+
CSparse 4.3.1
20+
CXSparse 4.3.1
21+
Example 1.6.2
22+
GraphBLAS 9.0.1
23+
KLU 2.3.2
24+
LDL 3.3.1
25+
LAGraph 1.1.2
26+
SuiteSparse_Mongoose 3.3.1
27+
ParU 0.1.2
28+
RBio 4.3.1
29+
SPEX 2.3.1
30+
SPQR 4.3.2
31+
UMFPACK 6.3.2
32+
133
Jan 12, 2024: version 7.5.1
234

335
* SuiteSparse_config: bug fix to SUITESPARSE__VERCODE macro.

Example/CMakeLists.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ message ( STATUS "MY prefix path: ${CMAKE_PREFIX_PATH}" )
5353
#-------------------------------------------------------------------------------
5454

5555
# cmake inserts the date and version number into Include/my.h:
56-
set ( MY_DATE "Jan 12, 2024" )
56+
set ( MY_DATE "Jan 20, 2024" )
5757
set ( MY_VERSION_MAJOR 1 )
5858
set ( MY_VERSION_MINOR 6 )
59-
set ( MY_VERSION_PATCH 1 )
59+
set ( MY_VERSION_PATCH 2 )
6060

6161
message ( STATUS "Building MY library version: v"
6262
${MY_VERSION_MAJOR}.
@@ -87,25 +87,25 @@ project ( my
8787
#-------------------------------------------------------------------------------
8888

8989
# look for all SuiteSparse packages:
90-
find_package ( SuiteSparse_config 7.5.1 REQUIRED )
90+
find_package ( SuiteSparse_config 7.6.0 REQUIRED )
9191
find_package ( AMD 3.3.1 REQUIRED )
9292
find_package ( BTF 2.3.1 REQUIRED )
9393
find_package ( CAMD 3.3.1 REQUIRED )
9494
find_package ( CCOLAMD 3.3.1 REQUIRED )
95-
find_package ( CHOLMOD 5.1.1 REQUIRED )
95+
find_package ( CHOLMOD 5.2.0 REQUIRED )
9696
find_package ( COLAMD 3.3.1 REQUIRED )
9797
find_package ( CXSparse 4.3.1 REQUIRED )
98-
find_package ( GraphBLAS 9.0.0 )
99-
find_package ( KLU 2.3.1 REQUIRED )
100-
find_package ( KLU_CHOLMOD 2.3.1 REQUIRED )
98+
find_package ( GraphBLAS 9.0.1 )
99+
find_package ( KLU 2.3.2 REQUIRED )
100+
find_package ( KLU_CHOLMOD 2.3.2 REQUIRED )
101101
find_package ( LDL 3.3.1 REQUIRED )
102-
find_package ( LAGraph 1.1.1 )
102+
find_package ( LAGraph 1.1.2 )
103103
find_package ( SuiteSparse_Mongoose 3.3.1 REQUIRED )
104-
find_package ( ParU 0.1.1 REQUIRED )
104+
find_package ( ParU 0.1.2 REQUIRED )
105105
find_package ( RBio 4.3.1 REQUIRED )
106106
find_package ( SPEX 2.3.1 REQUIRED ) # requires GMP and MPFR
107-
find_package ( SPQR 4.3.1 REQUIRED )
108-
find_package ( UMFPACK 6.3.1 REQUIRED )
107+
find_package ( SPQR 4.3.2 REQUIRED )
108+
find_package ( UMFPACK 6.3.2 REQUIRED )
109109

110110
#-------------------------------------------------------------------------------
111111
# configure files

Example/Include/my.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
// file, since it is constructed from Config/my.h.in by cmake.
1212

1313
// version and date for example user library
14-
#define MY_DATE "Jan 12, 2024"
14+
#define MY_DATE "Jan 20, 2024"
1515
#define MY_MAJOR_VERSION 1
1616
#define MY_MINOR_VERSION 6
17-
#define MY_PATCH_VERSION 1
17+
#define MY_PATCH_VERSION 2
1818

1919
#ifdef __cplusplus
2020
extern "C" {

Example/Include/my_internal.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
// SuiteSparse include files for C/C++:
1616
#include "SuiteSparse_config.h"
17-
#if !defined (SUITESPARSE__VERSION) || SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,1)
18-
#error "This library requires SuiteSparse_config 7.5.1 or later"
17+
#if !defined (SUITESPARSE__VERSION) || SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,6,0)
18+
#error "This library requires SuiteSparse_config 7.6.0 or later"
1919
#endif
2020

2121
#include "amd.h"
@@ -39,8 +39,8 @@
3939
#endif
4040

4141
#include "cholmod.h"
42-
#if !defined (CHOLMOD__VERSION) || CHOLMOD__VERSION < SUITESPARSE__VERCODE(5,1,1)
43-
#error "This library requires CHOLMOD 5.1.1 or later"
42+
#if !defined (CHOLMOD__VERSION) || CHOLMOD__VERSION < SUITESPARSE__VERCODE(5,2,0)
43+
#error "This library requires CHOLMOD 5.2.0 or later"
4444
#endif
4545

4646
#include "colamd.h"
@@ -56,15 +56,15 @@
5656
#if ! defined (NO_GRAPHBLAS)
5757
#include "GraphBLAS.h"
5858
#if !defined ( GxB_SUITESPARSE_GRAPHBLAS ) || \
59-
GxB_IMPLEMENTATION < GxB_VERSION (9,0,0)
60-
#error "This library requires SuiteSparse:GraphBLAS 9.0.0 or later"
59+
GxB_IMPLEMENTATION < GxB_VERSION (9,0,1)
60+
#error "This library requires SuiteSparse:GraphBLAS 9.0.1 or later"
6161
#endif
6262
#endif
6363

6464
#if ! defined (NO_LAGRAPH)
6565
#include "LAGraph.h"
6666
#if SUITESPARSE__VERCODE(LAGRAPH_VERSION_MAJOR,LAGRAPH_VERSION_MINOR,LAGRAPH_VERSION_UPDATE) < SUITESPARSE__VERCODE(1,1,1)
67-
#error "This library requires LAGraph 1.1.1 or later"
67+
#error "This library requires LAGraph 1.1.2 or later"
6868
#endif
6969
#endif
7070

@@ -89,13 +89,13 @@
8989
#endif
9090

9191
#include "SuiteSparseQR_C.h"
92-
#if !defined (SPQR__VERSION) || SPQR__VERSION < SUITESPARSE__VERCODE(4,3,1)
93-
#error "This library requires SPQR 4.3.1 or later"
92+
#if !defined (SPQR__VERSION) || SPQR__VERSION < SUITESPARSE__VERCODE(4,3,2)
93+
#error "This library requires SPQR 4.3.2 or later"
9494
#endif
9595

9696
#include "umfpack.h"
97-
#if !defined (UMFPACK__VERSION) || UMFPACK__VERSION < SUITESPARSE__VERCODE(6,3,1)
98-
#error "This library requires UMFPACK 6.3.1 or later"
97+
#if !defined (UMFPACK__VERSION) || UMFPACK__VERSION < SUITESPARSE__VERCODE(6,3,2)
98+
#error "This library requires UMFPACK 6.3.2 or later"
9999
#endif
100100

101101
// SuiteSparse include files for C++:

0 commit comments

Comments
 (0)