enabled SMP for sbmv and zsbmv, but only for 64bit binaries
authorwernsaar <wernsaar@googlemail.com>
Sun, 29 Jun 2014 18:35:56 +0000 (20:35 +0200)
committerwernsaar <wernsaar@googlemail.com>
Sun, 29 Jun 2014 18:35:56 +0000 (20:35 +0200)
interface/sbmv.c
interface/zsbmv.c
kernel/x86_64/KERNEL

index 0dac736cb6294a59628d842c05393f9b714d12be..d5577e5296bbc9dce3426745aee6129f16d563b0 100644 (file)
 #include "functable.h"
 #endif
 
+#ifdef SMP
+#ifdef __64BIT__
+#define SMPTEST 1
+#endif
+#endif
+
+
 #ifdef XDOUBLE
 #define ERROR_NAME "QSBMV "
 #elif defined(DOUBLE)
@@ -61,7 +68,7 @@ static  int (*sbmv[])(BLASLONG, BLASLONG, FLOAT, FLOAT *, BLASLONG, FLOAT *, BLA
 #endif
 };
 
-#ifdef SMPBUG
+#ifdef SMPTEST
 static  int (*sbmv_thread[])(BLASLONG, BLASLONG, FLOAT, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, int) = {
 #ifdef XDOUBLE
   qsbmv_thread_U, qsbmv_thread_L,
@@ -90,7 +97,7 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT  *ALPHA, FLOAT *a, blasint *
   blasint info;
   int uplo;
   FLOAT *buffer;
-#ifdef SMPBUG
+#ifdef SMPTEST
   int nthreads;
 #endif
 
@@ -130,7 +137,7 @@ void CNAME(enum CBLAS_ORDER order,
   FLOAT *buffer;
   int uplo;
   blasint info;
-#ifdef SMPBUG
+#ifdef SMPTEST
   int nthreads;
 #endif
 
@@ -189,7 +196,7 @@ void CNAME(enum CBLAS_ORDER order,
 
   buffer = (FLOAT *)blas_memory_alloc(1);
 
-#ifdef SMPBUG
+#ifdef SMPTEST
   nthreads = num_cpu_avail(2);
 
   if (nthreads == 1) {
@@ -197,7 +204,7 @@ void CNAME(enum CBLAS_ORDER order,
 
   (sbmv[uplo])(n, k, alpha, a, lda, x, incx, y, incy, buffer);
 
-#ifdef SMPBUG
+#ifdef SMPTEST
   } else {
 
     (sbmv_thread[uplo])(n, k, alpha, a, lda, x, incx, y, incy, buffer, nthreads);
index 2efe85ba9424ec46dc30065fd5ff8846b57bad24..54dae87b79988e802357affd1b63f390672b9ded 100644 (file)
 #include "functable.h"
 #endif
 
+#ifdef SMP
+#ifdef __64BIT__
+#define SMPTEST 1
+#endif
+#endif
+
+
 #ifdef XDOUBLE
 #define ERROR_NAME "XSBMV "
 #elif defined(DOUBLE)
@@ -61,7 +68,7 @@ static  int (*sbmv[])(BLASLONG, BLASLONG, FLOAT, FLOAT, FLOAT *, BLASLONG, FLOAT
 #endif
 };
 
-#ifdef SMPBUG
+#ifdef SMPTEST
 static  int (*sbmv_thread[])(BLASLONG, BLASLONG, FLOAT *, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, int) = {
 #ifdef XDOUBLE
   xsbmv_thread_U, xsbmv_thread_L,
@@ -90,7 +97,7 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT  *ALPHA, FLOAT *a, blasint *
   blasint info;
   int uplo;
   FLOAT *buffer;
-#ifdef SMPBUG
+#ifdef SMPTEST
   int nthreads;
 #endif
 
@@ -131,7 +138,7 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT  *ALPHA, FLOAT *a, blasint *
 
   buffer = (FLOAT *)blas_memory_alloc(1);
 
-#ifdef SMPBUG
+#ifdef SMPTEST
   nthreads = num_cpu_avail(2);
 
   if (nthreads == 1) {
@@ -139,7 +146,7 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT  *ALPHA, FLOAT *a, blasint *
 
   (sbmv[uplo])(n, k, alpha_r, alpha_i, a, lda, b, incx, c, incy, buffer);
 
-#ifdef SMPBUG
+#ifdef SMPTEST
   } else {
 
     (sbmv_thread[uplo])(n, k, ALPHA, a, lda, b, incx, c, incy, buffer, nthreads);
index fa6282c53452f60edbadfbd1edb788a630f20d68..9dd219c91ecc41ccd4e8e36e27da21a1f3a1dde2 100644 (file)
@@ -119,7 +119,7 @@ XCOPYKERNEL = zcopy.S
 endif
 
 ifndef SDOTKERNEL
-SDOTKERNEL = dot_sse.S
+SDOTKERNEL = ../arm/dot.c
 endif