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 # 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']}
},
}, },
] ]