Skip to content

Commit 7fec5d7

Browse files
Merge pull request #971 from DrTimothyAldenDavis/dev2
graphblas: handling gcc compiler bug on power and s390
2 parents 7933181 + ca2964c commit 7fec5d7

21 files changed

Lines changed: 639 additions & 150 deletions

.github/workflows/cross-compile.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,11 @@ jobs:
5151
ccache-max: 64M
5252
- arch: s390x
5353
target-triple: s390x-linux-gnu
54-
flags: --target=s390x-linux-gnu
55-
cc: clang
56-
cxx: clang++
54+
# flags: --target=s390x-linux-gnu
55+
# cc: clang
56+
# cxx: clang++
57+
cc: s390x-linux-gnu-gcc
58+
cxx: s390x-linux-gnu-g++
5759
ccache-max: 64M
5860
- arch: riscv64
5961
target-triple: riscv64-linux-gnu

ChangeLog

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
June 1, 2025: version 7.11.0
1+
June 2, 2025: version 7.11.0
22

33
* LAGraph v1.2: many new experimental algorithms, LAGraph_Random in src/
4-
* GraphBLAS v10.1.0: risc-V vectorization, GRAPHBLAS_VANILLA (optional;
5-
to disable GxB extensions), and cmake revisions to ensure gcc is not
6-
used to compile GraphBLAS on the Power or s390 processors (as a
7-
workaround around for a bug in the gcc compiler).
4+
* GraphBLAS v10.1.1: risc-V vectorization, GRAPHBLAS_VANILLA (optional;
5+
to disable GxB extensions), and workaround for gcc compiler bug on
6+
Power and s390x processors.
87
* nearly all packages: cmake updates, to move static targets into separate
98
exports (needed for Fedora packaging)
109
* Package versions in this release: (* denotes a new version)
@@ -18,7 +17,7 @@ June 1, 2025: version 7.11.0
1817
CSparse 4.3.2
1918
CXSparse 4.4.2 *
2019
Example 1.8.9 *
21-
GraphBLAS 10.1.0 *
20+
GraphBLAS 10.1.1 *
2221
KLU 2.3.6 *
2322
LDL 3.3.3 *
2423
LAGraph 1.2.0 *

Example/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ 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.0 )
99+
find_package ( GraphBLAS 10.1.1 )
100100
find_package ( KLU 2.3.6 REQUIRED )
101101
find_package ( KLU_CHOLMOD 2.3.6 REQUIRED )
102102
find_package ( LDL 3.3.3 REQUIRED )

Example/Demo/mydemo.out

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
My demo
2-
Date from #include 'my.h': May 5, 2025
3-
Date from compiled library: May 5, 2025
4-
version from #include 'my.h.': 1.8.8
5-
version from compiled library: 1.8.8
2+
Date from #include 'my.h': June 1, 2025
3+
Date from compiled library: June 1, 2025
4+
version from #include 'my.h.': 1.8.9
5+
version from compiled library: 1.8.9
66

77
------------------------------------------------------------
8-
MY: v1.8.8 (May 5, 2025)
9-
MY: v1.8.8 (in library)
10-
MY version code: 1008008
11-
MY date: May 5, 2025
8+
MY: v1.8.9 (June 1, 2025)
9+
MY: v1.8.9 (in library)
10+
MY version code: 1008009
11+
MY date: June 1, 2025
1212

1313
------------------------------------------------------------
14-
SuiteSparse_config: v7.10.3 (May 5, 2025)
15-
SuiteSparse_config: v7.10.3 (in library)
16-
SuiteSparse_config version code: 7010003
14+
SuiteSparse_config: v7.11.0 (June 1, 2025)
15+
SuiteSparse_config: v7.11.0 (in library)
16+
SuiteSparse_config version code: 7011000
1717

1818
------------------------------------------------------------
19-
CXSparse: v4.4.1 (June 20, 2024)
20-
CXSparse: v4.4.1 (in library)
21-
CXSparse version code: 4004001
22-
CXSparse Version 4.4.1, June 20, 2024. Copyright (c) Timothy A. Davis, 2006-2024
19+
CXSparse: v4.4.2 (June 1, 2025)
20+
CXSparse: v4.4.2 (in library)
21+
CXSparse version code: 4004002
22+
CXSparse Version 4.4.2, June 1, 2025. Copyright (c) Timothy A. Davis, 2006-2024
2323
2-by-2, nzmax: 4 nnz: 4, 1-norm: 34
2424
col 0 : locations 0 to 1
2525
0 : 11
@@ -29,78 +29,78 @@ CXSparse Version 4.4.1, June 20, 2024. Copyright (c) Timothy A. Davis, 2006-202
2929
1 : 22
3030

3131
------------------------------------------------------------
32-
AMD: v3.3.3 (June 20, 2024)
33-
AMD: v3.3.3 (in library)
34-
AMD version code: 3003003
32+
AMD: v3.3.4 (June 1, 2025)
33+
AMD: v3.3.4 (in library)
34+
AMD version code: 3003004
3535
P [0] = 0
3636
P [1] = 1
3737

