From ba9d18b9388acdf27a3900a4f981fab587e59b0c Mon Sep 17 00:00:00 2001 From: Mark Eberlein Date: Fri, 24 Jan 2020 16:28:09 -0800 Subject: Add KLU support to spbenchsolver --- bench/spbench/CMakeLists.txt | 7 +++++++ bench/spbench/spbenchsolver.h | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+) (limited to 'bench') diff --git a/bench/spbench/CMakeLists.txt b/bench/spbench/CMakeLists.txt index 1fc5778a7..fda8dccd9 100644 --- a/bench/spbench/CMakeLists.txt +++ b/bench/spbench/CMakeLists.txt @@ -29,6 +29,13 @@ if(UMFPACK_FOUND AND BLAS_FOUND) set(UMFPACK_ALL_LIBS ${UMFPACK_LIBRARIES} ${BLAS_LIBRARIES}) endif() +find_package(KLU) +if(KLU_FOUND) + add_definitions("-DEIGEN_KLU_SUPPORT") + include_directories(${KLU_INCLUDES}) + set(SPARSE_LIBS ${SPARSE_LIBS} ${KLU_LIBRARIES}) +endif() + find_package(SuperLU 4.0) if(SUPERLU_FOUND AND BLAS_FOUND) add_definitions("-DEIGEN_SUPERLU_SUPPORT") diff --git a/bench/spbench/spbenchsolver.h b/bench/spbench/spbenchsolver.h index 19c719c04..8f59d1071 100644 --- a/bench/spbench/spbenchsolver.h +++ b/bench/spbench/spbenchsolver.h @@ -37,6 +37,10 @@ #include #endif +#ifdef EIGEN_KLU_SUPPORT +#include +#endif + #ifdef EIGEN_PARDISO_SUPPORT #include #endif @@ -51,6 +55,7 @@ // CONSTANTS #define EIGEN_UMFPACK 10 +#define EIGEN_KLU 11 #define EIGEN_SUPERLU 20 #define EIGEN_PASTIX 30 #define EIGEN_PARDISO 40 @@ -109,6 +114,12 @@ void printStatheader(std::ofstream& out) out << " UMFPACK \n"; out << " \n"; #endif +#ifdef EIGEN_KLU_SUPPORT + out <<" \n"; + out << " LU \n"; + out << " KLU \n"; + out << " \n"; +#endif #ifdef EIGEN_SUPERLU_SUPPORT out <<" \n"; out << " LU \n"; @@ -315,6 +326,14 @@ void SelectSolvers(const SparseMatrix&A, unsigned int sym, Matrix solver; call_directsolver(solver, EIGEN_UMFPACK, A, b, refX,statFile); } + #endif + //KLU + #ifdef EIGEN_KLU_SUPPORT + { + cout << "Solving with KLU LU ... \n"; + KLU solver; + call_directsolver(solver, EIGEN_KLU, A, b, refX,statFile); + } #endif //SuperLU #ifdef EIGEN_SUPERLU_SUPPORT -- cgit v1.2.3