Skip to content

Commit cb7980b

Browse files
Merge pull request #1002 from DrTimothyAldenDavis/dev2
SuiteSparse 7.12.0
2 parents d558c83 + a86e9d0 commit cb7980b

File tree

317 files changed

+13605
-2426
lines changed

Some content is hidden

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

317 files changed

+13605
-2426
lines changed

.github/workflows/macos.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ jobs:
5252
run: |
5353
brew update
5454
brew install --overwrite python@3.10 python@3.11 python@3.12
55+
brew uninstall cmake
5556
brew reinstall gcc
5657
brew install autoconf automake ccache cmake gmp lapack libomp mpfr openblas
5758
HOMEBREW_PREFIX=$(brew --prefix)

ChangeLog

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
Nov 1, 2025: version 7.12.0
2+
3+
* UMFPACK 6.3.7: workaround for an Intel icx 2025.2 compiler bug
4+
* LAGraph 1.2.1: bug fix for experimental maxflow method
5+
* ParU 1.1.0: performance improvements, minor revisions for benchmarking
6+
* GraphBLAS 10.2.0: printing user-defined types, GrB_assign performance
7+
* SPQR 4.3.6: better handling of complex types for BLAS/LAPACK
8+
* SuiteSparse_config 7.12.0: better handling of complex types for
9+
BLAS/LAPACK
10+
* Mongoose 3.3.6: minor change to build system
11+
* Package versions in this release: (* denotes a new version)
12+
SuiteSparse_config 7.12.0 *
13+
AMD 3.3.4
14+
BTF 2.3.3
15+
CAMD 3.3.5
16+
CCOLAMD 3.3.5
17+
CHOLMOD 5.3.4
18+
COLAMD 3.3.5
19+
CSparse 4.3.2
20+
CXSparse 4.4.2
21+
Example 1.8.10 *
22+
GraphBLAS 10.2.0 *
23+
KLU 2.3.6
24+
LDL 3.3.3
25+
LAGraph 1.2.1 *
26+
SuiteSparse_Mongoose 3.3.6 *
27+
ParU 1.1.0 *
28+
RBio 4.3.5
29+
SPEX 3.2.4
30+
SPQR 4.3.6 *
31+
UMFPACK 6.3.7 *
32+
133
July 25, 2025: version 7.11.0
234

335
* LAGraph v1.2: many new experimental algorithms, LAGraph_Random in src/

Example/CMakeLists.txt

Lines changed: 9 additions & 9 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 "July 25, 2025" )
56+
set ( MY_DATE "Nov 1, 2025" )
5757
set ( MY_VERSION_MAJOR 1 )
5858
set ( MY_VERSION_MINOR 8 )
59-
set ( MY_VERSION_PATCH 9 )
59+
set ( MY_VERSION_PATCH 10 )
6060

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

9090
# look for all SuiteSparse packages:
91-
find_package ( SuiteSparse_config 7.11.0 REQUIRED )
91+
find_package ( SuiteSparse_config 7.12.0 REQUIRED )
9292
find_package ( AMD 3.3.4 REQUIRED )
9393
find_package ( BTF 2.3.3 REQUIRED )
9494
find_package ( CAMD 3.3.5 REQUIRED )
9595
find_package ( CCOLAMD 3.3.5 REQUIRED )
9696
find_package ( CHOLMOD 5.3.4 REQUIRED )
9797
find_package ( COLAMD 3.3.5 REQUIRED )
9898
find_package ( CXSparse 4.4.2 REQUIRED )
99-
find_package ( GraphBLAS 10.1.1 )
99+
find_package ( GraphBLAS 10.2.0 )
100100
find_package ( KLU 2.3.6 REQUIRED )
101101
find_package ( KLU_CHOLMOD 2.3.6 REQUIRED )
102+
find_package ( LAGraph 1.2.1 )
102103
find_package ( LDL 3.3.3 REQUIRED )
103-
find_package ( LAGraph 1.2.0 )
104-
find_package ( SuiteSparse_Mongoose 3.3.5 REQUIRED )
105-
find_package ( ParU 1.0.1 REQUIRED )
104+
find_package ( ParU 1.1.0 REQUIRED )
106105
find_package ( RBio 4.3.5 REQUIRED )
107106
find_package ( SPEX 3.2.4 REQUIRED ) # requires GMP and MPFR
108-
find_package ( SPQR 4.3.5 REQUIRED )
109-
find_package ( UMFPACK 6.3.6 REQUIRED )
107+
find_package ( SPQR 4.3.6 REQUIRED )
108+
find_package ( SuiteSparse_Mongoose 3.3.6 REQUIRED )
109+
find_package ( UMFPACK 6.3.7 REQUIRED )
110110

