aboutsummaryrefslogtreecommitdiff
path: root/src/mathfunc.cpp
diff options
context:
space:
mode:
authorPjotr Prins2017-10-13 15:23:00 +0000
committerPjotr Prins2017-10-13 15:27:24 +0000
commitfdb48997ee3ed2b326a92f8e0cc7f72a4b38d8c8 (patch)
tree5f62e06dbacdec2d4ee60da9112508615d42fc1f /src/mathfunc.cpp
parent7eca3c49b7790007a4190b73209cab9ffb2bb117 (diff)
downloadpangemma-fdb48997ee3ed2b326a92f8e0cc7f72a4b38d8c8.tar.gz
Refactored debug settings
Replaced eigenlib_dgemm with fast_dgemm - 10-30% speed gain for GEMMA
Diffstat (limited to 'src/mathfunc.cpp')
-rw-r--r--src/mathfunc.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/mathfunc.cpp b/src/mathfunc.cpp
index fbbc061..d0a9d65 100644
--- a/src/mathfunc.cpp
+++ b/src/mathfunc.cpp
@@ -49,6 +49,7 @@
#include "debug.h"
#include "eigenlib.h"
+#include "fastblas.h"
#include "lapack.h"
#include "mathfunc.h"
@@ -388,20 +389,16 @@ void StandardizeVector(gsl_vector *y) {
void CalcUtX(const gsl_matrix *U, gsl_matrix *UtX) {
gsl_matrix *X = gsl_matrix_alloc(UtX->size1, UtX->size2);
gsl_matrix_memcpy(X, UtX);
- eigenlib_dgemm("T", "N", 1.0, U, X, 0.0, UtX);
+ fast_dgemm("T", "N", 1.0, U, X, 0.0, UtX);
gsl_matrix_free(X);
-
- return;
}
void CalcUtX(const gsl_matrix *U, const gsl_matrix *X, gsl_matrix *UtX) {
- eigenlib_dgemm("T", "N", 1.0, U, X, 0.0, UtX);
- return;
+ fast_dgemm("T", "N", 1.0, U, X, 0.0, UtX);
}
void CalcUtX(const gsl_matrix *U, const gsl_vector *x, gsl_vector *Utx) {
gsl_blas_dgemv(CblasTrans, 1.0, U, x, 0.0, Utx);
- return;
}
// Kronecker product.