diff options
Diffstat (limited to 'bench/btl/libs/eigen3')
-rw-r--r-- | bench/btl/libs/eigen3/CMakeLists.txt | 10 | ||||
-rw-r--r-- | bench/btl/libs/eigen3/eigen3_interface.hh | 8 | ||||
-rw-r--r-- | bench/btl/libs/eigen3/main_matmat.cpp | 2 |
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); |