For gemm multi-threading, simply split M.

e.g.
layer 1: A (1600k, 576), B(576, 64)

B is very small. We split M.
This commit is contained in:
Zhang Xianyi 2015-11-25 05:14:56 +08:00
parent da7f69e8f4
commit 92058a75e2
2 changed files with 3 additions and 1 deletions

View File

@ -80,7 +80,7 @@ VERSION = 0.2.16.dev
# NO_LAPACKE = 1 # NO_LAPACKE = 1
# If you want to use legacy threaded Level 3 implementation. # If you want to use legacy threaded Level 3 implementation.
# USE_SIMPLE_THREADED_LEVEL3 = 1 USE_SIMPLE_THREADED_LEVEL3 = 1
# If you want to drive whole 64bit region by BLAS. Not all Fortran # If you want to drive whole 64bit region by BLAS. Not all Fortran
# compiler supports this. It's safe to keep comment it out if you # compiler supports this. It's safe to keep comment it out if you

View File

@ -1194,6 +1194,8 @@ extern gotoblas_t *gotoblas;
#define XGEMM_DEFAULT_UNROLL_N 2 #define XGEMM_DEFAULT_UNROLL_N 2
#endif #endif
#define GEMM_THREAD gemm_thread_m
#ifndef GEMM_THREAD #ifndef GEMM_THREAD
#define GEMM_THREAD gemm_thread_n #define GEMM_THREAD gemm_thread_n
#endif #endif