BLD: Add generic BLAS2 modes
This commit is contained in:
parent
e91b0216cd
commit
523a57f985
|
@ -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
|
# Level 2 BLAS
|
||||||
# There are additional sources so now we have srcs
|
# There are additional sources so now we have srcs
|
||||||
# Ordered as per KERNEL.generic and Makefile.L2
|
# Ordered as per KERNEL.generic and Makefile.L2
|
||||||
|
@ -329,74 +336,64 @@ base_kops = [
|
||||||
# ext is attached to base (only useful from Level 2)
|
# ext is attached to base (only useful from Level 2)
|
||||||
# i.e. baseext (e.g., gemv_n, gemv_t, cgeru_k, cgerc_k)
|
# i.e. baseext (e.g., gemv_n, gemv_t, cgeru_k, cgerc_k)
|
||||||
{'base': 'gemv',
|
{'base': 'gemv',
|
||||||
'modes': {
|
'modes': {'s': {'dir': 'arm', 'kernel': 'gemv_n.c', 'exts': ['_n', '_t']},
|
||||||
's' : {
|
'd': {'dir': 'arm', 'kernel': 'gemv_n.c',
|
||||||
'dir': 'arm',
|
# TODO: _t should take fmaflag, but then we need a dictionary..
|
||||||
'kernel': 'gemv_n.c',
|
# From Makefile.L2
|
||||||
'exts': ['_n', '_t'],
|
'exts': ['_n', '_t']},
|
||||||
},
|
'q': {'dir': 'arm', 'kernel': 'gemv_n.c', 'exts': ['_n', '_t']},
|
||||||
'd' : {
|
'c': {'dir': 'arm', 'kernel': 'zgemv_n.c',
|
||||||
'dir': 'arm',
|
'exts': ['_n', '_t', '_r', '_c', '_o', '_u', '_s', '_d']},
|
||||||
'kernel': 'gemv_n.c',
|
'z': {'dir': 'arm', 'kernel': 'zgemv_n.c',
|
||||||
# TODO: _t should take fmaflag, but then we need a dictionary..
|
'exts': ['_n', '_t', '_r', '_c', '_o', '_u', '_s', '_d']},
|
||||||
# From Makefile.L2
|
'x': {'dir': 'arm', 'kernel': 'zgemv_n.c',
|
||||||
'exts': ['_n', '_t'],
|
'exts': ['_n', '_t', '_r', '_c', '_o', '_u', '_s', '_d']},
|
||||||
},
|
},
|
||||||
'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'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{'base': 'gemm_beta',
|
{'base': 'symv',
|
||||||
'modes': {
|
'modes': {'s': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
|
||||||
's' : {
|
'd': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
|
||||||
'dir': 'generic',
|
'q': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
|
||||||
'kernel': 'gemm_beta.c',
|
'c': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
|
||||||
'exts': ['_n', '_t'],
|
'z': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
|
||||||
},
|
'x': {'dir': 'generic', 'kernel': 'symv_k.c', 'exts': ['_U', '_L']},
|
||||||
'd' : {
|
},
|
||||||
'dir': 'generic',
|
},
|
||||||
'kernel': 'gemm_beta.c',
|
{'base': 'ger',
|
||||||
'exts': ['_n', '_t'],
|
'modes': {'s': {'dir': 'generic', 'kernel': 'ger.c', 'exts': ['_k']},
|
||||||
},
|
'd': {'dir': 'generic', 'kernel': 'ger.c', 'exts': ['_k']},
|
||||||
'q' : {
|
'q': {'dir': 'generic', 'kernel': 'ger.c', 'exts': ['_k']}
|
||||||
'dir': 'generic',
|
},
|
||||||
'kernel': 'zgemm_beta.c',
|
},
|
||||||
'exts': ['_n', '_t'],
|
{'base': 'geru',
|
||||||
},
|
'modes': {'c': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']},
|
||||||
'c' : {
|
'z': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']},
|
||||||
'dir': 'generic',
|
'x': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']}
|
||||||
'kernel': 'zgemm_beta.c',
|
}
|
||||||
'exts': ['_n', '_t', '_r', '_c', '_u', '_s', '_d'],
|
},
|
||||||
},
|
{'base': 'gerc',
|
||||||
'z' : {
|
'modes': {'c': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']},
|
||||||
'dir': 'generic',
|
'z': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']},
|
||||||
'kernel': 'zgemm_beta.c',
|
'x': {'dir': 'generic', 'kernel': 'zger.c', 'exts': ['_k']},
|
||||||
'exts': ['_n', '_t', '_r', '_c', '_u', '_s', '_d'],
|
},
|
||||||
},
|
},
|
||||||
'x' : {
|
{'base': 'hemv',
|
||||||
'dir': 'generic',
|
'modes': {'c': {'dir': 'generic',
|
||||||
'kernel': 'zgemm_beta.c',
|
'kernel': 'zhemv_k.c',
|
||||||
'exts': ['_n', '_t', '_r', '_c', '_u', '_s', '_d'],
|
'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']}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue