aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--redist/dclapack.h1
-rw-r--r--redist/test_dcl.c35
2 files changed, 30 insertions, 6 deletions
diff --git a/redist/dclapack.h b/redist/dclapack.h
index cae377b..d4634ac 100644
--- a/redist/dclapack.h
+++ b/redist/dclapack.h
@@ -269,7 +269,6 @@ PRINT(Ainv,n,n); \
for (int _k = 0; _k < n; _k++) { \
sum += _(A, _i, _k) * _(B, _k, _j); \
} \
- printf( "-> %d %d = %f %f %f %f[%d %d]\n", _i, _j, alpha,sum,beta, _(C,_i,_j), _i, _j ); \
_(R, _i, _j) = alpha * sum + beta * _(C, _i, _j); \
} \
} \
diff --git a/redist/test_dcl.c b/redist/test_dcl.c
index 6b0d870..29c3c72 100644
--- a/redist/test_dcl.c
+++ b/redist/test_dcl.c
@@ -1,8 +1,13 @@
+//gcc -msse2 -O3 -ftree-vectorize test_dcl.c dclhelpers.c os_generic.c -DFLT=double -lpthread -lcblas && valgrind ./a.out
+
+
#include "dclhelpers.h"
#include <assert.h>
#include <math.h>
#include <stdint.h>
#include <stdio.h>
+#include "os_generic.h"
+#include <cblas.h>
int main()
{
@@ -61,7 +66,7 @@ int main()
}
-#if 0
+#if 1
//Currently failing test...
{
@@ -70,8 +75,8 @@ int main()
// FLT emo[4][2];
FLT em1[12][20];
- FLT em2[20][12];
- FLT emo[20][12];
+ FLT em2[20][20];
+ FLT emo[20][20];
int x, y;
for( y = 0; y < 12; y++ )
@@ -79,9 +84,13 @@ int main()
em1[y][x] = (rand()%1000)/1000.0;
for( y = 0; y < 20; y++ )
- for( x = 0; x < 12; x++ )
+ for( x = 0; x < 20; x++ )
em2[y][x] = (rand()%1000)/1000.0;
+ for( y = 0; y < 20; y++ )
+ for( x = 0; x < 20; x++ )
+ emo[y][x] = 0;
+
int m = 12;
int n = 20;
int k = 12;
@@ -89,7 +98,23 @@ int main()
dclPrint( em1[0], 20, 12, 20 );
dclPrint( em2[0], 12, 20, 12 );
- dcldgemm( 0, 0, m, n, k, 1.0, em1[0], 20, em2[0], 12, .1, emo[0], 12 );
+ int i;
+
+ double start = OGGetAbsoluteTime();
+ for( i = 0; i < 10000; i++ )
+ {
+ dcldgemm( 0, 0, m, n, k, 1.0, DMS(em1), DMS(em2), .1, DMS(emo) );
+ //cblas_dgemm( CblasRowMajor, CblasNoTrans, CblasNoTrans, m, n, k, 1.0, DMS(em1), DMS(em2), .1, DMS(emo) );
+
+/*void cblas_dgemm(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA,
+ CBLAS_TRANSPOSE TransB, const int M, const int N,
+ const int K, const double alpha, const double *A,
+ const int lda, const double *B, const int ldb,
+ const double beta, double *C, const int ldc);*/
+
+ }
+ printf( "Elapsed: %f\n", OGGetAbsoluteTime()-start );
+
dclPrint( emo[0], 12, 20, 12 );
}
#endif