From 891052a3ef404627232730121edbab5860151bdd Mon Sep 17 00:00:00 2001 From: Rohit Goswami Date: Mon, 27 May 2024 01:22:57 +0000 Subject: [PATCH] MAINT: Add the _beta variant of gemm --- kernel/meson.build | 47 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/kernel/meson.build b/kernel/meson.build index 2b6c78acd..237776805 100644 --- a/kernel/meson.build +++ b/kernel/meson.build @@ -356,17 +356,6 @@ base_kops = [ }, }, # Level 3 symbols - # TODO(rg): Handle the if defines set in arch - { 'base': '?gemm_beta', - 'modes': { - 's': {'exts': {'': {'dir': 'x86_64', 'kernel': 'gemm_beta.S'}}}, - 'd': {'exts': {'': {'dir': 'x86_64', 'kernel': 'gemm_beta.S'}}}, - 'c': {'exts': {'': {'dir': 'x86_64', 'kernel': 'zgemm_beta.S'}}}, - 'z': {'exts': {'': {'dir': 'x86_64', 'kernel': 'zgemm_beta.S'}}}, - # 'q': {'exts': {'': {'dir': 'generic', 'kernel': 'gemm_beta.c'}}}, - # 'x': {'exts': {'': {'dir': 'generic', 'kernel': 'zgemm_beta.c'}}}, - }, - }, { 'base': '?gemm_kernel', 'modes': { 's': {'exts': {'': {'dir': 'generic', 'kernel': 'gemmkernel_2x2.c'}}}, @@ -508,6 +497,42 @@ base_kops = [ 'addl': ['-DNN']}}}, }, }, + { 'base': '?gemm', + 'modes': { + 's': {'exts': { + '_beta': {'dir': 'generic', 'kernel': 'gemm_beta.c'}, + # TODO(rg): the _NUM prefixes are arch dependent + '_incopy': {'dir': 'generic', 'kernel': 'gemm_ncopy_8.c'}, + '_itcopy': {'dir': 'generic', 'kernel': 'gemm_tcopy_8.c'}, + '_oncopy': {'dir': 'generic', 'kernel': 'gemm_ncopy_2.c'}, + '_otcopy': {'dir': 'generic', 'kernel': 'gemm_tcopy_4.c'}, + # TODO(rg): direct and direct_performant are built only conditionally + '_direct': {'dir': 'x86_64', 'kernel': 'sgemm_direct_skylakex.c'}, + '_direct_performant': {'dir': 'x86_64', 'kernel': 'sgemm_direct_performant.c'}, + }}, + 'd': {'exts': { + '_beta': {'dir': 'generic', 'kernel': 'gemm_beta.c'}, + '_incopy': {'dir': 'generic', 'kernel': 'gemm_ncopy_8.c'}, + '_itcopy': {'dir': 'generic', 'kernel': 'gemm_tcopy_8.c'}, + '_oncopy': {'dir': 'generic', 'kernel': 'gemm_ncopy_2.c'}, + '_otcopy': {'dir': 'generic', 'kernel': 'gemm_tcopy_4.c'}, + }}, + 'c': {'exts': { + '_beta': {'dir': 'generic', 'kernel': 'zgemm_beta.c'}, + '_incopy': {'dir': 'generic', 'kernel': 'zgemm_ncopy_8.c'}, + '_itcopy': {'dir': 'generic', 'kernel': 'zgemm_tcopy_8.c'}, + '_oncopy': {'dir': 'generic', 'kernel': 'zgemm_ncopy_2.c'}, + '_otcopy': {'dir': 'generic', 'kernel': 'zgemm_tcopy_2.c'}, + }}, + 'z': {'exts': { + '_beta': {'dir': 'generic', 'kernel': 'zgemm_beta.c'}, + '_incopy': {'dir': 'generic', 'kernel': 'zgemm_ncopy_8.c'}, + '_itcopy': {'dir': 'generic', 'kernel': 'zgemm_tcopy_8.c'}, + '_oncopy': {'dir': 'generic', 'kernel': 'zgemm_ncopy_2.c'}, + '_otcopy': {'dir': 'generic', 'kernel': 'zgemm_tcopy_2.c'}, + }}, + }, + }, { 'base': '?trmm', 'modes': { 's': {'exts': {