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 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 ;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)'
|
||||
|
|
Loading…
Reference in New Issue