MAINT: Add the gemm_small_kernel variants

w/o and with b0
This commit is contained in:
Rohit Goswami 2024-05-27 00:51:08 +00:00 committed by Mateusz Sokół
parent cbafa8114f
commit 517eca96c6
2 changed files with 285 additions and 4 deletions

View File

@ -601,7 +601,286 @@ base_kops = [
}},
},
},
# TODO(rg): iunucopy stuff
{ 'base': '?gemm_small_kernel',
'modes': {
's': {
'exts': {
'_nn': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_nn.c',
},
'_nt': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_nt.c',
},
'_tn': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_tn.c',
},
'_tt': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_tt.c',
},
}
},
'd': {
'exts': {
'_nn': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_nn.c',
},
'_nt': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_nt.c',
},
'_tn': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_tn.c',
},
'_tt': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_tt.c',
},
}
},
'c': {
'exts': {
'_nn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_nr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_rn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_rr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_nt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_nc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_rt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_rc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_tn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_tr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_cn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_cr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_tt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_tc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_ct': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_cc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
}
},
'z': {
'exts': {
'_nn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_nr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_rn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_rr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_nt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_nc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_rt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_rc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_tn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_tr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_cn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_cr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_tt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_tc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_ct': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_cc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
}
},
},
},
{ 'base': '?gemm_small_kernel_b0',
'modes': {
's': {
'exts': {
'_nn': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_nn.c',
},
'_nt': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_nt.c',
},
'_tn': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_tn.c',
},
'_tt': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_tt.c',
},
}
},
'd': {
'exts': {
'_nn': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_nn.c',
},
'_nt': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_nt.c',
},
'_tn': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_tn.c',
},
'_tt': {'dir': 'generic',
'kernel': 'gemm_small_matrix_kernel_tt.c',
},
}
},
'c': {
'exts': {
'_nn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_nr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_rn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_rr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_nt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_nc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_rt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_rc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_tn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_tr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_cn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_cr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_tt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_tc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_ct': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_cc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
}
},
'z': {
'exts': {
'_nn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_nr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_rn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_rr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nn.c',
},
'_nt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_nc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_rt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_rc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_nt.c',
},
'_tn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_tr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_cn': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_cr': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tn.c',
},
'_tt': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_tc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_ct': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
'_cc': {'dir': 'generic',
'kernel': 'zgemm_small_matrix_kernel_tt.c',
},
}
},
},
},
]
kernel_confs = []

View File

@ -294,10 +294,10 @@ ext_mappings = {
'_rn': {'def': ['RN']},
'_rt': {'def': ['RT']},
'_rr': {'def': ['RR']},
'_rc': {'def': ['RC']},
'_rc': {'def': ['RC=RC']},
'_cn': {'def': ['CN']},
'_ct': {'def': ['CT']},
'_cr': {'def': ['CR']},
'_cr': {'def': ['CR=CR']},
'_cc': {'def': ['CC']},
# Level 3 symbols
'_LU': {'def': ['NN'], 'undef': ['LOWER', 'RSIDE']},
@ -431,6 +431,7 @@ symb_defs = {
'?trmm_kernel': {'def': ['TRMMKERNEL']},
'?trsm_kernel': {'def': ['TRSMKERNEL']},
'?bgemm': {'def': ['HALF']},
'?gemm_small_kernel_b0': {'def': ['B0']},
'cblas_?dotu_sub': {'def': ['CBLAS', 'FORCE_USE_STACK'], 'undef': ['CONJ']},
'cblas_?dotc_sub': {'def': ['CBLAS', 'FORCE_USE_STACK', 'CONJ']},
}
@ -445,4 +446,5 @@ subdir('driver/level3')
subdir('kernel')
_openblas = static_library('openblas',
link_whole: [ _interface, _l2_driver, _l3_driver, _kern ])
link_whole: [ _interface, _l2_driver, _l3_driver, _kern ],
install: true)