| @@ -46,6 +46,10 @@ | |||||
| #else | #else | ||||
| #define MULTI_THREAD_MINIMAL 10000 | #define MULTI_THREAD_MINIMAL 10000 | ||||
| #endif | #endif | ||||
| #if defined(ARCH_X86) || defined(ARCH_X86_64) | |||||
| #define MULTI_THREAD_MAX_NUM 2 | |||||
| #endif | |||||
| #ifndef CBLAS | #ifndef CBLAS | ||||
| void NAME(blasint *N, FLOAT *ALPHA, FLOAT *x, blasint *INCX, FLOAT *y, blasint *INCY){ | void NAME(blasint *N, FLOAT *ALPHA, FLOAT *x, blasint *INCX, FLOAT *y, blasint *INCY){ | ||||
| @@ -91,7 +95,11 @@ void CNAME(blasint n, FLOAT alpha, FLOAT *x, blasint incx, FLOAT *y, blasint inc | |||||
| if (incx == 0 || incy == 0 || n <= MULTI_THREAD_MINIMAL) | if (incx == 0 || incy == 0 || n <= MULTI_THREAD_MINIMAL) | ||||
| nthreads = 1; | nthreads = 1; | ||||
| else | else | ||||
| #ifdef MULTI_THREAD_MAX_NUM | |||||
| nthreads = MIN(MULTI_THREAD_MAX_NUM,num_cpu_avail(1)); | |||||
| #else | |||||
| nthreads = num_cpu_avail(1); | nthreads = num_cpu_avail(1); | ||||
| #endif | |||||
| if (nthreads == 1) { | if (nthreads == 1) { | ||||
| #endif | #endif | ||||
| @@ -46,6 +46,9 @@ | |||||
| #else | #else | ||||
| #define MULTI_THREAD_MINIMAL 10000 | #define MULTI_THREAD_MINIMAL 10000 | ||||
| #endif | #endif | ||||
| #if defined(ARCH_X86) || defined(ARCH_X86_64) | |||||
| #define MULTI_THREAD_MAX_NUM 2 | |||||
| #endif | |||||
| #ifndef CBLAS | #ifndef CBLAS | ||||
| void NAME(blasint *N, FLOAT *ALPHA, FLOAT *x, blasint *INCX, FLOAT *y, blasint *INCY){ | void NAME(blasint *N, FLOAT *ALPHA, FLOAT *x, blasint *INCX, FLOAT *y, blasint *INCY){ | ||||
| @@ -98,7 +101,11 @@ void CNAME(blasint n, FLOAT *ALPHA, FLOAT *x, blasint incx, FLOAT *y, blasint in | |||||
| if (incx == 0 || incy == 0 || n <= MULTI_THREAD_MINIMAL) | if (incx == 0 || incy == 0 || n <= MULTI_THREAD_MINIMAL) | ||||
| nthreads = 1; | nthreads = 1; | ||||
| else | else | ||||
| #ifdef MULTI_THREAD_MAX_NUM | |||||
| nthreads = MIN(MULTI_THREAD_MAX_NUM,num_cpu_avail(1)); | |||||
| #else | |||||
| nthreads = num_cpu_avail(1); | nthreads = num_cpu_avail(1); | ||||
| #endif | |||||
| if (nthreads == 1) { | if (nthreads == 1) { | ||||
| #endif | #endif | ||||