| @@ -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,74 +336,64 @@ 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', | |||
| # 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'], | |||
| }, | |||
| }, | |||
| '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': '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': 'gemm_beta', | |||
| 'modes': { | |||
| 's' : { | |||
| 'dir': 'generic', | |||
| 'kernel': 'gemm_beta.c', | |||
| 'exts': ['_n', '_t'], | |||
| }, | |||
| 'd' : { | |||
| 'dir': 'generic', | |||
| 'kernel': 'gemm_beta.c', | |||
| 'exts': ['_n', '_t'], | |||
| }, | |||
| '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'], | |||
| }, | |||
| 'z' : { | |||
| 'dir': 'generic', | |||
| 'kernel': 'zgemm_beta.c', | |||
| 'exts': ['_n', '_t', '_r', '_c', '_u', '_s', '_d'], | |||
| }, | |||
| 'x' : { | |||
| 'dir': 'generic', | |||
| 'kernel': 'zgemm_beta.c', | |||
| 'exts': ['_n', '_t', '_r', '_c', '_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': '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']} | |||
| }, | |||
| }, | |||
| {'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']} | |||
| } | |||
| }, | |||
| {'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']}, | |||
| }, | |||
| }, | |||
| {'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']} | |||
| }, | |||
| }, | |||
| ] | |||