From: Jerome Robert Date: Mon, 18 Jan 2016 08:12:37 +0000 (+0100) Subject: swap: disable multi-threading for small matrices X-Git-Tag: v0.2.16.rc1~38^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=66eafb16cfaf7e119afff96ff3e44663134141fa;p=platform%2Fupstream%2Fopenblas.git swap: disable multi-threading for small matrices Close #731 --- diff --git a/interface/swap.c b/interface/swap.c index 3baeb27..23b2e4e 100644 --- a/interface/swap.c +++ b/interface/swap.c @@ -77,12 +77,13 @@ void CNAME(blasint n, FLOAT *x, blasint incx, FLOAT *y, blasint incy){ if (incy < 0) y -= (n - 1) * incy; #ifdef SMP - nthreads = num_cpu_avail(1); //disable multi-thread when incx==0 or incy==0 //In that case, the threads would be dependent. - if (incx == 0 || incy == 0) - nthreads = 1; + if (incx == 0 || incy == 0 || n < 2097152 * GEMM_MULTITHREAD_THRESHOLD / sizeof(FLOAT)) + nthreads = 1; + else + nthreads = num_cpu_avail(1); if (nthreads == 1) { #endif