upgrade colamd to suite-sparse-5.4.0
parent
cb3e7560d2
commit
939aba3621
|
@ -1560,9 +1560,8 @@ PUBLIC Int CCOLAMD_2 /* returns TRUE if successful, FALSE otherwise */
|
||||||
Int *dead_cols ;
|
Int *dead_cols ;
|
||||||
Int set1 ;
|
Int set1 ;
|
||||||
Int set2 ;
|
Int set2 ;
|
||||||
#ifndef NDEBUG
|
|
||||||
Int cs ;
|
Int cs ;
|
||||||
#endif
|
|
||||||
int ok ;
|
int ok ;
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
|
@ -1910,10 +1909,8 @@ PUBLIC Int CCOLAMD_2 /* returns TRUE if successful, FALSE otherwise */
|
||||||
p [k] = col ;
|
p [k] = col ;
|
||||||
ASSERT (A [col] == EMPTY) ;
|
ASSERT (A [col] == EMPTY) ;
|
||||||
|
|
||||||
#ifndef NDEBUG
|
|
||||||
cs = CMEMBER (col) ;
|
cs = CMEMBER (col) ;
|
||||||
ASSERT (k >= cset_start [cs] && k < cset_start [cs+1]) ;
|
ASSERT (k >= cset_start [cs] && k < cset_start [cs+1]) ;
|
||||||
#endif
|
|
||||||
|
|
||||||
A [col] = k ;
|
A [col] = k ;
|
||||||
k++ ;
|
k++ ;
|
||||||
|
@ -1929,11 +1926,11 @@ PUBLIC Int CCOLAMD_2 /* returns TRUE if successful, FALSE otherwise */
|
||||||
if (A [col] == EMPTY)
|
if (A [col] == EMPTY)
|
||||||
{
|
{
|
||||||
k = Col [col].shared2.order ;
|
k = Col [col].shared2.order ;
|
||||||
#ifndef NDEBUG
|
|
||||||
cs = CMEMBER (col) ;
|
cs = CMEMBER (col) ;
|
||||||
|
#ifndef NDEBUG
|
||||||
dead_cols [cs]-- ;
|
dead_cols [cs]-- ;
|
||||||
ASSERT (k >= cset_start [cs] && k < cset_start [cs+1]) ;
|
|
||||||
#endif
|
#endif
|
||||||
|
ASSERT (k >= cset_start [cs] && k < cset_start [cs+1]) ;
|
||||||
DEBUG1 (("ccolamd output ordering: k "ID" col "ID
|
DEBUG1 (("ccolamd output ordering: k "ID" col "ID
|
||||||
" (dense or null col)\n", k, col)) ;
|
" (dense or null col)\n", k, col)) ;
|
||||||
p [k] = col ;
|
p [k] = col ;
|
||||||
|
|
|
@ -7,8 +7,8 @@ export SUITESPARSE
|
||||||
|
|
||||||
# version of SuiteSparse_config is also version of SuiteSparse meta-package
|
# version of SuiteSparse_config is also version of SuiteSparse meta-package
|
||||||
LIBRARY = libsuitesparseconfig
|
LIBRARY = libsuitesparseconfig
|
||||||
VERSION = 4.5.6
|
VERSION = 5.4.0
|
||||||
SO_VERSION = 4
|
SO_VERSION = 5
|
||||||
|
|
||||||
default: library
|
default: library
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
SuiteSparse_config, 2017, Timothy A. Davis, http://www.suitesparse.com
|
SuiteSparse_config, 2018, Timothy A. Davis, http://www.suitesparse.com
|
||||||
(formerly the UFconfig package)
|
(formerly the UFconfig package)
|
||||||
|
|
||||||
This directory contains a default SuiteSparse_config.mk file. It tries to
|
This directory contains a default SuiteSparse_config.mk file. It tries to
|
||||||
|
@ -37,6 +37,7 @@ SuiteSparse_config is not required by these packages:
|
||||||
|
|
||||||
CSparse a Concise Sparse matrix package
|
CSparse a Concise Sparse matrix package
|
||||||
MATLAB_Tools toolboxes for use in MATLAB
|
MATLAB_Tools toolboxes for use in MATLAB
|
||||||
|
GraphBLAS graph algorithms in the language of linear algebra
|
||||||
|
|
||||||
In addition, the xerbla/ directory contains Fortan and C versions of the
|
In addition, the xerbla/ directory contains Fortan and C versions of the
|
||||||
BLAS/LAPACK xerbla routine, which is called when an invalid input is passed to
|
BLAS/LAPACK xerbla routine, which is called when an invalid input is passed to
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
/* SuiteSparse configuration : memory manager and printf functions. */
|
/* SuiteSparse configuration : memory manager and printf functions. */
|
||||||
|
|
||||||
/* Copyright (c) 2013, Timothy A. Davis. No licensing restrictions
|
/* Copyright (c) 2013-2018, Timothy A. Davis. No licensing restrictions
|
||||||
* apply to this file or to the SuiteSparse_config directory.
|
* apply to this file or to the SuiteSparse_config directory.
|
||||||
* Author: Timothy A. Davis.
|
* Author: Timothy A. Davis.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -177,38 +177,7 @@ int SuiteSparse_divcomplex
|
||||||
/* SuiteSparse is not a package itself, but a collection of packages, some of
|
/* SuiteSparse is not a package itself, but a collection of packages, some of
|
||||||
* which must be used together (UMFPACK requires AMD, CHOLMOD requires AMD,
|
* which must be used together (UMFPACK requires AMD, CHOLMOD requires AMD,
|
||||||
* COLAMD, CAMD, and CCOLAMD, etc). A version number is provided here for the
|
* COLAMD, CAMD, and CCOLAMD, etc). A version number is provided here for the
|
||||||
* collection itself. The versions of packages within each version of
|
* collection itself, which is also the version number of SuiteSparse_config.
|
||||||
* SuiteSparse are meant to work together. Combining one package from one
|
|
||||||
* version of SuiteSparse, with another package from another version of
|
|
||||||
* SuiteSparse, may or may not work.
|
|
||||||
*
|
|
||||||
* SuiteSparse contains the following packages:
|
|
||||||
*
|
|
||||||
* SuiteSparse_config version 4.5.6 (version always the same as SuiteSparse)
|
|
||||||
* AMD version 2.4.6
|
|
||||||
* BTF version 1.2.6
|
|
||||||
* CAMD version 2.4.6
|
|
||||||
* CCOLAMD version 2.9.6
|
|
||||||
* CHOLMOD version 3.0.11
|
|
||||||
* COLAMD version 2.9.6
|
|
||||||
* CSparse version 3.1.9
|
|
||||||
* CXSparse version 3.1.9
|
|
||||||
* GPUQREngine version 1.0.5
|
|
||||||
* KLU version 1.3.8
|
|
||||||
* LDL version 2.2.6
|
|
||||||
* RBio version 2.2.6
|
|
||||||
* SPQR version 2.0.8
|
|
||||||
* SuiteSparse_GPURuntime version 1.0.5
|
|
||||||
* UMFPACK version 5.7.6
|
|
||||||
* MATLAB_Tools various packages & M-files
|
|
||||||
* xerbla version 1.0.3
|
|
||||||
*
|
|
||||||
* Other package dependencies:
|
|
||||||
* BLAS required by CHOLMOD and UMFPACK
|
|
||||||
* LAPACK required by CHOLMOD
|
|
||||||
* METIS 5.1.0 required by CHOLMOD (optional) and KLU (optional)
|
|
||||||
* CUBLAS, CUDART NVIDIA libraries required by CHOLMOD and SPQR when
|
|
||||||
* they are compiled with GPU acceleration.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int SuiteSparse_version /* returns SUITESPARSE_VERSION */
|
int SuiteSparse_version /* returns SUITESPARSE_VERSION */
|
||||||
|
@ -233,11 +202,11 @@ int SuiteSparse_version /* returns SUITESPARSE_VERSION */
|
||||||
*/
|
*/
|
||||||
#define SUITESPARSE_HAS_VERSION_FUNCTION
|
#define SUITESPARSE_HAS_VERSION_FUNCTION
|
||||||
|
|
||||||
#define SUITESPARSE_DATE "Oct 3, 2017"
|
#define SUITESPARSE_DATE "Dec 28, 2018"
|
||||||
#define SUITESPARSE_VER_CODE(main,sub) ((main) * 1000 + (sub))
|
#define SUITESPARSE_VER_CODE(main,sub) ((main) * 1000 + (sub))
|
||||||
#define SUITESPARSE_MAIN_VERSION 4
|
#define SUITESPARSE_MAIN_VERSION 5
|
||||||
#define SUITESPARSE_SUB_VERSION 5
|
#define SUITESPARSE_SUB_VERSION 4
|
||||||
#define SUITESPARSE_SUBSUB_VERSION 6
|
#define SUITESPARSE_SUBSUB_VERSION 0
|
||||||
#define SUITESPARSE_VERSION \
|
#define SUITESPARSE_VERSION \
|
||||||
SUITESPARSE_VER_CODE(SUITESPARSE_MAIN_VERSION,SUITESPARSE_SUB_VERSION)
|
SUITESPARSE_VER_CODE(SUITESPARSE_MAIN_VERSION,SUITESPARSE_SUB_VERSION)
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,11 @@
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|
||||||
# This file contains all configuration settings for all packages in SuiteSparse,
|
# This file contains all configuration settings for all packages in SuiteSparse,
|
||||||
# except for CSparse (which is stand-alone) and the packages in MATLAB_Tools.
|
# except for CSparse (which is stand-alone), the packages in MATLAB_Tools,
|
||||||
|
# and GraphBLAS. The configuration settings for GraphBLAS are determined by
|
||||||
|
# GraphBLAS/CMakeLists.txt
|
||||||
|
|
||||||
SUITESPARSE_VERSION = 4.5.6
|
SUITESPARSE_VERSION = 5.4.0
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Options you can change without editing this file:
|
# Options you can change without editing this file:
|
||||||
|
@ -57,6 +59,15 @@ SUITESPARSE_VERSION = 4.5.6
|
||||||
INSTALL_INCLUDE ?= $(INSTALL)/include
|
INSTALL_INCLUDE ?= $(INSTALL)/include
|
||||||
INSTALL_DOC ?= $(INSTALL)/share/doc/suitesparse-$(SUITESPARSE_VERSION)
|
INSTALL_DOC ?= $(INSTALL)/share/doc/suitesparse-$(SUITESPARSE_VERSION)
|
||||||
|
|
||||||
|
CMAKE_OPTIONS ?= -DCMAKE_INSTALL_PREFIX=$(INSTALL)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# parallel make
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# sequential make's by default
|
||||||
|
JOBS ?= 1
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# optimization level
|
# optimization level
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@ -83,14 +94,6 @@ SUITESPARSE_VERSION = 4.5.6
|
||||||
LDFLAGS += --coverage
|
LDFLAGS += --coverage
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# CFLAGS for the C/C++ compiler
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# The CF macro is used by SuiteSparse Makefiles as a combination of
|
|
||||||
# CFLAGS, CPPFLAGS, TARGET_ARCH, and system-dependent settings.
|
|
||||||
CF ?= $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $(OPTIMIZATION) -fexceptions -fPIC
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# OpenMP is used in CHOLMOD
|
# OpenMP is used in CHOLMOD
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@ -112,10 +115,12 @@ SUITESPARSE_VERSION = 4.5.6
|
||||||
ifneq ($(AUTOCC),no)
|
ifneq ($(AUTOCC),no)
|
||||||
ifneq ($(shell which icc 2>/dev/null),)
|
ifneq ($(shell which icc 2>/dev/null),)
|
||||||
# use the Intel icc compiler for C codes, and -qopenmp for OpenMP
|
# use the Intel icc compiler for C codes, and -qopenmp for OpenMP
|
||||||
CC = icc -D_GNU_SOURCE
|
CC = icc
|
||||||
CXX = $(CC)
|
CFLAGS += -D_GNU_SOURCE
|
||||||
|
CXX = icpc
|
||||||
CFOPENMP = -qopenmp -I$(MKLROOT)/include
|
CFOPENMP = -qopenmp -I$(MKLROOT)/include
|
||||||
LDFLAGS += -openmp
|
LDFLAGS += -qopenmp
|
||||||
|
LDLIBS += -lm -lirc
|
||||||
endif
|
endif
|
||||||
ifneq ($(shell which ifort 2>/dev/null),)
|
ifneq ($(shell which ifort 2>/dev/null),)
|
||||||
# use the Intel ifort compiler for Fortran codes
|
# use the Intel ifort compiler for Fortran codes
|
||||||
|
@ -123,6 +128,16 @@ SUITESPARSE_VERSION = 4.5.6
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
CMAKE_OPTIONS += -DCMAKE_CXX_COMPILER=$(CXX) -DCMAKE_C_COMPILER=$(CC)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# CFLAGS for the C/C++ compiler
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The CF macro is used by SuiteSparse Makefiles as a combination of
|
||||||
|
# CFLAGS, CPPFLAGS, TARGET_ARCH, and system-dependent settings.
|
||||||
|
CF ?= $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $(OPTIMIZATION) -fexceptions -fPIC
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# code formatting (for Tcov on Linux only)
|
# code formatting (for Tcov on Linux only)
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@ -157,7 +172,7 @@ SUITESPARSE_VERSION = 4.5.6
|
||||||
# $(MKLROOT)/lib/intel64/libmkl_intel_thread.a \
|
# $(MKLROOT)/lib/intel64/libmkl_intel_thread.a \
|
||||||
# -Wl,--end-group -lpthread -lm
|
# -Wl,--end-group -lpthread -lm
|
||||||
# using dynamic linking:
|
# using dynamic linking:
|
||||||
BLAS = -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -lpthread -lm
|
BLAS = -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -liomp5 -lpthread -lm
|
||||||
LAPACK =
|
LAPACK =
|
||||||
else
|
else
|
||||||
# use the OpenBLAS at http://www.openblas.net
|
# use the OpenBLAS at http://www.openblas.net
|
||||||
|
@ -223,12 +238,16 @@ SUITESPARSE_VERSION = 4.5.6
|
||||||
CUBLAS_LIB = $(CUDA_PATH)/lib64/libcublas.so
|
CUBLAS_LIB = $(CUDA_PATH)/lib64/libcublas.so
|
||||||
CUDA_INC_PATH = $(CUDA_PATH)/include/
|
CUDA_INC_PATH = $(CUDA_PATH)/include/
|
||||||
CUDA_INC = -I$(CUDA_INC_PATH)
|
CUDA_INC = -I$(CUDA_INC_PATH)
|
||||||
|
MAGMA_INC = -I/opt/magma-2.4.0/include/
|
||||||
|
MAGMA_LIB = -L/opt/magma-2.4.0/lib/ -lmagma
|
||||||
NVCC = $(CUDA_PATH)/bin/nvcc
|
NVCC = $(CUDA_PATH)/bin/nvcc
|
||||||
NVCCFLAGS = -Xcompiler -fPIC -O3 \
|
NVCCFLAGS = -Xcompiler -fPIC -O3 \
|
||||||
-gencode=arch=compute_30,code=sm_30 \
|
-gencode=arch=compute_30,code=sm_30 \
|
||||||
-gencode=arch=compute_35,code=sm_35 \
|
-gencode=arch=compute_35,code=sm_35 \
|
||||||
-gencode=arch=compute_50,code=sm_50 \
|
-gencode=arch=compute_50,code=sm_50 \
|
||||||
-gencode=arch=compute_50,code=compute_50
|
-gencode=arch=compute_53,code=sm_53 \
|
||||||
|
-gencode=arch=compute_53,code=sm_53 \
|
||||||
|
-gencode=arch=compute_60,code=compute_60
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@ -555,6 +574,7 @@ config:
|
||||||
@echo 'Install include files in: INSTALL_INCLUDE=' '$(INSTALL_INCLUDE)'
|
@echo 'Install include files in: INSTALL_INCLUDE=' '$(INSTALL_INCLUDE)'
|
||||||
@echo 'Install documentation in: INSTALL_DOC= ' '$(INSTALL_DOC)'
|
@echo 'Install documentation in: INSTALL_DOC= ' '$(INSTALL_DOC)'
|
||||||
@echo 'Optimization level: OPTIMIZATION= ' '$(OPTIMIZATION)'
|
@echo 'Optimization level: OPTIMIZATION= ' '$(OPTIMIZATION)'
|
||||||
|
@echo 'parallel make jobs: JOBS= ' '$(JOBS)'
|
||||||
@echo 'BLAS library: BLAS= ' '$(BLAS)'
|
@echo 'BLAS library: BLAS= ' '$(BLAS)'
|
||||||
@echo 'LAPACK library: LAPACK= ' '$(LAPACK)'
|
@echo 'LAPACK library: LAPACK= ' '$(LAPACK)'
|
||||||
@echo 'Intel TBB library: TBB= ' '$(TBB)'
|
@echo 'Intel TBB library: TBB= ' '$(TBB)'
|
||||||
|
|
Loading…
Reference in New Issue