BLD: `test` port
This commit is contained in:
parent
fa7ba3121c
commit
3bc55f15f0
|
@ -143,6 +143,11 @@ driver_kops = [
|
||||||
'_LN', '_LT', '']},
|
'_LN', '_LT', '']},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{ 'base': 'syrk_thread',
|
||||||
|
'sources': {
|
||||||
|
'syrk_thread.c': {'mode': [''], 'exts': ['']}
|
||||||
|
}
|
||||||
|
},
|
||||||
{ 'base': '?syrk_kernel',
|
{ 'base': '?syrk_kernel',
|
||||||
'sources': {
|
'sources': {
|
||||||
'syrk_kernel.c': {'mode': ['s', 'd', # 'q'],
|
'syrk_kernel.c': {'mode': ['s', 'd', # 'q'],
|
||||||
|
@ -158,6 +163,12 @@ driver_kops = [
|
||||||
'_LN', '_LT']},
|
'_LN', '_LT']},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{ 'base': '?syr2k_kernel',
|
||||||
|
'sources': {
|
||||||
|
'syr2k_kernel.c': {'mode': ['s', 'd', 'c', 'z'],
|
||||||
|
'exts': ['_U', '_L']},
|
||||||
|
}
|
||||||
|
},
|
||||||
{ 'base': '?hemm',
|
{ 'base': '?hemm',
|
||||||
'sources': {
|
'sources': {
|
||||||
'zhemm_k.c': {'mode': ['c', 'z'], # 'x'],
|
'zhemm_k.c': {'mode': ['c', 'z'], # 'x'],
|
||||||
|
|
|
@ -638,37 +638,163 @@ base_kops = [
|
||||||
's': {'exts': {
|
's': {'exts': {
|
||||||
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
|
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
|
||||||
'_iunucopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_8.c',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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',
|
'_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': {
|
's': {'exts': {
|
||||||
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
|
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
|
||||||
'_iutcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_8.c',
|
'_iutcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_8.c',
|
||||||
'addl': ['-UOUTER', '-ULOWER']},
|
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER']},
|
||||||
'_iltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_8.c',
|
'_iltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_8.c',
|
||||||
'addl': ['-UOUTER', '-DLOWER']},
|
'addl': ['-UDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER']},
|
||||||
'_outcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_4.c',
|
'_outcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_4.c',
|
||||||
'addl': ['-DOUTER', '-ULOWER']},
|
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER']},
|
||||||
'_oltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_4.c',
|
'_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
|
if build_testing
|
||||||
|
subdir('test')
|
||||||
subdir('utest')
|
subdir('utest')
|
||||||
endif
|
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