Avoid penalizing tall skinny matrices

This commit is contained in:
Martin Kroeker 2019-01-23 10:03:00 +01:00 committed by GitHub
parent cda81cfae0
commit 8533aca964
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 4 deletions

View File

@ -82,9 +82,9 @@
#endif #endif
#ifndef COMPLEX #ifndef COMPLEX
#define SMP_FACTOR 8 #define SMP_FACTOR 256
#else #else
#define SMP_FACTOR 4 #define SMP_FACTOR 128
#endif #endif
static int (*trsm[])(blas_arg_t *, BLASLONG *, BLASLONG *, FLOAT *, FLOAT *, BLASLONG) = { static int (*trsm[])(blas_arg_t *, BLASLONG *, BLASLONG *, FLOAT *, FLOAT *, BLASLONG) = {
@ -372,11 +372,15 @@ void CNAME(enum CBLAS_ORDER order,
mode |= (trans << BLAS_TRANSA_SHIFT); mode |= (trans << BLAS_TRANSA_SHIFT);
mode |= (side << BLAS_RSIDE_SHIFT); mode |= (side << BLAS_RSIDE_SHIFT);
if ( args.m < SMP_FACTOR * GEMM_MULTITHREAD_THRESHOLD ) /*
if ( args.m < 2 * GEMM_MULTITHREAD_THRESHOLD )
args.nthreads = 1; args.nthreads = 1;
else else
if ( args.n < SMP_FACTOR * GEMM_MULTITHREAD_THRESHOLD ) if ( args.n < 2 * GEMM_MULTITHREAD_THRESHOLD )
args.nthreads = 1; args.nthreads = 1;
*/
if ( args.m * args.n < SMP_FACTOR * GEMM_MULTITHREAD_THRESHOLD)
args.nthreads = 1;
else else
args.nthreads = num_cpu_avail(3); args.nthreads = num_cpu_avail(3);