Skip to content

Commit

Permalink
Merge pull request #748 from DrTimothyAldenDavis/dev
Browse files Browse the repository at this point in the history
SuiteSparse 7.6.0
  • Loading branch information
DrTimothyAldenDavis authored Jan 25, 2024
2 parents 71d6d42 + 9706d50 commit 1a4d4fb
Show file tree
Hide file tree
Showing 110 changed files with 464 additions and 335 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,11 @@ jobs:
-DCMAKE_CUDA_COMPILER_LAUNCHER="ccache"
openmp: with
link: static
# "Fake" a cross-compilation to exercise that build system path
link-cmake-flags:
-DBUILD_SHARED_LIBS=OFF
-DBUILD_STATIC_LIBS=ON
-DCMAKE_SYSTEM_NAME="Linux"

env:
CC: ${{ matrix.cc }}
Expand Down
8 changes: 4 additions & 4 deletions CCOLAMD/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@

cmake_minimum_required ( VERSION 3.22 )

set ( CCOLAMD_DATE "Jan 10, 2024" )
set ( CCOLAMD_DATE "Jan 20, 2024" )
set ( CCOLAMD_VERSION_MAJOR 3 CACHE STRING "" FORCE )
set ( CCOLAMD_VERSION_MINOR 3 CACHE STRING "" FORCE )
set ( CCOLAMD_VERSION_SUB 1 CACHE STRING "" FORCE )
set ( CCOLAMD_VERSION_SUB 2 CACHE STRING "" FORCE )

message ( STATUS "Building CCOLAMD version: v"
${CCOLAMD_VERSION_MAJOR}.
Expand Down Expand Up @@ -43,10 +43,10 @@ include ( SuiteSparsePolicy )
#-------------------------------------------------------------------------------

if ( NOT SUITESPARSE_ROOT_CMAKELISTS )
find_package ( SuiteSparse_config 7.5.0
find_package ( SuiteSparse_config 7.6.0
PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/build NO_DEFAULT_PATH )
if ( NOT TARGET SuiteSparse::SuiteSparseConfig )
find_package ( SuiteSparse_config 7.5.0 REQUIRED )
find_package ( SuiteSparse_config 7.6.0 REQUIRED )
endif ( )
endif ( )

Expand Down
4 changes: 2 additions & 2 deletions CCOLAMD/Config/ccolamd.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@

#define CCOLAMD__VERSION SUITESPARSE__VERCODE(@CCOLAMD_VERSION_MAJOR@,@CCOLAMD_VERSION_MINOR@,@CCOLAMD_VERSION_SUB@)
#if !defined (SUITESPARSE__VERSION) || \
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,0))
#error "CCOLAMD @CCOLAMD_VERSION_MAJOR@.@CCOLAMD_VERSION_MINOR@.@CCOLAMD_VERSION_SUB@ requires SuiteSparse_config 7.5.0 or later"
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,6,0))
#error "CCOLAMD @CCOLAMD_VERSION_MAJOR@.@CCOLAMD_VERSION_MINOR@.@CCOLAMD_VERSION_SUB@ requires SuiteSparse_config 7.6.0 or later"
#endif

/* ========================================================================== */
Expand Down
4 changes: 4 additions & 0 deletions CCOLAMD/Doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
Jan 20, 2024: version 3.3.2

* minor updates to build system

Jan 10, 2024: version 3.3.1

* minor updates to build system
Expand Down
10 changes: 5 additions & 5 deletions CCOLAMD/Include/ccolamd.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,18 @@
* #endif
*/

#define CCOLAMD_DATE "Jan 10, 2024"
#define CCOLAMD_DATE "Jan 20, 2024"
#define CCOLAMD_MAIN_VERSION 3
#define CCOLAMD_SUB_VERSION 3
#define CCOLAMD_SUBSUB_VERSION 1
#define CCOLAMD_SUBSUB_VERSION 2

#define CCOLAMD_VERSION_CODE(main,sub) SUITESPARSE_VER_CODE(main,sub)
#define CCOLAMD_VERSION CCOLAMD_VERSION_CODE(3,3)

