diff --git a/interface/symv.c b/interface/symv.c index 07bd200227..1f23ce4ee5 100644 --- a/interface/symv.c +++ b/interface/symv.c @@ -180,6 +180,9 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, blasint n, FLOAT alpha, buffer = (FLOAT *)blas_memory_alloc(1); #ifdef SMP + if (n <200) + nthreads=1; + else nthreads = num_cpu_avail(2); if (nthreads == 1) { diff --git a/interface/syr2k.c b/interface/syr2k.c index a72330c0bd..47df7f89f0 100644 --- a/interface/syr2k.c +++ b/interface/syr2k.c @@ -368,6 +368,9 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, enum CBLAS_TRANSPOSE Tr mode |= (uplo << BLAS_UPLO_SHIFT); args.common = NULL; + if (args.n*args.k <1000) + args.nthreads =1 ; + else args.nthreads = num_cpu_avail(3); if (args.nthreads == 1) {