From 59a1114d03b59794ae46eb6ae60b9a3b4b842709 Mon Sep 17 00:00:00 2001 From: Wangyang Guo Date: Tue, 7 Sep 2021 18:12:40 +0800 Subject: [PATCH] sbgemm: cooperlake: tuning for small matrix --- kernel/x86_64/sbgemm_small_kernel_permit_cooperlake.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kernel/x86_64/sbgemm_small_kernel_permit_cooperlake.c b/kernel/x86_64/sbgemm_small_kernel_permit_cooperlake.c index 823aafbdd..70becd9fa 100644 --- a/kernel/x86_64/sbgemm_small_kernel_permit_cooperlake.c +++ b/kernel/x86_64/sbgemm_small_kernel_permit_cooperlake.c @@ -38,5 +38,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. int CNAME(int transa, int transb, BLASLONG M, BLASLONG N, BLASLONG K, FLOAT alpha, FLOAT beta) { - return 1; + double MNK = (double) M * (double) N * (double) K; + if (MNK > 256.0*256.0*256.0) // disable for big size matrix + return 0; + /* small matrix kernel works well for N = 8, 16, 32 */ + if (N == 8 || N == 16 || N == 32) + return 1; + return 0; }