| @@ -211,7 +211,18 @@ void CNAME(enum CBLAS_ORDER order, | |||||
| buffer = (FLOAT *)blas_memory_alloc(1); | buffer = (FLOAT *)blas_memory_alloc(1); | ||||
| #ifdef SMP | #ifdef SMP | ||||
| nthreads = num_cpu_avail(2); | |||||
| int nthreads_max = num_cpu_avail(2); | |||||
| int nthreads_avail = nthreads_max; | |||||
| double MNK = (double) m * (double) n; | |||||
| if ( MNK <= (500.0 * 100.0 * (double) GEMM_MULTITHREAD_THRESHOLD) ) | |||||
| nthreads_max = 1; | |||||
| if ( nthreads_max > nthreads_avail ) | |||||
| nthreads = nthreads_avail; | |||||
| else | |||||
| nthreads = nthreads_max; | |||||
| if (nthreads == 1) { | if (nthreads == 1) { | ||||
| #endif | #endif | ||||