aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/btl
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2012-06-07 18:35:38 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2012-06-07 18:35:38 +0200
commit5cec86cb1e6ae190b3093049ebe4f5bc330c2f23 (patch)
tree5a9cf57c2dbdc35b67395c64729710de681131e1 /bench/btl
parent512e0b151bcfc4ffa002c2ea2ce185eaa552e3e3 (diff)
BTL: add missing TRMM plots, update Eigen's interface
Diffstat (limited to 'bench/btl')
-rw-r--r--bench/btl/data/action_settings.txt1
-rwxr-xr-xbench/btl/data/go_mean1
-rw-r--r--bench/btl/libs/eigen3/eigen3_interface.hh6
3 files changed, 5 insertions, 3 deletions
diff --git a/bench/btl/data/action_settings.txt b/bench/btl/data/action_settings.txt
index da80f56a0..e32213e22 100644
--- a/bench/btl/data/action_settings.txt
+++ b/bench/btl/data/action_settings.txt
@@ -5,6 +5,7 @@ axpby ; "{/*1.5 Y = alpha X + beta Y}" ; "vector size" ; 5:1000000
axpy ; "{/*1.5 Y += alpha X}" ; "vector size" ; 5:1000000
matrix_matrix ; "{/*1.5 matrix matrix product}" ; "matrix size" ; 4:3000
matrix_vector ; "{/*1.5 matrix vector product}" ; "matrix size" ; 4:3000
+trmm ; "{/*1.5 triangular matrix matrix product}" ; "matrix size" ; 4:3000
trisolve_vector ; "{/*1.5 triangular solver - vector (X = inv(L) X)}" ; "size" ; 4:3000
trisolve_matrix ; "{/*1.5 triangular solver - matrix (M = inv(L) M)}" ; "size" ; 4:3000
cholesky ; "{/*1.5 Cholesky decomposition}" ; "matrix size" ; 4:3000
diff --git a/bench/btl/data/go_mean b/bench/btl/data/go_mean
index 176c3c994..42338ca27 100755
--- a/bench/btl/data/go_mean
+++ b/bench/btl/data/go_mean
@@ -38,6 +38,7 @@ source mk_mean_script.sh atv $1 11 50 300 1000 $mode $prefix
source mk_mean_script.sh matrix_matrix $1 11 100 300 1000 $mode $prefix
source mk_mean_script.sh aat $1 11 100 300 1000 $mode $prefix
# source mk_mean_script.sh ata $1 11 100 300 1000 $mode $prefix
+source mk_mean_script.sh trmm $1 11 100 300 1000 $mode $prefix
source mk_mean_script.sh trisolve_vector $1 11 100 300 1000 $mode $prefix
source mk_mean_script.sh trisolve_matrix $1 11 100 300 1000 $mode $prefix
source mk_mean_script.sh cholesky $1 11 100 300 1000 $mode $prefix
diff --git a/bench/btl/libs/eigen3/eigen3_interface.hh b/bench/btl/libs/eigen3/eigen3_interface.hh
index 2fca393e9..31bcc1f93 100644
--- a/bench/btl/libs/eigen3/eigen3_interface.hh
+++ b/bench/btl/libs/eigen3/eigen3_interface.hh
@@ -195,16 +195,16 @@ public :
}
static inline void trisolve_lower_matrix(const gene_matrix & L, const gene_matrix& B, gene_matrix& X, int N){
- X = L.template triangularView<Lower>().solve(B);
+ X = L.template triangularView<Upper>().solve(B);
}
static inline void trmm(const gene_matrix & L, const gene_matrix& B, gene_matrix& X, int N){
- X = L.template triangularView<Lower>() * B;
+ X.noalias() = L.template triangularView<Lower>() * B;
}
static inline void cholesky(const gene_matrix & X, gene_matrix & C, int N){
C = X;
- internal::llt_inplace<Lower>::blocked(C);
+ internal::llt_inplace<real,Lower>::blocked(C);
//C = X.llt().matrixL();
// C = X;
// Cholesky<gene_matrix>::computeInPlace(C);