upgrade colamd to suite-sparse-5.4.0

release/4.3a0
mxie32 2019-10-19 17:51:15 -04:00
parent cb3e7560d2
commit 939aba3621
6 changed files with 52 additions and 65 deletions

View File

@ -1560,9 +1560,8 @@ PUBLIC Int CCOLAMD_2 /* returns TRUE if successful, FALSE otherwise */
Int *dead_cols ;
Int set1 ;
Int set2 ;
#ifndef NDEBUG
Int cs ;
#endif
int ok ;
#ifndef NDEBUG
@ -1910,10 +1909,8 @@ PUBLIC Int CCOLAMD_2 /* returns TRUE if successful, FALSE otherwise */
p [k] = col ;
ASSERT (A [col] == EMPTY) ;
#ifndef NDEBUG
cs = CMEMBER (col) ;
cs = CMEMBER (col) ;
ASSERT (k >= cset_start [cs] && k < cset_start [cs+1]) ;
#endif
A [col] = k ;
k++ ;
@ -1929,11 +1926,11 @@ PUBLIC Int CCOLAMD_2 /* returns TRUE if successful, FALSE otherwise */
if (A [col] == EMPTY)
{
k = Col [col].shared2.order ;
cs = CMEMBER (col) ;
#ifndef NDEBUG
cs = CMEMBER (col) ;
dead_cols [cs]-- ;
ASSERT (k >= cset_start [cs] && k < cset_start [cs+1]) ;
#endif
ASSERT (k >= cset_start [cs] && k < cset_start [cs+1]) ;
DEBUG1 (("ccolamd output ordering: k "ID" col "ID
" (dense or null col)\n", k, col)) ;
p [k] = col ;

View File

@ -7,8 +7,8 @@ export SUITESPARSE
# version of SuiteSparse_config is also version of SuiteSparse meta-package
LIBRARY = libsuitesparseconfig
VERSION = 4.5.6
SO_VERSION = 4
VERSION = 5.4.0
SO_VERSION = 5
default: library

View File

@ -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)
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
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
BLAS/LAPACK xerbla routine, which is called when an invalid input is passed to

View File

@ -4,7 +4,7 @@
/* 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.
* Author: Timothy A. Davis.
*/

View File

@ -177,38 +177,7 @@ int SuiteSparse_divcomplex
/* SuiteSparse is not a package itself, but a collection of packages, some of
* which must be used together (UMFPACK requires AMD, CHOLMOD requires AMD,
* COLAMD, CAMD, and CCOLAMD, etc). A version number is provided here for the
* collection itself. The versions of packages within each version of
* 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.
* collection itself, which is also the version number of SuiteSparse_config.
*/
int SuiteSparse_version /* returns SUITESPARSE_VERSION */
@ -233,11 +202,11 @@ int SuiteSparse_version /* returns SUITESPARSE_VERSION */
*/
#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_MAIN_VERSION 4
#define SUITESPARSE_SUB_VERSION 5
#define SUITESPARSE_SUBSUB_VERSION 6
#define SUITESPARSE_MAIN_VERSION 5
#define SUITESPARSE_SUB_VERSION 4
#define SUITESPARSE_SUBSUB_VERSION 0
#define SUITESPARSE_VERSION \
SUITESPARSE_VER_CODE(SUITESPARSE_MAIN_VERSION,SUITESPARSE_SUB_VERSION)

View File

@ -3,9 +3,11 @@
#===============================================================================
# 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:
@ -57,6 +59,15 @@ SUITESPARSE_VERSION = 4.5.6
INSTALL_INCLUDE ?= $(INSTALL)/include
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
#---------------------------------------------------------------------------
@ -78,19 +89,11 @@ SUITESPARSE_VERSION = 4.5.6
CXX = g++
BLAS = -lrefblas -lgfortran -lstdc++
LAPACK = -llapack
CFLAGS += --coverage
OPTIMIZATION = -g
LDFLAGS += --coverage
CFLAGS += --coverage
OPTIMIZATION = -g
LDFLAGS += --coverage
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
#---------------------------------------------------------------------------
@ -112,10 +115,12 @@ SUITESPARSE_VERSION = 4.5.6
ifneq ($(AUTOCC),no)
ifneq ($(shell which icc 2>/dev/null),)
# use the Intel icc compiler for C codes, and -qopenmp for OpenMP
CC = icc -D_GNU_SOURCE
CXX = $(CC)
CC = icc
CFLAGS += -D_GNU_SOURCE
CXX = icpc
CFOPENMP = -qopenmp -I$(MKLROOT)/include
LDFLAGS += -openmp
LDFLAGS += -qopenmp
LDLIBS += -lm -lirc
endif
ifneq ($(shell which ifort 2>/dev/null),)
# use the Intel ifort compiler for Fortran codes
@ -123,6 +128,16 @@ SUITESPARSE_VERSION = 4.5.6
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)
#---------------------------------------------------------------------------
@ -157,7 +172,7 @@ SUITESPARSE_VERSION = 4.5.6
# $(MKLROOT)/lib/intel64/libmkl_intel_thread.a \
# -Wl,--end-group -lpthread -lm
# 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 =
else
# use the OpenBLAS at http://www.openblas.net
@ -223,12 +238,16 @@ SUITESPARSE_VERSION = 4.5.6
CUBLAS_LIB = $(CUDA_PATH)/lib64/libcublas.so
CUDA_INC_PATH = $(CUDA_PATH)/include/
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
NVCCFLAGS = -Xcompiler -fPIC -O3 \
-gencode=arch=compute_30,code=sm_30 \
-gencode=arch=compute_35,code=sm_35 \
-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
#---------------------------------------------------------------------------
@ -555,6 +574,7 @@ config:
@echo 'Install include files in: INSTALL_INCLUDE=' '$(INSTALL_INCLUDE)'
@echo 'Install documentation in: INSTALL_DOC= ' '$(INSTALL_DOC)'
@echo 'Optimization level: OPTIMIZATION= ' '$(OPTIMIZATION)'
@echo 'parallel make jobs: JOBS= ' '$(JOBS)'
@echo 'BLAS library: BLAS= ' '$(BLAS)'
@echo 'LAPACK library: LAPACK= ' '$(LAPACK)'
@echo 'Intel TBB library: TBB= ' '$(TBB)'