#define CCOLAMD__VERSION SUITESPARSE__VERCODE(3,3,1)
#define CCOLAMD__VERSION SUITESPARSE__VERCODE(3,3,2)
#if !defined (SUITESPARSE__VERSION) || \
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,0))
#error "CCOLAMD 3.3.1 requires SuiteSparse_config 7.5.0 or later"
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,6,0))
#error "CCOLAMD 3.3.2 requires SuiteSparse_config 7.6.0 or later"
#endif

/* ========================================================================== */
Expand Down
2 changes: 1 addition & 1 deletion CCOLAMD/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ remake:

# just run cmake to set things up
setup:
( cd build ; cmake $(CMAKE_OPTIONS) .. )
( cd build && cmake $(CMAKE_OPTIONS) .. )

install:
( cd build && cmake --install . )
Expand Down
27 changes: 12 additions & 15 deletions CHOLMOD/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
# cmake 3.22 is required to find the BLAS/LAPACK
cmake_minimum_required ( VERSION 3.22 )

set ( CHOLMOD_DATE "Jan 10, 2024" )
set ( CHOLMOD_DATE "Jan 20, 2024" )
set ( CHOLMOD_VERSION_MAJOR 5 CACHE STRING "" FORCE )
set ( CHOLMOD_VERSION_MINOR 1 CACHE STRING "" FORCE )
set ( CHOLMOD_VERSION_SUB 1 CACHE STRING "" FORCE )
set ( CHOLMOD_VERSION_MINOR 2 CACHE STRING "" FORCE )
set ( CHOLMOD_VERSION_SUB 0 CACHE STRING "" FORCE )

