diff options
author | Gael Guennebaud <g.gael@free.fr> | 2008-08-25 14:23:08 +0000 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2008-08-25 14:23:08 +0000 |
commit | 7ce70e143734942bf4e7dcfe5f5af957e5e5009e (patch) | |
tree | 77cb0ab7655aff42f4270ef0dd90aa5925329637 /bench/btl/libs/eigen2 | |
parent | d2b345e6a9190d110d0366f1f708be492847b4f9 (diff) |
various updates in BTL
Diffstat (limited to 'bench/btl/libs/eigen2')
-rw-r--r-- | bench/btl/libs/eigen2/CMakeLists.txt | 8 | ||||
-rw-r--r-- | bench/btl/libs/eigen2/eigen2_interface.hh | 6 | ||||
-rw-r--r-- | bench/btl/libs/eigen2/main_adv.cpp | 2 |
3 files changed, 11 insertions, 5 deletions
diff --git a/bench/btl/libs/eigen2/CMakeLists.txt b/bench/btl/libs/eigen2/CMakeLists.txt index 3c511f9b8..c56aa8f83 100644 --- a/bench/btl/libs/eigen2/CMakeLists.txt +++ b/bench/btl/libs/eigen2/CMakeLists.txt @@ -1,4 +1,4 @@ -find_package(MKL) +# find_package(MKL) find_package(Eigen2) if (EIGEN2_FOUND) @@ -26,9 +26,9 @@ if (EIGEN2_FOUND) set_target_properties(btl_eigen2_novec_adv PROPERTIES COMPILE_FLAGS "-DEIGEN_DONT_VECTORIZE") endif(BUILD_btl_eigen2_novec_adv) - if(BUILD_btl_eigen2_adv) - target_link_libraries(btl_eigen2_adv ${MKL_LIBRARIES}) - endif(BUILD_btl_eigen2_adv) +# if(BUILD_btl_eigen2_adv) +# target_link_libraries(btl_eigen2_adv ${MKL_LIBRARIES}) +# endif(BUILD_btl_eigen2_adv) ENDIF(NOT BTL_NOVEC) diff --git a/bench/btl/libs/eigen2/eigen2_interface.hh b/bench/btl/libs/eigen2/eigen2_interface.hh index f3ba5e8af..39eaa3b65 100644 --- a/bench/btl/libs/eigen2/eigen2_interface.hh +++ b/bench/btl/libs/eigen2/eigen2_interface.hh @@ -17,7 +17,7 @@ // #ifndef EIGEN2_INTERFACE_HH #define EIGEN2_INTERFACE_HH -#include <cblas.h> +// #include <cblas.h> #include <Eigen/Core> #include <Eigen/Cholesky> #include <Eigen/LU> @@ -137,6 +137,10 @@ public : X = L.template marked<Lower>().solveTriangular(B); } + static inline void trisolve_lower_matrix(const gene_matrix & L, const gene_matrix& B, gene_matrix& X, int N){ + X = L.template marked<Lower>().solveTriangular(B); + } + static inline void cholesky(const gene_matrix & X, gene_matrix & C, int N){ C = X.cholesky().matrixL(); // C = X; diff --git a/bench/btl/libs/eigen2/main_adv.cpp b/bench/btl/libs/eigen2/main_adv.cpp index 83e48f58e..6dd9d3884 100644 --- a/bench/btl/libs/eigen2/main_adv.cpp +++ b/bench/btl/libs/eigen2/main_adv.cpp @@ -19,6 +19,7 @@ #include "eigen2_interface.hh" #include "bench.hh" #include "action_trisolve.hh" +#include "action_trisolve_matrix.hh" #include "action_cholesky.hh" #include "action_hessenberg.hh" #include "action_lu_decomp.hh" @@ -28,6 +29,7 @@ BTL_MAIN; int main() { bench<Action_trisolve<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT); + bench<Action_trisolve_matrix<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT); bench<Action_cholesky<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT); bench<Action_lu_decomp<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT); |