MAINT: Cleanup interface build and be generic
For the L1 interface symbols at any rate
This commit is contained in:
parent
5a7a5a4e55
commit
e87fcdc360
|
@ -19,8 +19,8 @@ blas1_roots = [
|
||||||
# These don't exist as roots.
|
# These don't exist as roots.
|
||||||
# ismax amax isamax amin ismin isamin
|
# ismax amax isamax amin ismin isamin
|
||||||
# TODO: Why is dsdot in sblas1objs!?
|
# TODO: Why is dsdot in sblas1objs!?
|
||||||
'axpy', 'swap', 'copy', 'scal', 'dot', 'dsdot', 'asum', 'sum', 'nrm2', 'max',
|
# 'axpy', 'swap', 'copy', 'scal', 'dot', 'dsdot', 'asum', 'sum', 'nrm2', 'max',
|
||||||
'rot', 'rotg', 'rotm', 'rotmg', 'axpby',
|
'rot'#, 'rotg', 'rotm', 'rotmg', 'axpby',
|
||||||
]
|
]
|
||||||
blas2_roots = [
|
blas2_roots = [
|
||||||
'gemv', 'ger', 'trsv', 'trmv', 'symv', 'syr', 'syr2', 'gbmv', 'sbmv',
|
'gemv', 'ger', 'trsv', 'trmv', 'symv', 'syr', 'syr2', 'gbmv', 'sbmv',
|
||||||
|
@ -44,17 +44,28 @@ blas_roots += blas1_roots
|
||||||
blas_roots += blas2_roots
|
blas_roots += blas2_roots
|
||||||
blas_roots += blas3_roots
|
blas_roots += blas3_roots
|
||||||
_kinds += real_kinds
|
_kinds += real_kinds
|
||||||
foreach root : blas_roots
|
foreach root : blas1_roots
|
||||||
fname = root + '.c'
|
fname = root + '.c'
|
||||||
defs = []
|
defs = []
|
||||||
# if root in addl_srcs
|
# if root in addl_srcs
|
||||||
# defs += addl_srcs[root]
|
# defs += addl_srcs[root]
|
||||||
# endif
|
# endif
|
||||||
foreach prec : real_kinds
|
foreach prec : real_kinds
|
||||||
|
_defs = []
|
||||||
name = prec + fname
|
name = prec + fname
|
||||||
interface_confs += {'defs': defs, 'name': name, 'src': fname}
|
if prec == 'd'
|
||||||
|
_defs += ['-UCOMPLEX', '-DDOUBLE']
|
||||||
|
elif prec == 's'
|
||||||
|
_defs += ['-UCOMPLEX', '-UDOUBLE']
|
||||||
|
elif prec == 'cs'
|
||||||
|
_defs += ['-DCOMPLEX', '-UDOUBLE']
|
||||||
|
endif
|
||||||
|
interface_confs += {'defs': _defs,
|
||||||
|
'name': 'cblas_' + prec + root,
|
||||||
|
'src': fname}
|
||||||
endforeach
|
endforeach
|
||||||
endforeach
|
endforeach
|
||||||
|
message(interface_confs)
|
||||||
|
|
||||||
# if get_option('bfloat16')
|
# if get_option('bfloat16')
|
||||||
# TODO: Handle bfloat16
|
# TODO: Handle bfloat16
|
||||||
|
@ -63,35 +74,41 @@ endforeach
|
||||||
# sblas3_srcs += files(['sbgemm.c', 'sbgemmt.c'])
|
# sblas3_srcs += files(['sbgemm.c', 'sbgemmt.c'])
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
interface_confs += {
|
|
||||||
'name': 'cblas_drot',
|
|
||||||
'defs': ['-DCBLAS'],
|
|
||||||
'src': files('rot.c')
|
|
||||||
}
|
|
||||||
|
|
||||||
_static_libs = []
|
_static_libs = []
|
||||||
# foreach conf: interface_confs
|
foreach conf: interface_confs
|
||||||
# _static_libs += static_library(
|
sym_name = conf['name']
|
||||||
# conf['name'],
|
sym_underscored = f'@sym_name@_'
|
||||||
# conf['src'],
|
|
||||||
# include_directories: _inc,
|
|
||||||
# c_args: conf['defs'],
|
|
||||||
# )
|
|
||||||
# endforeach
|
|
||||||
_static_libs += static_library(
|
_static_libs += static_library(
|
||||||
'cblas_drot',
|
sym_name,
|
||||||
'rot.c',
|
conf['src'],
|
||||||
include_directories: _inc,
|
include_directories: _inc,
|
||||||
c_args: [_cargs,
|
c_args: [
|
||||||
'-DASMNAME=cblas_drot',
|
conf['defs'],
|
||||||
'-DASMFNAME=cblas_drot_',
|
_cargs,
|
||||||
'-DNAME=cblas_drot_',
|
f'-DASMNAME=@sym_name@',
|
||||||
'-DCNAME=cblas_drot',
|
f'-DASMFNAME=@sym_underscored@',
|
||||||
'-DCHAR_NAME="cblas_drot_"',
|
f'-DNAME=@sym_underscored@',
|
||||||
'-DCHAR_CNAME="cblas_drot"',
|
f'-DCNAME=@sym_name@',
|
||||||
'-DDOUBLE',
|
f'-DCHAR_NAME="@sym_underscored@"',
|
||||||
'-UCOMPLEX',],
|
f'-DCHAR_CNAME="@sym_name@"',
|
||||||
|
],
|
||||||
)
|
)
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
# _static_libs += static_library(
|
||||||
|
# 'cblas_drot',
|
||||||
|
# 'rot.c',
|
||||||
|
# include_directories: _inc,
|
||||||
|
# c_args: [_cargs,
|
||||||
|
# '-DASMNAME=cblas_drot',
|
||||||
|
# '-DASMFNAME=cblas_drot_',
|
||||||
|
# '-DNAME=cblas_drot_',
|
||||||
|
# '-DCNAME=cblas_drot',
|
||||||
|
# '-DCHAR_NAME="cblas_drot_"',
|
||||||
|
# '-DCHAR_CNAME="cblas_drot"',
|
||||||
|
# '-DDOUBLE',
|
||||||
|
# '-UCOMPLEX',],
|
||||||
|
# )
|
||||||
|
|
||||||
_interface = static_library('_interface',
|
_interface = static_library('_interface',
|
||||||
c_args: _cargs,
|
c_args: _cargs,
|
||||||
|
|
Loading…
Reference in New Issue