message ( STATUS "Building CHOLMOD version: v"
${CHOLMOD_VERSION_MAJOR}.
Expand Down Expand Up @@ -84,9 +84,6 @@ endif ( )
#-------------------------------------------------------------------------------

option ( CHOLMOD_USE_OPENMP "ON: Use OpenMP in CHOLMOD if available. OFF: Do not use OpenMP. (Default: SUITESPARSE_USE_OPENMP)" ${SUITESPARSE_USE_OPENMP} )
if ( NOT SUITESPARSE_USE_OPENMP )
set ( CHOLMOD_USE_OPENMP "OFF" CACHE STRING "" FORCE )
endif ( )
if ( CHOLMOD_USE_OPENMP )
if ( CMAKE_VERSION VERSION_LESS 3.24 )
find_package ( OpenMP COMPONENTS C )
Expand All @@ -98,7 +95,7 @@ else ( )
set ( OpenMP_C_FOUND OFF )
endif ( )

if ( OpenMP_C_FOUND )
if ( CHOLMOD_USE_OPENMP AND OpenMP_C_FOUND )
set ( CHOLMOD_HAS_OPENMP ON )
else ( )
set ( CHOLMOD_HAS_OPENMP OFF )
Expand All @@ -115,10 +112,10 @@ endif ( )
#-------------------------------------------------------------------------------

if ( NOT SUITESPARSE_ROOT_CMAKELISTS )
find_package ( SuiteSparse_config 7.5.0
find_package ( SuiteSparse_config 7.6.0
PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/build NO_DEFAULT_PATH )
if ( NOT TARGET SuiteSparse::SuiteSparseConfig )
find_package ( SuiteSparse_config 7.5.0 REQUIRED )
find_package ( SuiteSparse_config 7.6.0 REQUIRED )
endif ( )

find_package ( AMD 3.3.1
Expand All @@ -127,10 +124,10 @@ if ( NOT SUITESPARSE_ROOT_CMAKELISTS )
find_package ( AMD 3.3.1 REQUIRED )
endif ( )

find_package ( COLAMD 3.3.1
find_package ( COLAMD 3.3.2
PATHS ${CMAKE_SOURCE_DIR}/../COLAMD/build NO_DEFAULT_PATH )
if ( NOT TARGET SuiteSparse::COLAMD )
find_package ( COLAMD 3.3.1 REQUIRED )
find_package ( COLAMD 3.3.2 REQUIRED )
endif ( )
endif ( )

Expand Down Expand Up @@ -240,10 +237,10 @@ endif ( )
find_package ( CAMD 3.3.1 )
endif ( )

find_package ( CCOLAMD 3.3.1
find_package ( CCOLAMD 3.3.2
PATHS ${CMAKE_SOURCE_DIR}/../CCOLAMD/build NO_DEFAULT_PATH )
if ( NOT TARGET SuiteSparse::CCOLAMD )
find_package ( CCOLAMD 3.3.1 )
find_package ( CCOLAMD 3.3.2 )
endif ( )

if ( NOT CAMD_FOUND OR NOT CCOLAMD_FOUND )
Expand Down Expand Up @@ -554,10 +551,10 @@ if ( CHOLMOD_HAS_CUDA )
endif ( )
endif ( )

set ( old_CMAKE_EXTRA_INCLUDE_FILES CMAKE_EXTRA_INCLUDE_FILES )
set ( _orig_CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES} )
list ( APPEND CMAKE_EXTRA_INCLUDE_FILES "stdlib.h" )
check_type_size ( "__compar_fn_t" COMPAR_FN_T )
set ( CMAKE_EXTRA_INCLUDE_FILES old_CMAKE_EXTRA_INCLUDE_FILES )
set ( CMAKE_EXTRA_INCLUDE_FILES ${_orig_CMAKE_EXTRA_INCLUDE_FILES} )

if ( NOT HAVE_COMPAR_FN_T )
if ( BUILD_SHARED_LIBS )
Expand Down
6 changes: 4 additions & 2 deletions CHOLMOD/Config/cholmod.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -309,8 +309,8 @@ int cholmod_l_version (int version [3]) ;

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

//------------------------------------------------------------------------------
Expand Down Expand Up @@ -898,7 +898,9 @@ typedef struct cholmod_common_struct
int nthreads_max ; // max # of OpenMP threads to use in CHOLMOD.
// Defaults to SUITESPARSE_OPENMP_MAX_THREADS.

#ifdef BLAS_DUMP
FILE *blas_dump ; // only used if CHOLMOD is compiled with -DBLAS_DUMP
#endif

} cholmod_common ;

Expand Down
Binary file modified CHOLMOD/Doc/CHOLMOD_UserGuide.pdf
Binary file not shown.
8 changes: 8 additions & 0 deletions CHOLMOD/Doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
Jan 20, 2024: version 5.2.0

* bug fix: CHOLMOD 5.1.0 added a new variable in the CHOLMOD Common
struct for development only but this change broke ABI compatibility
since the SOVERSION was not bumped at the same time. v5.2.0 reverts
this change so the new variable does not appear in production, thus
restoring ABI compatibility with v5.0.x.

Jan 10, 2024: version 5.1.1

* MATLAB interface: add -DNO_SSIZE_T for Windows
Expand Down
2 changes: 1 addition & 1 deletion CHOLMOD/Doc/cholmod_version.tex
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
% version of SuiteSparse/CHOLMOD
\date{VERSION 5.1.1, Jan 10, 2024}
\date{VERSION 5.2.0, Jan 20, 2024}
16 changes: 9 additions & 7 deletions CHOLMOD/Include/cholmod.h
Original file line number Diff line number Diff line change
Expand Up @@ -246,13 +246,13 @@
// version control
//------------------------------------------------------------------------------

#define CHOLMOD_DATE "Jan 10, 2024"
#define CHOLMOD_DATE "Jan 20, 2024"
#define CHOLMOD_MAIN_VERSION 5
#define CHOLMOD_SUB_VERSION 1
#define CHOLMOD_SUBSUB_VERSION 1
#define CHOLMOD_SUB_VERSION 2
#define CHOLMOD_SUBSUB_VERSION 0

#define CHOLMOD_VER_CODE(main,sub) SUITESPARSE_VER_CODE(main,sub)
#define CHOLMOD_VERSION CHOLMOD_VER_CODE(5,1)
#define CHOLMOD_VERSION CHOLMOD_VER_CODE(5,2)
#define CHOLMOD_HAS_VERSION_FUNCTION

#ifdef __cplusplus
Expand Down Expand Up @@ -307,10 +307,10 @@ int cholmod_l_version (int version [3]) ;

#include "SuiteSparse_config.h"

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

//------------------------------------------------------------------------------
Expand Down Expand Up @@ -898,7 +898,9 @@ typedef struct cholmod_common_struct
int nthreads_max ; // max # of OpenMP threads to use in CHOLMOD.
// Defaults to SUITESPARSE_OPENMP_MAX_THREADS.

#ifdef BLAS_DUMP
FILE *blas_dump ; // only used if CHOLMOD is compiled with -DBLAS_DUMP
#endif

} cholmod_common ;

Expand Down
10 changes: 5 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ include ( SuiteSparsePolicy )

if ( SUITESPARSE_USE_SYSTEM_GRAPHBLAS )
list ( REMOVE_ITEM SUITESPARSE_ENABLE_PROJECTS "graphblas" )
find_package ( GraphBLAS 9.0.0 REQUIRED )
find_package ( GraphBLAS 9.0.1 REQUIRED )
else ( )
if ( "lagraph" IN_LIST SUITESPARSE_ENABLE_PROJECTS )
# LAGraph requires GraphBLAS.
Expand All @@ -136,7 +136,7 @@ endif ( )

if ( SUITESPARSE_USE_SYSTEM_CHOLMOD )
list ( REMOVE_ITEM SUITESPARSE_ENABLE_PROJECTS "cholmod" )
find_package ( CHOLMOD 5.1.1 REQUIRED )
find_package ( CHOLMOD 5.2.0 REQUIRED )
else ( )
if ( ( KLU_USE_CHOLMOD AND "klu" IN_LIST SUITESPARSE_ENABLE_PROJECTS )
OR ( UMFPACK_USE_CHOLMOD AND "umfpack" IN_LIST SUITESPARSE_ENABLE_PROJECTS )
Expand Down Expand Up @@ -170,7 +170,7 @@ endif ( )

if ( SUITESPARSE_USE_SYSTEM_COLAMD )
list ( REMOVE_ITEM SUITESPARSE_ENABLE_PROJECTS "colamd" )
find_package ( COLAMD 3.3.1 REQUIRED )
find_package ( COLAMD 3.3.2 REQUIRED )
else ( )
if ( "cholmod" IN_LIST SUITESPARSE_ENABLE_PROJECTS
OR "spex" IN_LIST SUITESPARSE_ENABLE_PROJECTS )
Expand All @@ -197,7 +197,7 @@ endif ( )

if ( SUITESPARSE_USE_SYSTEM_CCOLAMD )
list ( REMOVE_ITEM SUITESPARSE_ENABLE_PROJECTS "ccolamd" )
find_package ( CCOLAMD 3.3.1 REQUIRED )
find_package ( CCOLAMD 3.3.2 REQUIRED )
else ( )
if ( CHOLMOD_CAMD AND "cholmod" IN_LIST SUITESPARSE_ENABLE_PROJECTS )
# CHOLMOD can optionally use CCOLAMD.
Expand All @@ -210,7 +210,7 @@ endif ( )

if ( SUITESPARSE_USE_SYSTEM_SUITESPARSE_CONFIG )
list ( REMOVE_ITEM SUITESPARSE_ENABLE_PROJECTS "suitesparse_config" )
find_package ( SuiteSparse_config 7.5.0 REQUIRED )
find_package ( SuiteSparse_config 7.6.0 REQUIRED )
else ( )
if ( "mongoose" IN_LIST SUITESPARSE_ENABLE_PROJECTS
OR "amd" IN_LIST SUITESPARSE_ENABLE_PROJECTS
Expand Down
8 changes: 4 additions & 4 deletions COLAMD/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@

cmake_minimum_required ( VERSION 3.22 )

set ( COLAMD_DATE "Jan 10, 2024" )
set ( COLAMD_DATE "Jan 20, 2024" )
set ( COLAMD_VERSION_MAJOR 3 CACHE STRING "" FORCE )
set ( COLAMD_VERSION_MINOR 3 CACHE STRING "" FORCE )
set ( COLAMD_VERSION_SUB 1 CACHE STRING "" FORCE )
set ( COLAMD_VERSION_SUB 2 CACHE STRING "" FORCE )

message ( STATUS "Building COLAMD version: v"
${COLAMD_VERSION_MAJOR}.
Expand Down Expand Up @@ -43,10 +43,10 @@ include ( SuiteSparsePolicy )
#-------------------------------------------------------------------------------

if ( NOT SUITESPARSE_ROOT_CMAKELISTS )
find_package ( SuiteSparse_config 7.5.0
find_package ( SuiteSparse_config 7.6.0
PATHS ${CMAKE_SOURCE_DIR}/../SuiteSparse_config/build NO_DEFAULT_PATH )
if ( NOT TARGET SuiteSparse::SuiteSparseConfig )
find_package ( SuiteSparse_config 7.5.0 REQUIRED )
find_package ( SuiteSparse_config 7.6.0 REQUIRED )
endif ( )
endif ( )

Expand Down
4 changes: 2 additions & 2 deletions COLAMD/Config/colamd.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@

#define COLAMD__VERSION SUITESPARSE__VERCODE(@COLAMD_VERSION_MAJOR@,@COLAMD_VERSION_MINOR@,@COLAMD_VERSION_SUB@)
#if !defined (SUITESPARSE__VERSION) || \
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,0))
#error "COLAMD @COLAMD_VERSION_MAJOR@.@COLAMD_VERSION_MINOR@.@COLAMD_VERSION_SUB@ requires SuiteSparse_config 7.5.0 or later"
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,6,0))
#error "COLAMD @COLAMD_VERSION_MAJOR@.@COLAMD_VERSION_MINOR@.@COLAMD_VERSION_SUB@ requires SuiteSparse_config 7.6.0 or later"
#endif

/* ========================================================================== */
Expand Down
4 changes: 4 additions & 0 deletions COLAMD/Doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
Jan 20, 2024: version 3.3.2

* minor updates to build system

Jan 10, 2024: version 3.3.1

* minor updates to build system
Expand Down
10 changes: 5 additions & 5 deletions COLAMD/Include/colamd.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,18 +65,18 @@
* Versions 2.3 and earlier of COLAMD do not include a #define'd version number.
*/

#define COLAMD_DATE "Jan 10, 2024"
#define COLAMD_DATE "Jan 20, 2024"
#define COLAMD_MAIN_VERSION 3
#define COLAMD_SUB_VERSION 3
#define COLAMD_SUBSUB_VERSION 1
#define COLAMD_SUBSUB_VERSION 2

#define COLAMD_VERSION_CODE(main,sub) SUITESPARSE_VER_CODE(main,sub)
#define COLAMD_VERSION COLAMD_VERSION_CODE(3,3)

#define COLAMD__VERSION SUITESPARSE__VERCODE(3,3,1)
#define COLAMD__VERSION SUITESPARSE__VERCODE(3,3,2)
#if !defined (SUITESPARSE__VERSION) || \
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,5,0))
#error "COLAMD 3.3.1 requires SuiteSparse_config 7.5.0 or later"
(SUITESPARSE__VERSION < SUITESPARSE__VERCODE(7,6,0))
#error "COLAMD 3.3.2 requires SuiteSparse_config 7.6.0 or later"
#endif

/* ========================================================================== */
Expand Down
2 changes: 1 addition & 1 deletion COLAMD/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ remake:

# just run cmake to set things up
setup:
( cd build ; cmake $(CMAKE_OPTIONS) .. )
( cd build && cmake $(CMAKE_OPTIONS) .. )

install:
( cd build && cmake --install . )
Expand Down
Loading

0 comments on commit 1a4d4fb

Please sign in to comment.