111111
#-------------------------------------------------------------------------------
112112
# 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 "July 25, 2025"
14+
#define MY_DATE "Nov 1, 2025"
1515
#define MY_MAJOR_VERSION 1
1616
#define MY_MINOR_VERSION 8
17-
#define MY_PATCH_VERSION 9
17+
#define MY_PATCH_VERSION 10
1818

1919
#ifdef __cplusplus
2020
extern "C" {

Example/Include/my_internal.h

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

1515
// SuiteSparse include files for C/C++:
1616
#include "SuiteSparse_config.h"
17-
#if !defined (SUITESPARSE__VERSION) || SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,10,4)
18-
#error "This library requires SuiteSparse_config 7.10.4 or later"
17+
#if !defined (SUITESPARSE__VERSION) || SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,12,0)
18+
#error "This library requires SuiteSparse_config 7.12.0 or later"
1919
#endif
2020

2121
#include "amd.h"
22-
#if !defined (AMD__VERSION) || AMD__VERSION < SUITESPARSE__VERCODE(3,3,3)
23-
#error "This library requires AMD 3.3.3 or later"
22+
#if !defined (AMD__VERSION) || AMD__VERSION < SUITESPARSE__VERCODE(3,3,4)
23+
#error "This library requires AMD 3.3.4 or later"
2424
#endif
2525

2626
#include "btf.h"
27-
#if !defined (BTF__VERSION) || BTF__VERSION < SUITESPARSE__VERCODE(2,3,2)
28-
#error "This library requires BTF 2.3.2 or later"
27+
#if !defined (BTF__VERSION) || BTF__VERSION < SUITESPARSE__VERCODE(2,3,3)
28+
#error "This library requires BTF 2.3.3 or later"
2929
#endif
3030

3131
#include "camd.h"
32-
#if !defined (CAMD__VERSION) || CAMD__VERSION < SUITESPARSE__VERCODE(3,3,4)
33-
#error "This library requires CAMD 3.3.4 or later"
32+
#if !defined (CAMD__VERSION) || CAMD__VERSION < SUITESPARSE__VERCODE(3,3,5)
33+
#error "This library requires CAMD 3.3.5 or later"
3434
#endif
3535

3636
#include "ccolamd.h"
37-
#if !defined (CCOLAMD__VERSION) || CCOLAMD__VERSION < SUITESPARSE__VERCODE(3,3,4)
38-
#error "This library requires CCOLAMD 3.3.4 or later"
37+
#if !defined (CCOLAMD__VERSION) || CCOLAMD__VERSION < SUITESPARSE__VERCODE(3,3,5)
38+
#error "This library requires CCOLAMD 3.3.5 or later"
3939
#endif
4040

4141
#include "cholmod.h"
42-
#if !defined (CHOLMOD__VERSION) || CHOLMOD__VERSION < SUITESPARSE__VERCODE(5,3,3)
43-
#error "This library requires CHOLMOD 5.3.3 or later"
42+
#if !defined (CHOLMOD__VERSION) || CHOLMOD__VERSION < SUITESPARSE__VERCODE(5,3,4)
43+
#error "This library requires CHOLMOD 5.3.4 or later"
4444
#endif
4545

4646
#include "colamd.h"
47-
#if !defined (COLAMD__VERSION) || COLAMD__VERSION < SUITESPARSE__VERCODE(3,3,4)
48-
#error "This library requires COLAMD 3.3.4 or later"
47+
#if !defined (COLAMD__VERSION) || COLAMD__VERSION < SUITESPARSE__VERCODE(3,3,5)
48+
#error "This library requires COLAMD 3.3.5 or later"
4949
#endif
5050

5151
#include "cs.h"
52-
#if !defined (CXSPARSE__VERSION) || CXSPARSE__VERSION < SUITESPARSE__VERCODE(4,4,1)
53-
#error "This library requires CXSparse 4.4.1 or later"
52+
#if !defined (CXSPARSE__VERSION) || CXSPARSE__VERSION < SUITESPARSE__VERCODE(4,4,2)
53+
#error "This library requires CXSparse 4.4.2 or later"
5454
#endif
5555

5656
#if ! defined (NO_GRAPHBLAS)
5757
#include "GraphBLAS.h"
5858
#if !defined ( GxB_SUITESPARSE_GRAPHBLAS ) || \
59-
GxB_IMPLEMENTATION < GxB_VERSION (10,1,1)
60-
#error "This library requires SuiteSparse:GraphBLAS 10.1.1 or later"
59+
GxB_IMPLEMENTATION < GxB_VERSION (10,2,0)
60+
#error "This library requires SuiteSparse:GraphBLAS 10.2.0 or later"
6161
#endif
6262
#endif
6363

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

7171
#include "klu.h"
72-
#if !defined (KLU__VERSION) || KLU__VERSION < SUITESPARSE__VERCODE(2,3,5)
73-
#error "This library requires KLU 2.3.5 or later"
72+
#if !defined (KLU__VERSION) || KLU__VERSION < SUITESPARSE__VERCODE(2,3,6)
73+
#error "This library requires KLU 2.3.6 or later"
7474
#endif
7575

7676
#include "ldl.h"
77-
#if !defined (LDL__VERSION) || LDL__VERSION < SUITESPARSE__VERCODE(3,3,2)
78-
#error "This library requires LDL 3.3.2 or later"
77+
#if !defined (LDL__VERSION) || LDL__VERSION < SUITESPARSE__VERCODE(3,3,3)
78+
#error "This library requires LDL 3.3.3 or later"
7979
#endif
8080

8181
#include "RBio.h"
82-
#if !defined (RBIO__VERSION) || RBIO__VERSION < SUITESPARSE__VERCODE(4,3,4)
83-
#error "This library requires RBio 4.3.4 or later"
82+
#if !defined (RBIO__VERSION) || RBIO__VERSION < SUITESPARSE__VERCODE(4,3,5)
83+
#error "This library requires RBio 4.3.5 or later"
8484
#endif
8585

8686
#include "SPEX.h"
87-
#if !defined (SPEX__VERSION) || SPEX__VERSION < SUITESPARSE__VERCODE(3,2,3)
88-
#error "This library requires SPEX 3.2.3 or later"
87+
#if !defined (SPEX__VERSION) || SPEX__VERSION < SUITESPARSE__VERCODE(3,2,4)
88+
#error "This library requires SPEX 3.2.4 or later"
8989
#endif
9090

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

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

101101
// SuiteSparse include files for C++:
102102
#ifdef __cplusplus
103103
#include "SuiteSparseQR.hpp"
104104

105105
#include "Mongoose.hpp"
106-
#if !defined (Mongoose__VERSION) || Mongoose__VERSION < SUITESPARSE__VERCODE(3,3,4)
107-
#error "This library requires Mongoose 3.3.4 or later"
106+
#if !defined (Mongoose__VERSION) || Mongoose__VERSION < SUITESPARSE__VERCODE(3,3,6)
107+
#error "This library requires Mongoose 3.3.6 or later"
108108
#endif
109109

110110
#endif

Example/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ all: library
4343

4444
demos: library
4545
( cd build && ./my_demo )
46+
( cd build && ./my_cxx_demo )
4647

4748
# just compile after running cmake; do not run cmake again
4849
remake:

Example/Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#-------------------------------------------------------------------------------
2-
# SuiteSparse/Example/Makefile
2+
# SuiteSparse/Example/Makefile.am
33
#-------------------------------------------------------------------------------
44

55
# Example: Copyright (c) 2023, Timothy A. Davis, All Rights Reserved.

GraphBLAS/CUDA/GB_cuda.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ void GB_cuda_upscale_identity
9090
// stream pool
9191
//------------------------------------------------------------------------------
9292

93-
GrB_Info GB_cuda_acquire_stream (cudaStream_t *stream) ;
94-
GrB_Info GB_cuda_release_stream (cudaStream_t *stream) ;
93+
GrB_Info GB_cuda_stream_pool_acquire (cudaStream_t *stream) ;
94+
GrB_Info GB_cuda_stream_pool_release (cudaStream_t *stream) ;
9595

9696
#endif
9797

GraphBLAS/CUDA/GB_cuda_AxB_dot3.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#define GB_FREE_ALL \
1818
{ \
1919
GB_phybix_free (C) ; \
20-
GB_cuda_release_stream (&stream) ; \
20+
GB_cuda_stream_pool_release (&stream) ; \
2121
}
2222

2323
#include "GB_cuda_AxB.hpp"
@@ -84,13 +84,11 @@ GrB_Info GB_cuda_AxB_dot3 // C<M> = A'*B using dot product method
8484
int device = -1;
8585
cudaStream_t stream = nullptr ;
8686

87-
// FIXME: control the GPU to use via the context
88-
// CUDA_OK (cudaSetDevice ( 0 )) ;
89-
CUDA_OK (cudaGetDevice (&device)) ; // FIXME
87+
CUDA_OK (cudaGetDevice (&device)) ; // FIXME: use the Context
9088
printf ("dot3 using cuda device %d\n", device) ;
9189
int number_of_sms = GB_Global_gpu_sm_get (0) ;
9290

93-
GB_OK (GB_cuda_acquire_stream (&stream)) ;
91+
GB_OK (GB_cuda_stream_pool_acquire (&stream)) ;
9492

9593
//--------------------------------------------------------------------------
9694
// get M
@@ -230,7 +228,7 @@ GrB_Info GB_cuda_AxB_dot3 // C<M> = A'*B using dot product method
230228
//--------------------------------------------------------------------------
231229

232230
ASSERT_MATRIX_OK (C, "C result from dot3 cuda A'*B", GB0) ;
233-
GB_OK (GB_cuda_release_stream (&stream)) ;
231+
GB_OK (GB_cuda_stream_pool_release (&stream)) ;
234232
return GrB_SUCCESS;
235233
}
236234

GraphBLAS/CUDA/GB_cuda_apply_binop.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#define GB_FREE_ALL \
1111
{ \
1212
GB_FREE_WORKSPACE ; \
13-
GB_cuda_release_stream (&stream) ; \
13+
GB_cuda_stream_pool_release (&stream) ; \
1414
}
1515

1616
#define BLOCK_SIZE 512
@@ -31,7 +31,7 @@ GrB_Info GB_cuda_apply_binop
3131
size_t scalarx_cuda_size = 0 ;
3232

3333
cudaStream_t stream = nullptr ;
34-
GB_OK (GB_cuda_acquire_stream (&stream)) ;
34+
GB_OK (GB_cuda_stream_pool_acquire (&stream)) ;
3535

3636
ASSERT (scalarx != NULL) ;
3737
// make a copy of scalarx to ensure it's not on the CPU stack
@@ -74,6 +74,6 @@ GrB_Info GB_cuda_apply_binop
7474
}
7575

7676
GB_FREE_WORKSPACE ;
77-
GB_OK (GB_cuda_release_stream (&stream)) ;
77+
GB_OK (GB_cuda_stream_pool_release (&stream)) ;
7878
return GrB_SUCCESS ;
7979
}

0 commit comments

Comments
 (0)