Skip to content

Commit

Permalink
Merge pull request #919 from DrTimothyAldenDavis/dev
Browse files Browse the repository at this point in the history
SuiteSparse 7.10.0 with GraphBLAS 10.0.0
  • Loading branch information
DrTimothyAldenDavis authored Mar 2, 2025
2 parents 76d1872 + e6561fe commit 1a91645
Show file tree
Hide file tree
Showing 5,180 changed files with 85,214 additions and 95,005 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
19 changes: 2 additions & 17 deletions .github/workflows/root-cmakelists-msvc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners
runs-on: windows-latest

name: msvc (${{ matrix.cc }} ${{ matrix.openmp }} OpenMP ${{ matrix.cuda }} CUDA, ${{ matrix.link }})
name: msvc (${{ matrix.cc }} ${{ matrix.openmp }} OpenMP, ${{ matrix.link }})

defaults:
run:
Expand All @@ -36,38 +36,23 @@ jobs:

matrix:
openmp: [with]
cuda: [with]
link: [both]
cc: [cl]
cxx: [cl]
include:
- openmp: with
cuda: with
link: both
cc: cl
cxx: cl
- openmp: with
cuda: without
link: both
cc: cl
cxx: cl
- openmp: without
cuda: without
link: both
cc: cl
cxx: cl
- openmp: with
cuda: with
link: static
cc: cl
cxx: cl
- openmp: with
cuda: without
link: both
cc: clang-cl
cxx: clang-cl
- openmp: with
cuda: without
link: both
cc: clang
cxx: clang++
Expand Down Expand Up @@ -126,7 +111,7 @@ jobs:
msystem: UCRT64

- uses: Jimver/[email protected].18
- uses: Jimver/[email protected].21
name: install CUDA toolkit
if: matrix.cuda == 'with'
id: cuda-toolkit
Expand Down
28 changes: 28 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
Mar 3, 2025: version 7.10.0

* GraphBLAS v10.0.0: major upgrade, now supporting 32-bit/64-bit integer
indices. Note the SO version change from 9 to 10. GraphBLAS v10 is
upward compatible with v9, but only if the user application is
recompiled.
* Package versions in this release: (* denotes a new version)
SuiteSparse_config 7.10.0 *
AMD 3.3.3
BTF 2.3.2
CAMD 3.3.3
CCOLAMD 3.3.4
CHOLMOD 5.3.1
COLAMD 3.3.4
CSparse 4.3.2
CXSparse 4.4.1
Example 1.8.5 *
GraphBLAS 10.0.0 *
KLU 2.3.5
LDL 3.3.2
LAGraph 1.1.5
SuiteSparse_Mongoose 3.3.4
ParU 1.0.0
RBio 4.3.4
SPEX 3.2.3
SPQR 4.3.4
UMFPACK 6.3.5

Feb 20, 2025: version 7.9.0

* GraphBLAS v9.4.5: Added the GxB_IndexBinaryOp. Added new JIT kernels.
Expand Down
8 changes: 4 additions & 4 deletions Example/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ message ( STATUS "MY prefix path: ${CMAKE_PREFIX_PATH}" )
#-------------------------------------------------------------------------------

# cmake inserts the date and version number into Include/my.h:
set ( MY_DATE "Feb 20, 2025" )
set ( MY_DATE "Mar 1, 2025" )
set ( MY_VERSION_MAJOR 1 )
set ( MY_VERSION_MINOR 8 )
set ( MY_VERSION_PATCH 4 )
set ( MY_VERSION_PATCH 5 )

