Browse Source

Add lower threshold for multithreading in ?potrf and ?potri

tags/v0.3.16^2
Martin Kroeker GitHub 4 years ago
parent
commit
1b5620b66e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 0 deletions
  1. +7
    -0
      interface/lapack/potrf.c
  2. +3
    -0
      interface/lapack/potri.c
  3. +7
    -0
      interface/lapack/zpotrf.c
  4. +9
    -0
      interface/lapack/zpotri.c

+ 7
- 0
interface/lapack/potrf.c View File

@@ -112,6 +112,13 @@ int NAME(char *UPLO, blasint *N, FLOAT *a, blasint *ldA, blasint *Info){

#ifdef SMP
args.common = NULL;
#ifndef DOUBLE
if (args.n <128)
#else
if (args.n <64)
#endif
args.nthreads = 1;
else
args.nthreads = num_cpu_avail(4);

if (args.nthreads == 1) {


+ 3
- 0
interface/lapack/potri.c View File

@@ -121,6 +121,9 @@ int NAME(char *UPLO, blasint *N, FLOAT *a, blasint *ldA, blasint *Info){

#ifdef SMP
args.common = NULL;
if (args.n < 180)
args.nthreads = 1;
else
args.nthreads = num_cpu_avail(4);

if (args.nthreads == 1) {


+ 7
- 0
interface/lapack/zpotrf.c View File

@@ -112,6 +112,13 @@ int NAME(char *UPLO, blasint *N, FLOAT *a, blasint *ldA, blasint *Info){

#ifdef SMP
args.common = NULL;
#ifndef DOUBLE
if (args.n < 64)
#else
if (args.n < 64)
#endif
args.nthreads = 1;
else
args.nthreads = num_cpu_avail(4);

if (args.nthreads == 1) {


+ 9
- 0
interface/lapack/zpotri.c View File

@@ -121,6 +121,15 @@ int NAME(char *UPLO, blasint *N, FLOAT *a, blasint *ldA, blasint *Info){

#ifdef SMP
args.nthreads = num_cpu_avail(4);
#ifndef DOUBLE
if (args.n < 200)
#else
if (args.n < 150)
#endif
args.nthreads=1;
else
#endif
args.nthreads = num_cpu_avail(4);

if (args.nthreads == 1) {
#endif


Loading…
Cancel
Save