Skip to content

Commit 1b5620b

Browse files
authored
Add lower threshold for multithreading in ?potrf and ?potri
1 parent 1f8bda7 commit 1b5620b

4 files changed

Lines changed: 26 additions & 0 deletions

File tree

interface/lapack/potrf.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,13 @@ int NAME(char *UPLO, blasint *N, FLOAT *a, blasint *ldA, blasint *Info){
112112

113113
#ifdef SMP
114114
args.common = NULL;
115+
#ifndef DOUBLE
116+
if (args.n <128)
117+
#else
118+
if (args.n <64)
119+
#endif
120+
args.nthreads = 1;
121+
else
115122
args.nthreads = num_cpu_avail(4);
116123

117124
if (args.nthreads == 1) {

interface/lapack/potri.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@ int NAME(char *UPLO, blasint *N, FLOAT *a, blasint *ldA, blasint *Info){
121121

122122
#ifdef SMP
123123
args.common = NULL;
124+
if (args.n < 180)
125+
args.nthreads = 1;
126+
else
124127
args.nthreads = num_cpu_avail(4);
125128

126129
if (args.nthreads == 1) {

interface/lapack/zpotrf.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,13 @@ int NAME(char *UPLO, blasint *N, FLOAT *a, blasint *ldA, blasint *Info){
112112

113113
#ifdef SMP
114114
args.common = NULL;
115+
#ifndef DOUBLE
116+
if (args.n < 64)
117+
#else
118+
if (args.n < 64)
119+
#endif
120+
args.nthreads = 1;
121+
else
115122
args.nthreads = num_cpu_avail(4);
116123

117124
if (args.nthreads == 1) {

interface/lapack/zpotri.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,15 @@ int NAME(char *UPLO, blasint *N, FLOAT *a, blasint *ldA, blasint *Info){
121121

122122
#ifdef SMP
123123
args.nthreads = num_cpu_avail(4);
124+
#ifndef DOUBLE
125+
if (args.n < 200)
126+
#else
127+
if (args.n < 150)
128+
#endif
129+
args.nthreads=1;
130+
else
131+
#endif
132+
args.nthreads = num_cpu_avail(4);
124133

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

0 commit comments

Comments
 (0)