message ( STATUS "Building MY library version: v"
${MY_VERSION_MAJOR}.
Expand Down Expand Up @@ -87,15 +87,15 @@ project ( my
#-------------------------------------------------------------------------------

# look for all SuiteSparse packages:
find_package ( SuiteSparse_config 7.9.0 REQUIRED )
find_package ( SuiteSparse_config 7.10.0 REQUIRED )
find_package ( AMD 3.3.3 REQUIRED )
find_package ( BTF 2.3.2 REQUIRED )
find_package ( CAMD 3.3.3 REQUIRED )
find_package ( CCOLAMD 3.3.4 REQUIRED )
find_package ( CHOLMOD 5.3.1 REQUIRED )
find_package ( COLAMD 3.3.4 REQUIRED )
find_package ( CXSparse 4.4.1 REQUIRED )
find_package ( GraphBLAS 9.4.5 )
find_package ( GraphBLAS 10.0.0 )
find_package ( KLU 2.3.5 REQUIRED )
find_package ( KLU_CHOLMOD 2.3.5 REQUIRED )
find_package ( LDL 3.3.2 REQUIRED )
Expand Down
8 changes: 4 additions & 4 deletions Example/Include/my_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@

// SuiteSparse include files for C/C++:
#include "SuiteSparse_config.h"
#if !defined (SUITESPARSE__VERSION) || SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,9,0)
#error "This library requires SuiteSparse_config 7.9.0 or later"
#if !defined (SUITESPARSE__VERSION) || SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,10,0)
#error "This library requires SuiteSparse_config 7.10.0 or later"
#endif

#include "amd.h"
Expand Down Expand Up @@ -56,8 +56,8 @@
#if ! defined (NO_GRAPHBLAS)
#include "GraphBLAS.h"
#if !defined ( GxB_SUITESPARSE_GRAPHBLAS ) || \
GxB_IMPLEMENTATION < GxB_VERSION (9,4,5)
#error "This library requires SuiteSparse:GraphBLAS 9.4.5 or later"
GxB_IMPLEMENTATION < GxB_VERSION (10,0,0)
#error "This library requires SuiteSparse:GraphBLAS 10.0.0 or later"
#endif
#endif

Expand Down
14 changes: 0 additions & 14 deletions GraphBLAS/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,21 +41,7 @@ errlog*.txt
fprint.txt
log.txt

Demo/bfs_demo.out
Demo/openmp_demo.out
Demo/pagerank_demo.out
Demo/pthread_demo.out
Demo/simple_demo.out
Demo/tri_demo.out
Demo/wildtype_demo.out
Demo/*.log
Demo/complex_demo_out.m
Demo/complex_demo_out2.m
Demo/import_demo.out
Demo/gauss_demo1.out
Demo/gauss_demo.out
Demo/t1.out
Demo/t2.out

Test/*.log
Test/errlog.txt
Expand Down
27 changes: 2 additions & 25 deletions GraphBLAS/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# GraphBLAS/CMakeLists.txt: cmake script for GraphBLAS
#-------------------------------------------------------------------------------

# SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2023, All Rights Reserved.
# SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2025, All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0

# See the User Guide for details on how to compile SuiteSparse:GraphBLAS.
Expand Down Expand Up @@ -41,7 +41,7 @@ if ( NOT BUILD_SHARED_LIBS )
endif ( )

# CUDA is under development for now, and not deployed in production:
set ( GRAPHBLAS_USE_CUDA OFF )
set ( GRAPHBLAS_USE_CUDA OFF ) # turn CUDA off in production
# set ( GRAPHBLAS_USE_CUDA ON ) # use this for CUDA development only

include ( SuiteSparsePolicy )
Expand Down Expand Up @@ -517,65 +517,42 @@ if ( SUITESPARSE_DEMOS )
# Demo programs
#---------------------------------------------------------------------------

add_executable ( openmp_demo "Demo/Program/openmp_demo.c" )
add_executable ( openmp2_demo "Demo/Program/openmp2_demo.c" )
add_executable ( complex_demo "Demo/Program/complex_demo.c" )
add_executable ( kron_demo "Demo/Program/kron_demo.c" )
add_executable ( simple_demo "Demo/Program/simple_demo.c" )
add_executable ( wildtype_demo "Demo/Program/wildtype_demo.c" )
add_executable ( reduce_demo "Demo/Program/reduce_demo.c" )
add_executable ( import_demo "Demo/Program/import_demo.c" )
add_executable ( wathen_demo "Demo/Program/wathen_demo.c" )
add_executable ( context_demo "Demo/Program/context_demo.c" )
add_executable ( gauss_demo "Demo/Program/gauss_demo.c" )
add_executable ( grow_demo "Demo/Program/grow_demo.c" )

# Libraries required for Demo programs
if ( BUILD_SHARED_LIBS )
target_link_libraries ( openmp_demo PUBLIC GraphBLAS )
target_link_libraries ( openmp2_demo PUBLIC GraphBLAS )
target_link_libraries ( complex_demo PUBLIC GraphBLAS )
target_link_libraries ( kron_demo PUBLIC GraphBLAS )
target_link_libraries ( simple_demo PUBLIC GraphBLAS )
target_link_libraries ( wildtype_demo PUBLIC GraphBLAS )
target_link_libraries ( reduce_demo PUBLIC GraphBLAS )
target_link_libraries ( import_demo PUBLIC GraphBLAS )
target_link_libraries ( wathen_demo PUBLIC GraphBLAS )
target_link_libraries ( context_demo PUBLIC GraphBLAS )
target_link_libraries ( gauss_demo PUBLIC GraphBLAS )
target_link_libraries ( grow_demo PUBLIC GraphBLAS )
else ( )
target_link_libraries ( openmp_demo PUBLIC GraphBLAS_static )
target_link_libraries ( openmp2_demo PUBLIC GraphBLAS_static )
target_link_libraries ( complex_demo PUBLIC GraphBLAS_static )
target_link_libraries ( kron_demo PUBLIC GraphBLAS_static )
target_link_libraries ( simple_demo PUBLIC GraphBLAS_static )
target_link_libraries ( wildtype_demo PUBLIC GraphBLAS_static )
target_link_libraries ( reduce_demo PUBLIC GraphBLAS_static )
target_link_libraries ( import_demo PUBLIC GraphBLAS_static )
target_link_libraries ( wathen_demo PUBLIC GraphBLAS_static )
target_link_libraries ( context_demo PUBLIC GraphBLAS_static )
target_link_libraries ( gauss_demo PUBLIC GraphBLAS_static )
target_link_libraries ( grow_demo PUBLIC GraphBLAS_static )
endif ( )

target_link_libraries ( openmp_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )
target_link_libraries ( openmp2_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )
target_link_libraries ( complex_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )
target_link_libraries ( kron_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )
target_link_libraries ( simple_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )
target_link_libraries ( wildtype_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )
target_link_libraries ( reduce_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )
target_link_libraries ( import_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )
target_link_libraries ( wathen_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )
target_link_libraries ( context_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )
target_link_libraries ( gauss_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )
target_link_libraries ( grow_demo PUBLIC ${GB_M} ${GB_CUDA} ${GB_RMM} )

if ( GRAPHBLAS_HAS_OPENMP )
target_link_libraries ( openmp_demo PUBLIC OpenMP::OpenMP_C )
target_link_libraries ( openmp2_demo PUBLIC OpenMP::OpenMP_C )
target_link_libraries ( reduce_demo PUBLIC OpenMP::OpenMP_C )
target_link_libraries ( wathen_demo PUBLIC OpenMP::OpenMP_C )
target_link_libraries ( context_demo PUBLIC OpenMP::OpenMP_C )
target_link_libraries ( grow_demo PUBLIC OpenMP::OpenMP_C )
Expand Down
8 changes: 6 additions & 2 deletions GraphBLAS/CUDA/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# GraphBLAS/CUDA/CMakeLists.txt: cmake script for GraphBLAS/CUDA
#-------------------------------------------------------------------------------

# SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2024, All Rights Reserved.
# SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2025, All Rights Reserved.

# Some files in this folder are (c) NVIDIA or (c) Google. Please refer
# to their individual licenses (Apache, BSD, or others).
Expand All @@ -16,7 +16,10 @@ project ( GRAPHBLAS_CUDA
VERSION "${GraphBLAS_VERSION_MAJOR}.${GraphBLAS_VERSION_MINOR}.${GraphBLAS_VERSION_SUB}"
LANGUAGES CXX CUDA )

cmake_policy ( SET CMP0135 NEW ) # URL download timestamp policy
if ( CMAKE_VERSION VERSION_GREATER_EQUAL 3.24 )
# requires cmake 3.24:
cmake_policy ( SET CMP0135 NEW ) # URL download timestamp policy
endif ( )

set ( CMAKE_CXX_STANDARD 17 )

Expand Down Expand Up @@ -49,6 +52,7 @@ target_include_directories ( GraphBLAS_CUDA PRIVATE
../Include
../rmm_wrap
../Source
../Source/hyper
../Source/builtin
)

Expand Down
2 changes: 1 addition & 1 deletion GraphBLAS/CUDA/Config/GraphBLAS_CUDA.pc.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# GraphBLAS_CUDA, Copyright (c) 2017-2024, FIXME
# GraphBLAS_CUDA, Copyright (c) 2017-2025, FIXME
# All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0

Expand Down
2 changes: 1 addition & 1 deletion GraphBLAS/CUDA/Config/GraphBLAS_CUDAConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

# The following copyright and license applies to just this file only, not to
# the library itself:
# GraphBLASConfig.cmake, Copyright (c) 2023-2024, FIXME
# GraphBLASConfig.cmake, Copyright (c) 2023-2025, FIXME
# SPDX-License-Identifier: BSD-3-clause

#-------------------------------------------------------------------------------
Expand Down
12 changes: 5 additions & 7 deletions GraphBLAS/CUDA/GB_cuda.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
// GraphBLAS/CUDA/GB_cuda.hpp: include file for host CUDA methods (not for JIT)
//------------------------------------------------------------------------------

// SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2024, All Rights Reserved.
// This file: Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.
// SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2025, All Rights Reserved.
// This file: Copyright (c) 2024-2025, NVIDIA CORPORATION. All rights reserved.
// SPDX-License-Identifier: Apache-2.0

//------------------------------------------------------------------------------
Expand Down Expand Up @@ -39,7 +39,7 @@ extern "C"
//------------------------------------------------------------------------------

// for the "which" parameter of GB_cuda_matrix_prefetch:
// FIXME: rename this to GB_WHATEVER_P for GB_cuda_matrix_advise
// FIXME: rename this to GB_WHATEVER_P for GB_cuda_matrix_memadvise

#define GB_PREFETCH_P 1
#define GB_PREFETCH_H 2
Expand All @@ -64,13 +64,11 @@ GrB_Info GB_cuda_matrix_prefetch
) ;

#if 0
// do we need this function too?
GrB_Info GB_cuda_matrix_advise
// we need this function too:
GrB_Info GB_cuda_matrix_memadvise
(
GrB_Matrix A,

p, h, y, b, i, x? 6 bools

what to do: advise (prefer location? access by)? prefetch? nothing?
avdice: enum (1 to 6)

Expand Down
2 changes: 1 addition & 1 deletion GraphBLAS/CUDA/GB_cuda_AxB.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// GraphBLAS/CUDA/GB_cuda_AxB.hpp
//------------------------------------------------------------------------------

// SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2024, All Rights Reserved.
// SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2025, All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

//------------------------------------------------------------------------------
Expand Down
Loading

0 comments on commit 1a91645

Please sign in to comment.