ENH: Add more L3 symbols
This commit is contained in:
parent
571d2f3be3
commit
cbafa8114f
|
@ -448,10 +448,160 @@ base_kops = [
|
||||||
'addl': ['-DCONJ', '-DNC']},
|
'addl': ['-DCONJ', '-DNC']},
|
||||||
'_RC': {'dir': 'generic', 'kernel': 'ztrmmkernel_2x2.c',
|
'_RC': {'dir': 'generic', 'kernel': 'ztrmmkernel_2x2.c',
|
||||||
'addl': ['-DCONJ', '-DCN']},
|
'addl': ['-DCONJ', '-DCN']},
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
{ 'base': '?trsm_kernel',
|
||||||
|
'modes': {
|
||||||
|
's': {
|
||||||
|
'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']},
|
||||||
|
'_RN': {'dir': 'generic', 'kernel': 'trsm_kernel_RN.c',
|
||||||
|
'addl': ['-DRN', '-DUPPER', '-UCONJ']},
|
||||||
|
'_RT': {'dir': 'generic', 'kernel': 'trsm_kernel_RT.c',
|
||||||
|
'addl': ['-DRT', '-UUPPER', '-UCONJ']},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'd': {
|
||||||
|
'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']},
|
||||||
|
'_RN': {'dir': 'generic', 'kernel': 'trsm_kernel_RN.c',
|
||||||
|
'addl': ['-DRN', '-DUPPER', '-UCONJ']},
|
||||||
|
'_RT': {'dir': 'generic', 'kernel': 'trsm_kernel_RT.c',
|
||||||
|
'addl': ['-DRT', '-UUPPER', '-UCONJ']},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'c': {
|
||||||
|
'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': '?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']}}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ 'base': '?trmm',
|
||||||
|
'modes': {
|
||||||
|
'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']},
|
||||||
|
'_iunncopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_8.c',
|
||||||
|
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
|
||||||
|
'_ilnucopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_8.c',
|
||||||
|
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
|
||||||
|
'_ilnncopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_8.c',
|
||||||
|
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
|
||||||
|
'_iutucopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_8.c',
|
||||||
|
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
|
||||||
|
'_iutncopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_8.c',
|
||||||
|
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
|
||||||
|
'_iltucopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_8.c',
|
||||||
|
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
|
||||||
|
'_iltncopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_8.c',
|
||||||
|
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
|
||||||
|
'_ounucopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_4.c',
|
||||||
|
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
|
||||||
|
'_ounncopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_4.c',
|
||||||
|
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
|
||||||
|
'_olnucopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_4.c',
|
||||||
|
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
|
||||||
|
'_olnncopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_4.c',
|
||||||
|
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
|
||||||
|
'_outucopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_4.c',
|
||||||
|
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
|
||||||
|
'_outncopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_4.c',
|
||||||
|
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
|
||||||
|
'_oltucopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_4.c',
|
||||||
|
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
|
||||||
|
'_oltncopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_4.c',
|
||||||
|
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ 'base': '?trsm',
|
||||||
|
'modes': {
|
||||||
|
's': {'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',
|
||||||
|
'modes': {
|
||||||
|
'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']},
|
||||||
|
'_iltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_8.c',
|
||||||
|
'addl': ['-UOUTER', '-DLOWER']},
|
||||||
|
'_outcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_4.c',
|
||||||
|
'addl': ['-DOUTER', '-ULOWER']},
|
||||||
|
'_oltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_4.c',
|
||||||
|
'addl': ['-DOUTER', '-DLOWER']},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
# TODO(rg): iunucopy stuff
|
||||||
]
|
]
|
||||||
|
|
||||||
kernel_confs = []
|
kernel_confs = []
|
||||||
|
|
|
@ -270,7 +270,8 @@ ext_mappings = {
|
||||||
'_L': {'def': ['LOWER']},
|
'_L': {'def': ['LOWER']},
|
||||||
'_LN': {'def': ['LEFT'], 'undef': ['TRANSA'],
|
'_LN': {'def': ['LEFT'], 'undef': ['TRANSA'],
|
||||||
'except': ['?syrk', '?syrk_thread',
|
'except': ['?syrk', '?syrk_thread',
|
||||||
'?syr2k', '?herk', '?herk_kernel']},
|
'?syr2k', '?herk', '?herk_kernel',
|
||||||
|
'?trsm_kernel']},
|
||||||
# Handle HEMV and HEMVREV better
|
# Handle HEMV and HEMVREV better
|
||||||
'_V': {'def': ['HEMV', 'HEMVREV', 'XCONJ'], 'undef': ['LOWER', 'CONJ']},
|
'_V': {'def': ['HEMV', 'HEMVREV', 'XCONJ'], 'undef': ['LOWER', 'CONJ']},
|
||||||
'_M': {'def': ['HEMV', 'HEMVREV', 'LOWER']},
|
'_M': {'def': ['HEMV', 'HEMVREV', 'LOWER']},
|
||||||
|
@ -428,6 +429,7 @@ symb_defs = {
|
||||||
'?her2_thread': {'def': ['HER']},
|
'?her2_thread': {'def': ['HER']},
|
||||||
'?hpr_thread': {'def': ['HEMV']},
|
'?hpr_thread': {'def': ['HEMV']},
|
||||||
'?trmm_kernel': {'def': ['TRMMKERNEL']},
|
'?trmm_kernel': {'def': ['TRMMKERNEL']},
|
||||||
|
'?trsm_kernel': {'def': ['TRSMKERNEL']},
|
||||||
'?bgemm': {'def': ['HALF']},
|
'?bgemm': {'def': ['HALF']},
|
||||||
'cblas_?dotu_sub': {'def': ['CBLAS', 'FORCE_USE_STACK'], 'undef': ['CONJ']},
|
'cblas_?dotu_sub': {'def': ['CBLAS', 'FORCE_USE_STACK'], 'undef': ['CONJ']},
|
||||||
'cblas_?dotc_sub': {'def': ['CBLAS', 'FORCE_USE_STACK', 'CONJ']},
|
'cblas_?dotc_sub': {'def': ['CBLAS', 'FORCE_USE_STACK', 'CONJ']},
|
||||||
|
|
Loading…
Reference in New Issue