Skip to content

Commit 3f7bb87

Browse files
authored
Merge pull request #1971 from martin-frbg/trsm-threshold
Shift transition to multithreading towards larger matrix sizes
2 parents 16494cb + 8533aca commit 3f7bb87

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

interface/trsm.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@
8181
#endif
8282
#endif
8383

84+
#ifndef COMPLEX
85+
#define SMP_FACTOR 256
86+
#else
87+
#define SMP_FACTOR 128
88+
#endif
89+
8490
static int (*trsm[])(blas_arg_t *, BLASLONG *, BLASLONG *, FLOAT *, FLOAT *, BLASLONG) = {
8591
#ifndef TRMM
8692
TRSM_LNUU, TRSM_LNUN, TRSM_LNLU, TRSM_LNLN,
@@ -366,11 +372,15 @@ void CNAME(enum CBLAS_ORDER order,
366372
mode |= (trans << BLAS_TRANSA_SHIFT);
367373
mode |= (side << BLAS_RSIDE_SHIFT);
368374

369-
if ( args.m < 2*GEMM_MULTITHREAD_THRESHOLD )
375+
/*
376+
if ( args.m < 2 * GEMM_MULTITHREAD_THRESHOLD )
370377
args.nthreads = 1;
371378
else
372-
if ( args.n < 2*GEMM_MULTITHREAD_THRESHOLD )
379+
if ( args.n < 2 * GEMM_MULTITHREAD_THRESHOLD )
373380
args.nthreads = 1;
381+
*/
382+
if ( args.m * args.n < SMP_FACTOR * GEMM_MULTITHREAD_THRESHOLD)
383+
args.nthreads = 1;
374384
else
375385
args.nthreads = num_cpu_avail(3);
376386

0 commit comments

Comments
 (0)