@@ -82,9 +82,6 @@ void NAME(char *TRANS, blasint *M, blasint *N, | |||||
int buffer_size; | int buffer_size; | ||||
#ifdef SMP | #ifdef SMP | ||||
int nthreads; | int nthreads; | ||||
int nthreads_max; | |||||
int nthreads_avail; | |||||
double MNK; | |||||
#endif | #endif | ||||
int (*gemv[])(BLASLONG, BLASLONG, BLASLONG, FLOAT, FLOAT *, BLASLONG, FLOAT * , BLASLONG, FLOAT *, BLASLONG, FLOAT *) = { | int (*gemv[])(BLASLONG, BLASLONG, BLASLONG, FLOAT, FLOAT *, BLASLONG, FLOAT * , BLASLONG, FLOAT *, BLASLONG, FLOAT *) = { | ||||
@@ -139,9 +136,6 @@ void CNAME(enum CBLAS_ORDER order, | |||||
blasint info, t; | blasint info, t; | ||||
#ifdef SMP | #ifdef SMP | ||||
int nthreads; | int nthreads; | ||||
int nthreads_max; | |||||
int nthreads_avail; | |||||
double MNK; | |||||
#endif | #endif | ||||
int (*gemv[])(BLASLONG, BLASLONG, BLASLONG, FLOAT, FLOAT *, BLASLONG, FLOAT * , BLASLONG, FLOAT *, BLASLONG, FLOAT *) = { | int (*gemv[])(BLASLONG, BLASLONG, BLASLONG, FLOAT, FLOAT *, BLASLONG, FLOAT * , BLASLONG, FLOAT *, BLASLONG, FLOAT *) = { | ||||
@@ -226,17 +220,10 @@ void CNAME(enum CBLAS_ORDER order, | |||||
#ifdef SMP | #ifdef SMP | ||||
nthreads_max = num_cpu_avail(2); | |||||
nthreads_avail = nthreads_max; | |||||
MNK = (double) m * (double) n; | |||||
if ( MNK <= (24.0 * 24.0 * (double) (GEMM_MULTITHREAD_THRESHOLD*GEMM_MULTITHREAD_THRESHOLD) ) ) | |||||
nthreads_max = 1; | |||||
if ( nthreads_max > nthreads_avail ) | |||||
nthreads = nthreads_avail; | |||||
if ( 1L * m * n < 2304L * GEMM_MULTITHREAD_THRESHOLD ) | |||||
nthreads = 1; | |||||
else | else | ||||
nthreads = nthreads_max; | |||||
nthreads = num_cpu_avail(2); | |||||
if (nthreads == 1) { | if (nthreads == 1) { | ||||
#endif | #endif | ||||
@@ -175,7 +175,7 @@ void CNAME(enum CBLAS_ORDER order, | |||||
#ifdef SMPTEST | #ifdef SMPTEST | ||||
// Threshold chosen so that speed-up is > 1 on a Xeon E5-2630 | // Threshold chosen so that speed-up is > 1 on a Xeon E5-2630 | ||||
if(1L * m * n > 24L * GEMM_MULTITHREAD_THRESHOLD) | |||||
if(1L * m * n > 2048L * GEMM_MULTITHREAD_THRESHOLD) | |||||
nthreads = num_cpu_avail(2); | nthreads = num_cpu_avail(2); | ||||
else | else | ||||
nthreads = 1; | nthreads = 1; | ||||
@@ -79,9 +79,6 @@ void NAME(char *TRANS, blasint *M, blasint *N, | |||||
FLOAT *buffer; | FLOAT *buffer; | ||||
#ifdef SMP | #ifdef SMP | ||||
int nthreads; | int nthreads; | ||||
int nthreads_max; | |||||
int nthreads_avail; | |||||
double MNK; | |||||
#endif | #endif | ||||
int (*gemv[])(BLASLONG, BLASLONG, BLASLONG, FLOAT, FLOAT, FLOAT *, BLASLONG, | int (*gemv[])(BLASLONG, BLASLONG, BLASLONG, FLOAT, FLOAT, FLOAT *, BLASLONG, | ||||
@@ -148,9 +145,6 @@ void CNAME(enum CBLAS_ORDER order, | |||||
blasint info, t; | blasint info, t; | ||||
#ifdef SMP | #ifdef SMP | ||||
int nthreads; | int nthreads; | ||||
int nthreads_max; | |||||
int nthreads_avail; | |||||
double MNK; | |||||
#endif | #endif | ||||
int (*gemv[])(BLASLONG, BLASLONG, BLASLONG, FLOAT, FLOAT, FLOAT *, BLASLONG, | int (*gemv[])(BLASLONG, BLASLONG, BLASLONG, FLOAT, FLOAT, FLOAT *, BLASLONG, | ||||
@@ -240,18 +234,10 @@ void CNAME(enum CBLAS_ORDER order, | |||||
#ifdef SMP | #ifdef SMP | ||||
nthreads_max = num_cpu_avail(2); | |||||
nthreads_avail = nthreads_max; | |||||
MNK = (double) m * (double) n; | |||||
if ( MNK <= ( 256.0 * (double) (GEMM_MULTITHREAD_THRESHOLD * GEMM_MULTITHREAD_THRESHOLD) )) | |||||
nthreads_max = 1; | |||||
if ( nthreads_max > nthreads_avail ) | |||||
nthreads = nthreads_avail; | |||||
if ( 1L * m * n < 1024L * GEMM_MULTITHREAD_THRESHOLD ) | |||||
nthreads = 1; | |||||
else | else | ||||
nthreads = nthreads_max; | |||||
nthreads = num_cpu_avail(2); | |||||
if (nthreads == 1) { | if (nthreads == 1) { | ||||
#endif | #endif | ||||
@@ -214,7 +214,7 @@ void CNAME(enum CBLAS_ORDER order, | |||||
#ifdef SMPTEST | #ifdef SMPTEST | ||||
// Threshold chosen so that speed-up is > 1 on a Xeon E5-2630 | // Threshold chosen so that speed-up is > 1 on a Xeon E5-2630 | ||||
if(1L * m * n > 3L * sizeof(FLOAT) * GEMM_MULTITHREAD_THRESHOLD) | |||||
if(1L * m * n > 36L * sizeof(FLOAT) * sizeof(FLOAT) * GEMM_MULTITHREAD_THRESHOLD) | |||||
nthreads = num_cpu_avail(2); | nthreads = num_cpu_avail(2); | ||||
else | else | ||||
nthreads = 1; | nthreads = 1; | ||||