MAINT: Add more symbols for the test

This commit is contained in:
Rohit Goswami 2024-06-03 01:52:03 +00:00 committed by Mateusz Sokół
parent 86aa6b3a87
commit 5cadc67801
2 changed files with 221 additions and 10 deletions

View File

@ -44,7 +44,7 @@ foreach op : others_ops
endif
# Default compilation arguments
c_args = _cargs + ckop_args + addl
c_args = _cargs + ckop_args + addl + '-DMAX_PARALLEL_NUMBER=1'
# Generate the symbol name
sym_name = base

View File

@ -307,7 +307,66 @@ base_kops = [
'q': {'exts': {'': {'dir': 'generic', 'kernel': 'cabs.c'}}},
},
},
# TODO(rg): There's CGEMM3MKERNEL, ZGEMM3MKERNEL in kernel.generic
{ 'base': '?gemm3m',
'modes': {
'c': {'exts': {
'_kernel': {'dir': 'x86_64', 'kernel': 'zgemm3m_kernel_4x8_nehalem.S',
'addl': ['-DICOPY', '-UUSE_ALPHA']},
'_oncopyb': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.c',
'addl': ['-DUSE_ALPHA']},
'_otcopyb': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_4.c',
'addl': ['-DUSE_ALPHA']},
'_itcopyb': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA']},
'_itcopyr': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA', '-DREAL_ONLY']},
'_itcopyi': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA', '-DIMAGE_ONLY']},
'_incopyb': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA']},
'_incopyr': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA', '-DREAL_ONLY']},
'_oncopyr': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.c',
'addl': ['-DUSE_ALPHA', '-DREAL_ONLY']},
'_otcopyr': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_4.c',
'addl': ['-DUSE_ALPHA', '-DREAL_ONLY']},
'_incopyi': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA', '-DIMAGE_ONLY']},
'_oncopyi': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.c',
'addl': ['-DUSE_ALPHA', '-DIMAGE_ONLY']},
'_otcopyi': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.c',
'addl': ['-DUSE_ALPHA', '-DREAL_ONLY']},
}},
'z': {'exts': {
'_kernel': {'dir': 'x86_64', 'kernel': 'zgemm3m_kernel_4x8_nehalem.S',
'addl': ['-DICOPY', '-UUSE_ALPHA']},
'_oncopyb': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.c',
'addl': ['-DUSE_ALPHA']},
'_otcopyb': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_4.c',
'addl': ['-DUSE_ALPHA']},
'_itcopyb': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA']},
'_itcopyr': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA', '-DREAL_ONLY']},
'_itcopyi': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA', '-DIMAGE_ONLY']},
'_incopyb': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA']},
'_incopyr': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA', '-DREAL_ONLY']},
'_oncopyr': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.c',
'addl': ['-DUSE_ALPHA', '-DREAL_ONLY']},
'_otcopyr': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_4.c',
'addl': ['-DUSE_ALPHA', '-DREAL_ONLY']},
'_incopyi': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_8.c',
'addl': ['-DICOPY', '-UUSE_ALPHA', '-DIMAGE_ONLY']},
'_oncopyi': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.c',
'addl': ['-DUSE_ALPHA', '-DIMAGE_ONLY']},
'_otcopyi': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.c',
'addl': ['-DUSE_ALPHA', '-DREAL_ONLY']},
}},
},
},
{ 'base': '?ger',
'modes': {
's': {'exts': {'_k': {'dir': 'generic', 'kernel': 'ger.c'}}},
@ -499,14 +558,26 @@ base_kops = [
'addl': ['-DRT', '-UUPPER', '-DCONJ']},
},
},
},
},
{ 'base': '?gemm3m_kernel',
'modes': {
'c': {'exts': {'': {'dir': 'x86_64', 'kernel': 'zgemm3m_kernel_8x4_sse3.S',
'addl': ['-DNN']}}},
'z': {'exts': {'': {'dir': 'x86_64', 'kernel': 'zgemm3m_kernel_8x4_sse3.S',
'addl': ['-DNN']}}},
'z': {
'exts': {
'_LN': {'dir': 'generic', 'kernel': 'trsm_kernel_LN.c',
'addl': ['-DLN', '-DUPPER', '-UCONJ']},
'_LT': {'dir': 'generic', 'kernel': 'trsm_kernel_LT.c',
'addl': ['-DLT', '-UUPPER', '-UCONJ']},
'_LR': {'dir': 'generic', 'kernel': 'trsm_kernel_LN.c',
'addl': ['-DLN', '-DUPPER', '-DCONJ']},
'_LC': {'dir': 'generic', 'kernel': 'trsm_kernel_LT.c',
'addl': ['-DLT', '-UUPPER', '-DCONJ']},
'_RN': {'dir': 'generic', 'kernel': 'trsm_kernel_RN.c',
'addl': ['-DRN', '-DUPPER', '-UCONJ']},
'_RT': {'dir': 'generic', 'kernel': 'trsm_kernel_RT.c',
'addl': ['-DRT', '-UUPPER', '-UCONJ']},
'_RR': {'dir': 'generic', 'kernel': 'trsm_kernel_RN.c',
'addl': ['-DRN', '-DUPPER', '-DCONJ']},
'_RC': {'dir': 'generic', 'kernel': 'trsm_kernel_RT.c',
'addl': ['-DRT', '-UUPPER', '-DCONJ']},
},
},
},
},
{ 'base': '?gemm',
@ -629,6 +700,146 @@ base_kops = [
'_oltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
}},
'd': {'exts': {
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
'_iunucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iunncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_ilnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_ilnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_iutucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iutncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_iltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_iltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_ounucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_ounncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_olnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_olnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
'_outucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_outncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_oltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_oltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
}},
'q': {'exts': {
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
'_iunucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iunncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_ilnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_ilnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_iutucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iutncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_iltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_iltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_ounucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_ounncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_olnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_olnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
'_outucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_outncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_oltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_oltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
}},
'c': {'exts': {
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
'_iunucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iunncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_ilnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_ilnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_iutucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iutncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_iltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_iltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_ounucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_ounncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_olnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_olnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
'_outucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_outncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_oltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_oltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
}},
'z': {'exts': {
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
'_iunucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iunncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_ilnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_ilnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_iutucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iutncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_iltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_iltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_ounucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_ounncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_olnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_olnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
'_outucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_outncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_oltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_oltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
}},
},
},
{ 'base': '?symm',