BLD: `test` port
This commit is contained in:
parent
fa7ba3121c
commit
3bc55f15f0
|
@ -143,6 +143,11 @@ driver_kops = [
|
|||
'_LN', '_LT', '']},
|
||||
}
|
||||
},
|
||||
{ 'base': 'syrk_thread',
|
||||
'sources': {
|
||||
'syrk_thread.c': {'mode': [''], 'exts': ['']}
|
||||
}
|
||||
},
|
||||
{ 'base': '?syrk_kernel',
|
||||
'sources': {
|
||||
'syrk_kernel.c': {'mode': ['s', 'd', # 'q'],
|
||||
|
@ -158,6 +163,12 @@ driver_kops = [
|
|||
'_LN', '_LT']},
|
||||
}
|
||||
},
|
||||
{ 'base': '?syr2k_kernel',
|
||||
'sources': {
|
||||
'syr2k_kernel.c': {'mode': ['s', 'd', 'c', 'z'],
|
||||
'exts': ['_U', '_L']},
|
||||
}
|
||||
},
|
||||
{ 'base': '?hemm',
|
||||
'sources': {
|
||||
'zhemm_k.c': {'mode': ['c', 'z'], # 'x'],
|
||||
|
|
|
@ -638,37 +638,163 @@ base_kops = [
|
|||
's': {'exts': {
|
||||
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
|
||||
'_iunucopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_8.c',
|
||||
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_iunncopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_8.c',
|
||||
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_ilnucopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_8.c',
|
||||
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_ilnncopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_8.c',
|
||||
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_iutucopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_8.c',
|
||||
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_iutncopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_8.c',
|
||||
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_iltucopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_8.c',
|
||||
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_iltncopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_8.c',
|
||||
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_ounucopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_4.c',
|
||||
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_ounncopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_4.c',
|
||||
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_olnucopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_4.c',
|
||||
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_olnncopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_4.c',
|
||||
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_outucopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_4.c',
|
||||
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_outncopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_4.c',
|
||||
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_oltucopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_4.c',
|
||||
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_oltncopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_4.c',
|
||||
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
|
||||
}},
|
||||
'd': {'exts': {
|
||||
'_iunucopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_iunncopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_ilnucopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_ilnncopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_iutucopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_iutncopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_iltucopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_iltncopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_ounucopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_ounncopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_olnucopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_olnncopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_outucopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_outncopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_oltucopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_oltncopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
|
||||
}},
|
||||
'c': {'exts': {
|
||||
'_iunucopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_8.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_iunncopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_8.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_ilnucopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_8.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_ilnncopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_8.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_iutucopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_8.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_iutncopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_8.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_iltucopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_8.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_iltncopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_8.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_ounucopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_ounncopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_olnucopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_olnncopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_outucopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_outncopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_oltucopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_oltncopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
|
||||
}},
|
||||
'z': {'exts': {
|
||||
'_iunucopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_iunncopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_ilnucopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_ilnncopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_iutucopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_iutncopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_iltucopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_iltncopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_ounucopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_ounncopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_olnucopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_olnncopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
|
||||
'_outucopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
|
||||
'_outncopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
|
||||
'_oltucopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
|
||||
'_oltncopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
|
||||
}},
|
||||
},
|
||||
},
|
||||
{ 'base': '?hemm',
|
||||
'modes': {
|
||||
'c': {'exts': {
|
||||
'_iutcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER']},
|
||||
'_iltcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER']},
|
||||
'_outcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER']},
|
||||
'_oltcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER']},
|
||||
}},
|
||||
'z': {'exts': {
|
||||
'_iutcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER']},
|
||||
'_iltcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER']},
|
||||
'_outcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER']},
|
||||
'_oltcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER']},
|
||||
}},
|
||||
},
|
||||
},
|
||||
|
@ -856,13 +982,43 @@ base_kops = [
|
|||
's': {'exts': {
|
||||
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
|
||||
'_iutcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_8.c',
|
||||
'addl': ['-UOUTER', '-ULOWER']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER']},
|
||||
'_iltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_8.c',
|
||||
'addl': ['-UOUTER', '-DLOWER']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER']},
|
||||
'_outcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_4.c',
|
||||
'addl': ['-DOUTER', '-ULOWER']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER']},
|
||||
'_oltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_4.c',
|
||||
'addl': ['-DOUTER', '-DLOWER']},
|
||||
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER']},
|
||||
}},
|
||||
'd': {'exts': {
|
||||
'_iutcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER']},
|
||||
'_iltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER']},
|
||||
'_outcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER']},
|
||||
'_oltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER']},
|
||||
}},
|
||||
'c': {'exts': {
|
||||
'_iutcopy': {'dir': 'generic', 'kernel': 'zsymm_ucopy_8.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER']},
|
||||
'_iltcopy': {'dir': 'generic', 'kernel': 'zsymm_lcopy_8.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER']},
|
||||
'_outcopy': {'dir': 'generic', 'kernel': 'zsymm_ucopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER']},
|
||||
'_oltcopy': {'dir': 'generic', 'kernel': 'zsymm_lcopy_4.c',
|
||||
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER']},
|
||||
}},
|
||||
'z': {'exts': {
|
||||
'_iutcopy': {'dir': 'generic', 'kernel': 'zsymm_ucopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER']},
|
||||
'_iltcopy': {'dir': 'generic', 'kernel': 'zsymm_lcopy_8.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER']},
|
||||
'_outcopy': {'dir': 'generic', 'kernel': 'zsymm_ucopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER']},
|
||||
'_oltcopy': {'dir': 'generic', 'kernel': 'zsymm_lcopy_4.c',
|
||||
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER']},
|
||||
}},
|
||||
},
|
||||
},
|
||||
|
|
|
@ -552,5 +552,6 @@ pkg.generate(_openblas,
|
|||
)
|
||||
|
||||
if build_testing
|
||||
subdir('test')
|
||||
subdir('utest')
|
||||
endif
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
_test_input_array = [
|
||||
{'id': 'sblat1', 'has_dat': false},
|
||||
{'id': 'sblat2', 'has_dat': true},
|
||||
{'id': 'sblat3', 'has_dat': true},
|
||||
{'id': 'dblat1', 'has_dat': false},
|
||||
{'id': 'dblat2', 'has_dat': true},
|
||||
{'id': 'dblat3', 'has_dat': true},
|
||||
{'id': 'cblat1', 'has_dat': false},
|
||||
{'id': 'cblat2', 'has_dat': true},
|
||||
{'id': 'cblat3', 'has_dat': true},
|
||||
{'id': 'cblat3_3m', 'has_dat': true},
|
||||
{'id': 'zblat1', 'has_dat': false},
|
||||
{'id': 'zblat2', 'has_dat': true},
|
||||
{'id': 'zblat3', 'has_dat': true},
|
||||
{'id': 'zblat3_3m', 'has_dat': true},
|
||||
]
|
||||
|
||||
_test_runner = executable('test_runner', sources: ['test_runner.c'], install: false)
|
||||
|
||||
foreach _test : _test_input_array
|
||||
test_id = _test['id']
|
||||
executable(
|
||||
test_id,
|
||||
sources: f'@test_id@.f',
|
||||
link_with: [_openblas],
|
||||
dependencies: [dependency('threads')],
|
||||
)
|
||||
|
||||
_args = [f'./@test_id@']
|
||||
if _test['has_dat']
|
||||
_args += [ meson.current_source_dir() / f'@test_id@.dat']
|
||||
endif
|
||||
|
||||
test(
|
||||
test_id,
|
||||
_test_runner,
|
||||
args: _args,
|
||||
workdir: meson.current_build_dir(),
|
||||
)
|
||||
endforeach
|
|
@ -0,0 +1,25 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
if (argc != 2 && argc != 3) {
|
||||
fprintf(stderr, "Usage: %s <executable> <optional_input_file>\n", argv[0]);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
char command[1024];
|
||||
if (argc == 2) {
|
||||
snprintf(command, sizeof(command), "%s", argv[1]);
|
||||
} else {
|
||||
snprintf(command, sizeof(command), "%s < %s", argv[1], argv[2]);
|
||||
}
|
||||
|
||||
int result = system(command);
|
||||
if (result != 0) {
|
||||
fprintf(stderr, "Error: Command '%s' failed with return code %d.\n", command, result);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
Loading…
Reference in New Issue