MAINT: Add the gemm_small_kernel variants
w/o and with b0
This commit is contained in:
parent
cbafa8114f
commit
517eca96c6
|
@ -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 = []
|
kernel_confs = []
|
||||||
|
|
|
@ -294,10 +294,10 @@ ext_mappings = {
|
||||||
'_rn': {'def': ['RN']},
|
'_rn': {'def': ['RN']},
|
||||||
'_rt': {'def': ['RT']},
|
'_rt': {'def': ['RT']},
|
||||||
'_rr': {'def': ['RR']},
|
'_rr': {'def': ['RR']},
|
||||||
'_rc': {'def': ['RC']},
|
'_rc': {'def': ['RC=RC']},
|
||||||
'_cn': {'def': ['CN']},
|
'_cn': {'def': ['CN']},
|
||||||
'_ct': {'def': ['CT']},
|
'_ct': {'def': ['CT']},
|
||||||
'_cr': {'def': ['CR']},
|
'_cr': {'def': ['CR=CR']},
|
||||||
'_cc': {'def': ['CC']},
|
'_cc': {'def': ['CC']},
|
||||||
# Level 3 symbols
|
# Level 3 symbols
|
||||||
'_LU': {'def': ['NN'], 'undef': ['LOWER', 'RSIDE']},
|
'_LU': {'def': ['NN'], 'undef': ['LOWER', 'RSIDE']},
|
||||||
|
@ -431,6 +431,7 @@ symb_defs = {
|
||||||
'?trmm_kernel': {'def': ['TRMMKERNEL']},
|
'?trmm_kernel': {'def': ['TRMMKERNEL']},
|
||||||
'?trsm_kernel': {'def': ['TRSMKERNEL']},
|
'?trsm_kernel': {'def': ['TRSMKERNEL']},
|
||||||
'?bgemm': {'def': ['HALF']},
|
'?bgemm': {'def': ['HALF']},
|
||||||
|
'?gemm_small_kernel_b0': {'def': ['B0']},
|
||||||
'cblas_?dotu_sub': {'def': ['CBLAS', 'FORCE_USE_STACK'], 'undef': ['CONJ']},
|
'cblas_?dotu_sub': {'def': ['CBLAS', 'FORCE_USE_STACK'], 'undef': ['CONJ']},
|
||||||
'cblas_?dotc_sub': {'def': ['CBLAS', 'FORCE_USE_STACK', 'CONJ']},
|
'cblas_?dotc_sub': {'def': ['CBLAS', 'FORCE_USE_STACK', 'CONJ']},
|
||||||
}
|
}
|
||||||
|
@ -445,4 +446,5 @@ subdir('driver/level3')
|
||||||
subdir('kernel')
|
subdir('kernel')
|
||||||
|
|
||||||
_openblas = static_library('openblas',
|
_openblas = static_library('openblas',
|
||||||
link_whole: [ _interface, _l2_driver, _l3_driver, _kern ])
|
link_whole: [ _interface, _l2_driver, _l3_driver, _kern ],
|
||||||
|
install: true)
|
||||||
|
|
Loading…
Reference in New Issue