3838
------------------------------------------------------------
39-
BTF: v2.3.2 (Mar 22, 2024)
40-
BTF: v2.3.2 (in library)
41-
BTF version code: 2003002
39+
BTF: v2.3.3 (June 1, 2025)
40+
BTF: v2.3.3 (in library)
41+
BTF version code: 2003003
4242
P [0] = 0
4343
P [1] = 1
4444
Q [0] = 0
4545
Q [1] = 1
4646
nblocks 1
4747

4848
------------------------------------------------------------
49-
CAMD: v3.3.4 (May 5, 2025)
50-
CAMD: v3.3.4 (in library)
51-
CAMD version code: 3003004
49+
CAMD: v3.3.5 (June 1, 2025)
50+
CAMD: v3.3.5 (in library)
51+
CAMD version code: 3003005
5252
P [0] = 0
5353
P [1] = 1
5454

5555
------------------------------------------------------------
56-
CCOLAMD: v3.3.4 (June 20, 2024)
57-
CCOLAMD: v3.3.4 (in library)
58-
CCOLAMD version code: 3003004
56+
CCOLAMD: v3.3.5 (June 1, 2025)
57+
CCOLAMD: v3.3.5 (in library)
58+
CCOLAMD version code: 3003005
5959
P [0] = 0
6060
P [1] = 1
6161

6262
------------------------------------------------------------
63-
COLAMD: v3.3.4 (June 20, 2024)
64-
COLAMD: v3.3.4 (in library)
65-
COLAMD version code: 3003004
63+
COLAMD: v3.3.5 (June 1, 2025)
64+
COLAMD: v3.3.5 (in library)
65+
COLAMD version code: 3003005
6666
P [0] = 0
6767
P [1] = 1
6868

6969
------------------------------------------------------------
70-
CHOLMOD: v5.3.3 (May 5, 2025)
71-
CHOLMOD: v5.3.3 (in library)
72-
CHOLMOD version code: 5003003
70+
CHOLMOD: v5.3.4 (June 1, 2025)
71+
CHOLMOD: v5.3.4 (in library)
72+
CHOLMOD version code: 5003004
7373

7474
------------------------------------------------------------
75-
GraphBLAS: v10.0.5 (May 5, 2025)
76-
GraphBLAS: v10.0.5 (in library)
77-
GraphBLAS version code: 10000005
75+
GraphBLAS: v10.1.1 (June 2, 2025)
76+
GraphBLAS: v10.1.1 (in library)
77+
GraphBLAS version code: 10001001
7878

7979
------------------------------------------------------------
80-
LAGraph: v1.1.5 (Feb 20, 2025)
81-
LAGraph: v1.1.5 (in library)
82-
LAGraph version code: 1001005
80+
LAGraph: v1.2.0 (June 1, 2025)
81+
LAGraph: v1.2.0 (in library)
82+
LAGraph version code: 1002000
8383

8484
------------------------------------------------------------
85-
KLU: v2.3.5 (Oct 10, 2024)
86-
KLU: v2.3.5 (in library)
87-
KLU version code: 2003005
85+
KLU: v2.3.6 (June 1, 2025)
86+
KLU: v2.3.6 (in library)
87+
KLU version code: 2003006
8888
x [0] = 36.4
8989
x [1] = -32.7
9090
error: 7.10543e-14
9191

9292
------------------------------------------------------------
93-
LDL: v3.3.2 (Mar 22, 2024)
94-
LDL: v3.3.2 (in library)
95-
LDL version code: 3003002
93+
LDL: v3.3.3 (June 1, 2025)
94+
LDL: v3.3.3 (in library)
95+
LDL version code: 3003003
9696
x2 [0] = 36.4
9797
x2 [1] = -32.7
9898
error: 0
9999

100100
------------------------------------------------------------
101-
RBio: v4.3.4 (Oct 10, 2024)
102-
RBio: v4.3.4 (in library)
103-
RBio version code: 4003004
101+
RBio: v4.3.5 (June 1, 2025)
102+
RBio: v4.3.5 (in library)
103+
RBio version code: 4003005
104104
njumbled 0, nzeros 0
105105
result 0
106106
mtype: iua
@@ -113,14 +113,14 @@ iua 2 2 4 0
113113
11 21 12 22
114114

115115
------------------------------------------------------------
116-
SPEX: v3.2.3 (Feb 20, 2025)
117-
SPEX: v3.2.3 (in library)
118-
SPEX version code: 3002003
116+
SPEX: v3.2.4 (June 1, 2025)
117+
SPEX: v3.2.4 (in library)
118+
SPEX version code: 3002004
119119

120120
------------------------------------------------------------
121-
SuiteSparseQR: v4.3.4 (June 20, 2024)
122-
SuiteSparseQR: v4.3.4 (in library)
123-
SuiteSparseQR version code: 4003004
121+
SuiteSparseQR: v4.3.5 (June 1, 2025)
122+
SuiteSparseQR: v4.3.5 (in library)
123+
SuiteSparseQR version code: 4003005
124124

