aboutsummaryrefslogtreecommitdiff
path: root/bench/btl/libs/eigen3
diff options
context:
space:
mode:
Diffstat (limited to 'bench/btl/libs/eigen3')
-rw-r--r--bench/btl/libs/eigen3/CMakeLists.txt10
-rw-r--r--bench/btl/libs/eigen3/eigen3_interface.hh8
-rw-r--r--bench/btl/libs/eigen3/main_matmat.cpp2
3 files changed, 11 insertions, 9 deletions
diff --git a/bench/btl/libs/eigen3/CMakeLists.txt b/bench/btl/libs/eigen3/CMakeLists.txt
index 00cae23d3..06a72b4fb 100644
--- a/bench/btl/libs/eigen3/CMakeLists.txt
+++ b/bench/btl/libs/eigen3/CMakeLists.txt
@@ -47,9 +47,9 @@ if (EIGEN3_FOUND)
# if(BUILD_btl_eigen3_adv)
# target_link_libraries(btl_eigen3_adv ${MKL_LIBRARIES})
-# endif(BUILD_btl_eigen3_adv)
+# endif()
- endif(NOT BTL_NOVEC)
+ endif()
btl_add_bench(btl_tiny_eigen3 btl_tiny_eigen3.cpp OFF)
@@ -59,7 +59,7 @@ if (EIGEN3_FOUND)
if(BUILD_btl_tiny_eigen3_novec)
btl_add_target_property(btl_tiny_eigen3_novec COMPILE_FLAGS "-DEIGEN_DONT_VECTORIZE -DBTL_PREFIX=eigen3_tiny_novec")
- endif(BUILD_btl_tiny_eigen3_novec)
- endif(NOT BTL_NOVEC)
+ endif()
+ endif()
-endif (EIGEN3_FOUND)
+endif ()
diff --git a/bench/btl/libs/eigen3/eigen3_interface.hh b/bench/btl/libs/eigen3/eigen3_interface.hh
index b821fd721..2e302d072 100644
--- a/bench/btl/libs/eigen3/eigen3_interface.hh
+++ b/bench/btl/libs/eigen3/eigen3_interface.hh
@@ -92,9 +92,11 @@ public :
X.noalias() = A.transpose()*B.transpose();
}
-// static inline void ata_product(const gene_matrix & A, gene_matrix & X, int /*N*/){
-// X.noalias() = A.transpose()*A;
-// }
+ static inline void ata_product(const gene_matrix & A, gene_matrix & X, int /*N*/){
+ //X.noalias() = A.transpose()*A;
+ X.template triangularView<Lower>().setZero();
+ X.template selfadjointView<Lower>().rankUpdate(A.transpose());
+ }
static inline void aat_product(const gene_matrix & A, gene_matrix & X, int /*N*/){
X.template triangularView<Lower>().setZero();
diff --git a/bench/btl/libs/eigen3/main_matmat.cpp b/bench/btl/libs/eigen3/main_matmat.cpp
index 926fa2b01..052810a16 100644
--- a/bench/btl/libs/eigen3/main_matmat.cpp
+++ b/bench/btl/libs/eigen3/main_matmat.cpp
@@ -25,7 +25,7 @@ BTL_MAIN;
int main()
{
bench<Action_matrix_matrix_product<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
-// bench<Action_ata_product<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
+ bench<Action_ata_product<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
bench<Action_aat_product<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
bench<Action_trmm<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);