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 = []
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue