From 726c44242b6d565577e00a3c6591ffee5db005ee Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 1 Jul 2021 17:41:05 +0200 Subject: [PATCH] Add lower threshold for multithreading --- interface/lapack/getrf.c | 9 ++++++++- interface/lapack/zgetrf.c | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/interface/lapack/getrf.c b/interface/lapack/getrf.c index 02bb124..323370e 100644 --- a/interface/lapack/getrf.c +++ b/interface/lapack/getrf.c @@ -95,7 +95,14 @@ int NAME(blasint *M, blasint *N, FLOAT *a, blasint *ldA, blasint *ipiv, blasint #ifdef SMP args.common = NULL; - args.nthreads = num_cpu_avail(4); +#ifndef DOUBLE + if (args.m*args.n < 40000) +#else + if (args.m*args.n < 10000) +#endif + args.nthreads=1; + else + args.nthreads = num_cpu_avail(4); if (args.nthreads == 1) { #endif diff --git a/interface/lapack/zgetrf.c b/interface/lapack/zgetrf.c index 7f8db94..d03541f 100644 --- a/interface/lapack/zgetrf.c +++ b/interface/lapack/zgetrf.c @@ -95,7 +95,10 @@ int NAME(blasint *M, blasint *N, FLOAT *a, blasint *ldA, blasint *ipiv, blasint #ifdef SMP args.common = NULL; - args.nthreads = num_cpu_avail(4); + if (args.m*args.n <10000) + args.nthreads = 1; + else + args.nthreads = num_cpu_avail(4); if (args.nthreads == 1) { #endif -- 2.7.4