Skip to content

Commit baa2536

Browse files
authored
Merge pull request #5872 from jschueller/tcap
Add missing thread caps
2 parents 34f66e5 + 5010c0a commit baa2536

24 files changed

Lines changed: 89 additions & 10 deletions

interface/lapack/getrs.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,11 @@ int NAME(char *TRANS, blasint *N, blasint *NRHS, FLOAT *a, blasint *ldA,
126126

127127
#ifdef SMP
128128
args.common = NULL;
129-
args.nthreads = num_cpu_avail(4);
129+
if (args.m < 64) {
130+
args.nthreads = 1;
131+
} else {
132+
args.nthreads = num_cpu_avail(4);
133+
}
130134

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

interface/lapack/laed3.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ int NAME(blasint *k, blasint *n, blasint *n1, FLOAT *d,
7272
if (kval == 0) return 0;
7373

7474
#ifdef SMP
75-
int nthreads = num_cpu_avail(4);
75+
int nthreads = 1;
76+
if (n >= 64) nthreads = num_cpu_avail(4);
7677

7778
if (nthreads == 1) {
7879
#endif

interface/lapack/laswp.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,11 @@ int NAME(blasint *N, FLOAT *a, blasint *LDA, blasint *K1, blasint *K2, blasint *
7777
flag = (incx < 0);
7878

7979
#ifdef SMP
80-
nthreads = num_cpu_avail(1);
80+
if (n < 64) {
81+
nthreads = 1;
82+
} else {
83+
nthreads = num_cpu_avail(1);
84+
}
8185

8286
if (nthreads == 1) {
8387
#endif

interface/lapack/lauum.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,11 @@ int NAME(char *UPLO, blasint *N, FLOAT *a, blasint *ldA, blasint *Info){
112112

113113
#ifdef SMP
114114
args.common = NULL;
115-
args.nthreads = num_cpu_avail(4);
115+
if (args.n < 64) {
116+
args.nthreads = 1;
117+
} else {
118+
args.nthreads = num_cpu_avail(4);
119+
}
116120

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

interface/lapack/trtrs.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,11 @@ int NAME(char *UPLO, char* TRANS, char* DIAG, blasint *N, blasint *NRHS, FLOAT *
147147

148148
#ifdef SMP
149149
args.common = NULL;
150-
args.nthreads = num_cpu_avail(4);
150+
if (args.m < 64) {
151+
args.nthreads = 1;
152+
} else {
153+
args.nthreads = num_cpu_avail(4);
154+
}
151155

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

interface/lapack/zgetrs.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,11 @@ int NAME(char *TRANS, blasint *N, blasint *NRHS, FLOAT *a, blasint *ldA,
125125
#endif
126126

127127
#ifdef SMP
128-
args.nthreads = num_cpu_avail(4);
128+
if (args.m < 64) {
129+
args.nthreads = 1;
130+
} else {
131+
args.nthreads = num_cpu_avail(4);
132+
}
129133

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

interface/lapack/zlaswp.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,11 @@ int NAME(blasint *N, FLOAT *a, blasint *LDA, blasint *K1, blasint *K2, blasint *
7878
flag = (incx < 0);
7979

8080
#ifdef SMP
81-
nthreads = num_cpu_avail(2);
81+
if (n < 64) {
82+
nthreads = 1;
83+
} else {
84+
nthreads = num_cpu_avail(2);
85+
}
8286

8387
if (nthreads == 1) {
8488
#endif

interface/lapack/zlauum.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,11 @@ int NAME(char *UPLO, blasint *N, FLOAT *a, blasint *ldA, blasint *Info){
112112

113113
#ifdef SMP
114114
args.common = NULL;
115-
args.nthreads = num_cpu_avail(4);
115+
if (args.n < 64) {
116+
args.nthreads = 1;
117+
} else {
118+
args.nthreads = num_cpu_avail(4);
119+
}
116120

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

interface/lapack/ztrtri.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,11 @@ int NAME(char *UPLO, char *DIAG, blasint *N, FLOAT *a, blasint *ldA, blasint *In
125125

126126
#ifdef SMP
127127
args.common = NULL;
128-
args.nthreads = num_cpu_avail(4);
128+
if (args.n < 64) {
129+
args.nthreads = 1;
130+
} else {
131+
args.nthreads = num_cpu_avail(4);
132+
}
129133

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

interface/lapack/ztrtrs.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,11 @@ int NAME(char *UPLO, char* TRANS, char* DIAG, blasint *N, blasint *NRHS, FLOAT *
147147

148148
#ifdef SMP
149149
args.common = NULL;
150-
args.nthreads = num_cpu_avail(4);
150+
if (args.m < 64) {
151+
args.nthreads = 1;
152+
} else {
153+
args.nthreads = num_cpu_avail(4);
154+
}
151155

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

0 commit comments

Comments
 (0)