Cap the number of parallel threads
This commit is contained in:
parent
496106642f
commit
5da4c93ef2
|
@ -95,14 +95,19 @@ int NAME(blasint *M, blasint *N, FLOAT *a, blasint *ldA, blasint *ipiv, blasint
|
||||||
|
|
||||||
#ifdef SMP
|
#ifdef SMP
|
||||||
args.common = NULL;
|
args.common = NULL;
|
||||||
|
|
||||||
#ifndef DOUBLE
|
#ifndef DOUBLE
|
||||||
if (args.m*args.n < 40000)
|
int nmax = 40000;
|
||||||
#else
|
#else
|
||||||
if (args.m*args.n < 10000)
|
int nmax = 10000;
|
||||||
#endif
|
endif
|
||||||
args.nthreads=1;
|
if (args.m*args.n <nmax) {
|
||||||
else
|
args.nthreads = 1;
|
||||||
|
} else {
|
||||||
args.nthreads = num_cpu_avail(4);
|
args.nthreads = num_cpu_avail(4);
|
||||||
|
if ((args.m*args.n)/args.nthreads <nmax)
|
||||||
|
args.nthreads = (args.m*args.n)/nmax;
|
||||||
|
}
|
||||||
|
|
||||||
if (args.nthreads == 1) {
|
if (args.nthreads == 1) {
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue