Skip to content

Commit 8533aca

Browse files
authored
Avoid penalizing tall skinny matrices
1 parent cda81cf commit 8533aca

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

interface/trsm.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@
8282
#endif
8383

8484
#ifndef COMPLEX
85-
#define SMP_FACTOR 8
85+
#define SMP_FACTOR 256
8686
#else
87-
#define SMP_FACTOR 4
87+
#define SMP_FACTOR 128
8888
#endif
8989

9090
static int (*trsm[])(blas_arg_t *, BLASLONG *, BLASLONG *, FLOAT *, FLOAT *, BLASLONG) = {
@@ -372,11 +372,15 @@ void CNAME(enum CBLAS_ORDER order,
372372
mode |= (trans << BLAS_TRANSA_SHIFT);
373373
mode |= (side << BLAS_RSIDE_SHIFT);
374374

375-
if ( args.m < SMP_FACTOR * GEMM_MULTITHREAD_THRESHOLD )
375+
/*
376+
if ( args.m < 2 * GEMM_MULTITHREAD_THRESHOLD )
376377
args.nthreads = 1;
377378
else
378-
if ( args.n < SMP_FACTOR * GEMM_MULTITHREAD_THRESHOLD )
379+
if ( args.n < 2 * GEMM_MULTITHREAD_THRESHOLD )
379380
args.nthreads = 1;
381+
*/
382+
if ( args.m * args.n < SMP_FACTOR * GEMM_MULTITHREAD_THRESHOLD)
383+
args.nthreads = 1;
380384
else
381385
args.nthreads = num_cpu_avail(3);
382386

0 commit comments

Comments
 (0)