125125
CHOLMOD dense: X from QR: 2-by-1,
126126
leading dimension 2, nzmax 2, real, double
@@ -131,10 +131,10 @@ CHOLMOD dense: X from QR: 2-by-1,
131131

132132

133133
------------------------------------------------------------
134-
UMFPACK: v6.3.5 (Sept 23, 2024)
135-
UMFPACK: v6.3.5 (in library)
136-
UMFPACK version code: 6003005
137-
UMFPACK V6.3.5 (Sept 23, 2024)
134+
UMFPACK: v6.3.6 (June 1, 2025)
135+
UMFPACK: v6.3.6 (in library)
136+
UMFPACK version code: 6003006
137+
UMFPACK V6.3.6 (June 1, 2025)
138138
UMFPACK: Copyright (c) 2005-2024 by Timothy A. Davis. All Rights Reserved.
139139

140140
UMFPACK License: SPDX-License-Identifier: GPL-2.0+
@@ -155,9 +155,9 @@ UMFPACK License: SPDX-License-Identifier: GPL-2.0+
155155

156156

157157
Availability: http://www.suitesparse.com
158-
UMFPACK V6.3.5 (Sept 23, 2024): OK
158+
UMFPACK V6.3.6 (June 1, 2025): OK
159159

160-
UMFPACK V6.3.5 (Sept 23, 2024), Info:
160+
UMFPACK V6.3.6 (June 1, 2025), Info:
161161
matrix entry defined as: double
162162
Int (generic integer) defined as: int64_t
163163
BLAS library used: Intel MKL 64lp BLAS (32-bit integers). size of BLAS integer: 4

Example/Include/my_internal.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@
5656
#if ! defined (NO_GRAPHBLAS)
5757
#include "GraphBLAS.h"
5858
#if !defined ( GxB_SUITESPARSE_GRAPHBLAS ) || \
59-
GxB_IMPLEMENTATION < GxB_VERSION (10,1,0)
60-
#error "This library requires SuiteSparse:GraphBLAS 10.1.0 or later"
59+
GxB_IMPLEMENTATION < GxB_VERSION (10,1,1)
60+
#error "This library requires SuiteSparse:GraphBLAS 10.1.1 or later"
6161
#endif
6262
#endif
6363

GraphBLAS/CUDA/GB_cuda_AxB_dot3.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,9 @@ GrB_Info GB_cuda_AxB_dot3 // C<M> = A'*B using dot product method
9898
int device = -1;
9999

100100
// FIXME: control the GPU to use via the descriptor
101-
CUDA_OK (cudaSetDevice ( 0 )) ;
102-
CUDA_OK (cudaGetDevice (&device)) ;
101+
// CUDA_OK (cudaSetDevice ( 0 )) ;
102+
CUDA_OK (cudaGetDevice (&device)) ; // FIXME
103+
printf ("dot3 using cuda device %d\n", device) ;
103104
int number_of_sms = GB_Global_gpu_sm_get (0) ;
104105

105106
//--------------------------------------------------------------------------

GraphBLAS/Doc/ChangeLog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
June 2, 2025: version 10.1.1
2+
3+
* gcc can now be used the Power or s390: workaround added;
4+
see Source/mxm/factory/GB_AxB_saxpy3_symbolic_fine_template.c.
5+
This resolves the issue found in v10.1.0.
6+
17
June 1, 2025: version 10.1.0
28

39
* add support for RISC-V vectorization: contributed by Rodion Suvorov
-990 Bytes
Binary file not shown.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
% version of SuiteSparse:GraphBLAS
22
\date{VERSION
3-
10.1.0,
4-
June 1, 2025}
3+
10.1.1,
4+
June 3, 2025}
55

GraphBLAS/Doc/UserGuide/GrB_installing.tex

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -199,18 +199,6 @@ \subsubsection{On the Intel-based Mac}
199199
\begin{verbatim}
200200
make CC=icc CXX=icpc \end{verbatim} }
201201

202-
%----------------------------------------
203-
\subsubsection{On IBM Power or IBM System/390}
204-
%----------------------------------------
205-
206-
You cannot use use \verb'gcc' to compile GraphBLAS on the Power or s390
207-
architectures. At least gcc versions up to 14.2.0 have a bug in the atomic
208-
capture on the IBM Power8 (see the comments in the \verb'Source/mxm/factory'
209-
folder). The bug also occurs on the s390 architecture. The cmake build script
210-
will report a fatal error if gcc is attempted to be used on these systems. Use
211-
\verb'clang', \verb'ibm-clang', or \verb'xlc' instead. Those compilers are
212-
able to correctly compile GraphBLAS on those systems.
213-
214202
%----------------------------------------
215203
\subsubsection{On Microsoft Windows}
216204
\label{sec:windows}

0 commit comments

Comments
 (0)