aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/spbench
diff options
context:
space:
mode:
Diffstat (limited to 'bench/spbench')
-rw-r--r--bench/spbench/CMakeLists.txt6
-rw-r--r--bench/spbench/test_sparseLU.cpp8
2 files changed, 14 insertions, 0 deletions
diff --git a/bench/spbench/CMakeLists.txt b/bench/spbench/CMakeLists.txt
index a093cc5d9..2eb0befa9 100644
--- a/bench/spbench/CMakeLists.txt
+++ b/bench/spbench/CMakeLists.txt
@@ -66,5 +66,11 @@ target_link_libraries (spbenchsolver ${SPARSE_LIBS})
add_executable(spsolver sp_solver.cpp)
target_link_libraries (spsolver ${SPARSE_LIBS})
+if(METIS_FOUND)
+ include_directories(${METIS_INCLUDES})
+ set (SPARSE_LIBS ${SPARSE_LIBS} ${METIS_LIBRARIES})
+ add_definitions("-DEIGEN_METIS_SUPPORT")
+endif(METIS_FOUND)
+
add_executable(test_sparseLU test_sparseLU.cpp)
target_link_libraries (test_sparseLU ${SPARSE_LIBS})
diff --git a/bench/spbench/test_sparseLU.cpp b/bench/spbench/test_sparseLU.cpp
index 59f8252d0..8c78b0c9b 100644
--- a/bench/spbench/test_sparseLU.cpp
+++ b/bench/spbench/test_sparseLU.cpp
@@ -7,6 +7,9 @@
#include <unsupported/Eigen/SparseExtra>
#include <Eigen/SparseLU>
#include <bench/BenchTimer.h>
+#ifdef EIGEN_METIS_SUPPORT
+#include <Eigen/MetisSupport>
+#endif
using namespace std;
using namespace Eigen;
@@ -21,7 +24,12 @@ int main(int argc, char **args)
typedef Matrix<scalar, Dynamic, 1> DenseRhs;
Matrix<scalar, Dynamic, 1> b, x, tmp;
// SparseLU<SparseMatrix<scalar, ColMajor>, AMDOrdering<int> > solver;
+#ifdef EIGEN_METIS_SUPPORT
+ SparseLU<SparseMatrix<scalar, ColMajor>, MetisOrdering<int> > solver;
+#else
SparseLU<SparseMatrix<scalar, ColMajor>, COLAMDOrdering<int> > solver;
+#endif
+
ifstream matrix_file;
string line;
int n;