BLD: Add generic BLAS2 modes

This commit is contained in:
Rohit Goswami 2024-03-24 00:07:05 +00:00 committed by Mateusz Sokół
parent e91b0216cd
commit 523a57f985
1 changed files with 64 additions and 67 deletions

View File

@ -322,6 +322,13 @@ base_kops = [
},
},
},
{'base': 'axpby',
'modes': {'s': {'dir': 'arm', 'kernel': 'axpby.c', 'exts': ['_k']},
'd': {'dir': 'arm', 'kernel': 'axpby.c', 'exts': ['_k']},
'c': {'dir': 'arm', 'kernel': 'axpby.c', 'exts': ['_k']},
'z': {'dir': 'arm', 'kernel': 'axpby.c', 'exts': ['_k']},
},
},
# Level 2 BLAS
# There are additional sources so now we have srcs
# Ordered as per KERNEL.generic and Makefile.L2
@ -329,73 +336,63 @@ base_kops = [
# ext is attached to base (only useful from Level 2)
# i.e. baseext (e.g., gemv_n, gemv_t, cgeru_k, cgerc_k)
{'base': 'gemv',
'modes': {
's' : {
'dir': 'arm',
'kernel': 'gemv_n.c',
'exts': ['_n', '_t'],
},
'd' : {
'dir': 'arm',
'kernel': 'gemv_n.c',
'modes': {'s': {'dir': 'arm', 'kernel': 'gemv_n.c', 'exts': ['_n', '_t']},
'd': {'dir': 'arm', 'kernel': 'gemv_n.c',
# TODO: _t should take fmaflag, but then we need a dictionary..
# From Makefile.L2
'exts': ['_n', '_t'],
},
'q' : {
'dir': 'arm',
'kernel': 'zgemv_n.c',
'exts': ['_n', '_t'],
},
'c' : {
'dir': 'arm',
'kernel': 'zgemv_n.c',
'exts': ['_n', '_t', '_r', '_c', '_u', '_s', '_d'],
},
'z' : {
'dir': 'arm',
'kernel': 'zgemv_n.c',
'exts': ['_n', '_t', '_r', '_c', '_u', '_s', '_d'],
},
'x' : {
'dir': 'arm',
'kernel': 'zgemv_n.c',
'exts': ['_n', '_t', '_r', '_c', '_u', '_s', '_d'],
'exts': ['_n', '_t']},
'q': {'dir': 'arm', 'kernel': 'gemv_n.c', 'exts': ['_n', '_t']},
'c': {'dir': 'arm', 'kernel': 'zgemv_n.c',
'exts': ['_n', '_t', '_r', '_c', '_o', '_u', '_s', '_d']},
'z': {'dir': 'arm', 'kernel': 'zgemv_n.c',
'exts': ['_n', '_t', '_r', '_c', '_o', '_u', '_s', '_d']},
'x': {'dir': 'arm', 'kernel': 'zgemv_n.c',
'exts': ['_n', '_t', '_r', '_c', '_o', '_u', '_s', '_d']},
},
},
{'base': 'symv',
'modes': {'s': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
'd': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
'q': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
'c': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
'z': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
'x': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
},
{'base': 'gemm_beta',
'modes': {
's' : {
'dir': 'generic',
'kernel': 'gemm_beta.c',
'exts': ['_n', '_t'],
},
'd' : {
'dir': 'generic',
'kernel': 'gemm_beta.c',
'exts': ['_n', '_t'],
{'base': 'ger',
'modes': {'s': {'dir': 'generic', 'kernel': 'ger.c', 'exts': ['_k']},
'd': {'dir': 'generic', 'kernel': 'ger.c', 'exts': ['_k']},
'q': {'dir': 'generic', 'kernel': 'ger.c', 'exts': ['_k']}
},
'q' : {
'dir': 'generic',
'kernel': 'zgemm_beta.c',
'exts': ['_n', '_t'],
},
'c' : {
'dir': 'generic',
'kernel': 'zgemm_beta.c',
'exts': ['_n', '_t', '_r', '_c', '_u', '_s', '_d'],
{'base': 'geru',
'modes': {'c': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']},
'z': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']},
'x': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']}
}
},
'z' : {
'dir': 'generic',
'kernel': 'zgemm_beta.c',
'exts': ['_n', '_t', '_r', '_c', '_u', '_s', '_d'],
{'base': 'gerc',
'modes': {'c': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']},
'z': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']},
'x': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']},
},
'x' : {
'dir': 'generic',
'kernel': 'zgemm_beta.c',
'exts': ['_n', '_t', '_r', '_c', '_u', '_s', '_d'],
},
{'base': 'hemv',
'modes': {'c': {'dir': 'generic',
'kernel': 'zhemv_k.c',
'exts': ['_U', '_L', '_V', '_M']},
'z': {'dir': 'generic',
'kernel': 'zhemv_k.c',
'exts': ['_U', '_L', '_V', '_M']},
'x': {'dir': 'generic',
'kernel': 'zhemv_k.c',
'exts': ['_U', '_L', '_V', '_M']},
},
},
{'base': 'bgemv',
'modes': {'s': {'dir': 'x86_64',
'kernel': 'sbgemv_n.c',
'exts': ['_n', '_t']}
},
},
]