BLD: Add the ? variant for kernel

This commit is contained in:
Rohit Goswami 2024-04-28 01:46:57 +00:00 committed by Mateusz Sokół
parent 01717ce320
commit 76be8f851d
1 changed files with 20 additions and 19 deletions

View File

@ -12,7 +12,7 @@ endif
# addl --> passed AS IS # addl --> passed AS IS
base_kops = [ base_kops = [
# Level 1 BLAS # Level 1 BLAS
{ 'base': 'rot', { 'base': '?rot',
'modes': { 'modes': {
's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'rot.c', 'addl': [fma3_flag]}}}, 's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'rot.c', 'addl': [fma3_flag]}}},
'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'rot.c', 'addl': [fma3_flag]}}}, 'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'rot.c', 'addl': [fma3_flag]}}},
@ -22,7 +22,7 @@ base_kops = [
'xq': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zrot.c'}}}, 'xq': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zrot.c'}}},
}, },
}, },
{ 'base': 'swap', { 'base': '?swap',
'modes': { 'modes': {
's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'swap.c'}}}, 's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'swap.c'}}},
'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'swap.c'}}}, 'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'swap.c'}}},
@ -32,7 +32,7 @@ base_kops = [
'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zswap.c'}}}, 'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zswap.c'}}},
}, },
}, },
{ 'base': 'scal', { 'base': '?scal',
'modes': { 'modes': {
's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'scal.c'}}}, 's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'scal.c'}}},
'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'scal.c'}}}, 'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'scal.c'}}},
@ -42,7 +42,7 @@ base_kops = [
'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zscal.c'}}}, 'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zscal.c'}}},
}, },
}, },
{ 'base': 'copy', { 'base': '?copy',
'modes': { 'modes': {
's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'copy.c'}}}, 's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'copy.c'}}},
'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'copy.c'}}}, 'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'copy.c'}}},
@ -52,7 +52,7 @@ base_kops = [
'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zcopy.c'}}}, 'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zcopy.c'}}},
}, },
}, },
{ 'base': 'axpy', { 'base': '?axpy',
'modes': { 'modes': {
's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'axpy.c'}}}, 's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'axpy.c'}}},
'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'axpy.c'}}}, 'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'axpy.c'}}},
@ -62,7 +62,7 @@ base_kops = [
'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zaxpy.c'}}}, 'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zaxpy.c'}}},
}, },
}, },
{ 'base': 'dot', { 'base': '?dot',
'modes': { 'modes': {
's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'dot.c'}}}, 's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'dot.c'}}},
'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'dot.c'}}}, 'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'dot.c'}}},
@ -73,7 +73,7 @@ base_kops = [
}, },
}, },
# xDOTU xDOTC xxDOT aren't present # xDOTU xDOTC xxDOT aren't present
{ 'base': 'nrm2', { 'base': '?nrm2',
'modes': { 'modes': {
's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'nrm2.c'}}}, 's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'nrm2.c'}}},
'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'nrm2.c'}}}, 'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'nrm2.c'}}},
@ -83,7 +83,7 @@ base_kops = [
'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'znrm2.c'}}}, 'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'znrm2.c'}}},
}, },
}, },
{ 'base': 'asum', { 'base': '?asum',
'modes': { 'modes': {
's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'asum.c'}}}, 's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'asum.c'}}},
'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'asum.c'}}}, 'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'asum.c'}}},
@ -93,7 +93,7 @@ base_kops = [
'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zasum.c'}}}, 'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zasum.c'}}},
}, },
}, },
{ 'base': 'amax', { 'base': '?amax',
'modes': { 'modes': {
's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'amax.c'}}}, 's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'amax.c'}}},
'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'amax.c'}}}, 'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'amax.c'}}},
@ -103,14 +103,15 @@ base_kops = [
'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zamax.c'}}}, 'x': {'exts': {'_k': {'dir': 'arm', 'kernel': 'zamax.c'}}},
}, },
}, },
# # # TODO: Handle the i*amax style # TODO: Handle the i*amax style
# # {'base': 'axpby', { 'base': '?axpby',
# # 'modes': {'s': {'dir': 'arm', 'kernel': 'axpby.c', 'exts': ['_k']}, 'modes': {
# # 'd': {'dir': 'arm', 'kernel': 'axpby.c', 'exts': ['_k']}, 's': {'exts': {'_k': {'dir': 'arm', 'kernel': 'axpby.c'}}},
# # 'c': {'dir': 'arm', 'kernel': 'axpby.c', 'exts': ['_k']}, 'd': {'exts': {'_k': {'dir': 'arm', 'kernel': 'axpby.c'}}},
# # 'z': {'dir': 'arm', 'kernel': 'axpby.c', 'exts': ['_k']}, 'c': {'exts': {'_k': {'dir': 'x86_64', 'kernel': 'zaxpy_sse.S'}}},
# # }, 'z': {'exts': {'_k': {'dir': 'x86_64', 'kernel': 'zaxpy_sse2.S'}}},
# # }, },
},
# # # 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
@ -215,8 +216,8 @@ foreach _kop : base_kops
if extdat.has_key('addl') if extdat.has_key('addl')
__cargs += extdat['addl'] __cargs += extdat['addl']
endif endif
message(mode + base + ext) sym_name = base.replace('?', mode) + ext
sym_name = mode + base + ext message(sym_name)
sym_underscored = f'@sym_name@_' sym_underscored = f'@sym_name@_'
__cargs += [ __cargs += [
f'-DASMNAME=@sym_name@', f'-DASMNAME=@sym_name@',