BLD: Finish porting `ctest`

This commit is contained in:
Mateusz Sokół 2024-07-30 11:27:07 +00:00
parent 33c48a70ce
commit e37ec24a96
6 changed files with 205 additions and 172 deletions

View File

@ -468,7 +468,7 @@ foreach _kop : driver_kops
_ext_cargs = []
# Check ext_mappings first
if ext_mappings.has_key(ext)
if ext_mappings.has_key(ext) and (not ext_mappings[ext].has_key('except') or base not in ext_mappings[ext]['except'])
extmap = ext_mappings[ext]
if extmap.has_key('def')
foreach _d : extmap['def']
@ -482,7 +482,7 @@ foreach _kop : driver_kops
endif
else
# Fallback to ext_mappings_l2
foreach ext_map : ext_mappings_l2
foreach ext_map : ext_mappings_l2 + ext_mappings_l3
if ext_map['ext'] == ext and mode in ext_map['for']
if ext_map.has_key('def')
foreach _d : ext_map['def']

View File

@ -349,7 +349,6 @@ _blas_roots = [
},
{ 'base': '?herk', '_types': ['c', 'z', 'x'],
'fname': 'syrk.c',
'addl': ['-DHEMM'],
'cblas': true,
},
{ 'base': '?her2k', '_types': ['c', 'z', 'x'],

View File

@ -344,35 +344,35 @@ base_kops = [
'_oncopyi': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.c',
'addl': ['-DUSE_ALPHA', '-DIMAGE_ONLY']},
'_otcopyi': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_4.c',
'addl': ['-DUSE_ALPHA', '-DREAL_ONLY']},
'addl': ['-DUSE_ALPHA', '-DIMAGE_ONLY']},
}},
'z': {'exts': {
'_kernel': {'dir': 'x86_64', 'kernel': 'zgemm3m_kernel_4x4_haswell.c',
'addl': ['-DICOPY', '-UUSE_ALPHA']},
'addl': ['-DNN']},
'_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',
'_itcopyb': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_4.c',
'addl': ['-DICOPY', '-UUSE_ALPHA']},
'_itcopyr': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_8.c',
'_itcopyr': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_4.c',
'addl': ['-DICOPY', '-UUSE_ALPHA', '-DREAL_ONLY']},
'_itcopyi': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_8.c',
'_itcopyi': {'dir': 'generic', 'kernel': 'zgemm3m_tcopy_4.c',
'addl': ['-DICOPY', '-UUSE_ALPHA', '-DIMAGE_ONLY']},
'_incopyb': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_8.c',
'_incopyb': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.c',
'addl': ['-DICOPY', '-UUSE_ALPHA']},
'_incopyr': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_8.c',
'_incopyr': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.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',
'_incopyi': {'dir': 'generic', 'kernel': 'zgemm3m_ncopy_4.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_tcopy_4.c',
'addl': ['-DUSE_ALPHA', '-DREAL_ONLY']},
'addl': ['-DUSE_ALPHA', '-DIMAGE_ONLY']},
}},
},
},
@ -407,18 +407,18 @@ base_kops = [
'modes': {
'c': {
'exts': {
'_U': {'dir': 'generic', 'kernel': 'zhemv_k.c'},
'_L': {'dir': 'generic', 'kernel': 'zhemv_k.c'},
'_V': {'dir': 'generic', 'kernel': 'zhemv_k.c'},
'_M': {'dir': 'generic', 'kernel': 'zhemv_k.c'},
'_U': {'dir': 'generic', 'kernel': 'zhemv_k.c', 'addl': ['-DHEMV']},
'_L': {'dir': 'generic', 'kernel': 'zhemv_k.c', 'addl': ['-DHEMV']},
'_V': {'dir': 'generic', 'kernel': 'zhemv_k.c', 'addl': ['-DHEMV', '-DHEMVREV']},
'_M': {'dir': 'generic', 'kernel': 'zhemv_k.c', 'addl': ['-DHEMV', '-DHEMVREV']},
}
},
'z': {
'exts': {
'_U': {'dir': 'x86_64', 'kernel': 'zsymv_U_sse2.S'},
'_L': {'dir': 'x86_64', 'kernel': 'zsymv_L_sse2.S'},
'_V': {'dir': 'x86_64', 'kernel': 'zsymv_L_sse2.S'},
'_M': {'dir': 'generic', 'kernel': 'zhemv_k.c'},
'_U': {'dir': 'x86_64', 'kernel': 'zsymv_U_sse2.S', 'addl': ['-DHEMV']},
'_L': {'dir': 'x86_64', 'kernel': 'zsymv_L_sse2.S', 'addl': ['-DHEMV']},
'_V': {'dir': 'generic', 'kernel': 'zhemv_k.c', 'addl': ['-DHEMV', '-DHEMVREV']},
'_M': {'dir': 'generic', 'kernel': 'zhemv_k.c', 'addl': ['-DHEMV', '-DHEMVREV']},
}
},
# 'x': {
@ -488,41 +488,41 @@ base_kops = [
'c': {
'exts': {
'_LN': {'dir': 'x86_64', 'kernel': 'cgemm_kernel_8x2_haswell.S',
'addl': ['-UCONJ', '-DNN']},
'addl': ['-DLEFT', '-UTRANSA', '-UCONJ', '-DNN']},
'_LT': {'dir': 'x86_64', 'kernel': 'cgemm_kernel_8x2_haswell.S',
'addl': ['-DLEFT', '-DTRANSA', '-UCONJ', '-DNN']},
'_LR': {'dir': 'x86_64', 'kernel': 'cgemm_kernel_8x2_haswell.S',
'addl': ['-DCONJ', '-DCN']},
'addl': ['-DLEFT', '-UTRANSA', '-DCONJ', '-DCN']},
'_LC': {'dir': 'x86_64', 'kernel': 'cgemm_kernel_8x2_haswell.S',
'addl': ['-DCONJ', '-DCN']},
'addl': ['-DLEFT', '-DTRANSA', '-DCONJ', '-DCN']},
'_RN': {'dir': 'x86_64', 'kernel': 'cgemm_kernel_8x2_haswell.S',
'addl': ['-UCONJ', '-DNN']},
'addl': ['-ULEFT', '-UTRANSA', '-UCONJ', '-DNN']},
'_RT': {'dir': 'x86_64', 'kernel': 'cgemm_kernel_8x2_haswell.S',
'addl': ['-ULEFT', '-DTRANSA', '-UCONJ', '-DNN']},
'_RR': {'dir': 'x86_64', 'kernel': 'cgemm_kernel_8x2_haswell.S',
'addl': ['-DCONJ', '-DNC']},
'addl': ['-ULEFT', '-UTRANSA', '-DCONJ', '-DNC']},
'_RC': {'dir': 'x86_64', 'kernel': 'cgemm_kernel_8x2_haswell.S',
'addl': ['-DCONJ', '-DCN']},
'addl': ['-ULEFT', '-DTRANSA', '-DCONJ', '-DNC']},
}
},
'z': {
'exts': {
'_LN': {'dir': 'x86_64', 'kernel': 'zgemm_kernel_4x2_haswell.S',
'addl': ['-UCONJ', '-DNN']},
'addl': ['-DLEFT', '-UTRANSA', '-UCONJ', '-DNN']},
'_LT': {'dir': 'x86_64', 'kernel': 'zgemm_kernel_4x2_haswell.S',
'addl': ['-DLEFT', '-DTRANSA', '-UCONJ', '-DNN']},
'_LR': {'dir': 'x86_64', 'kernel': 'zgemm_kernel_4x2_haswell.S',
'addl': ['-DCONJ', '-DCN']},
'addl': ['-DLEFT', '-UTRANSA', '-DCONJ', '-DCN']},
'_LC': {'dir': 'x86_64', 'kernel': 'zgemm_kernel_4x2_haswell.S',
'addl': ['-DCONJ', '-DCN']},
'addl': ['-DLEFT', '-DTRANSA', '-DCONJ', '-DCN']},
'_RN': {'dir': 'x86_64', 'kernel': 'zgemm_kernel_4x2_haswell.S',
'addl': ['-UCONJ', '-DNN']},
'addl': ['-ULEFT', '-UTRANSA', '-UCONJ', '-DNN']},
'_RT': {'dir': 'x86_64', 'kernel': 'zgemm_kernel_4x2_haswell.S',
'addl': ['-ULEFT', '-DTRANSA', '-UCONJ', '-DNN']},
'_RR': {'dir': 'x86_64', 'kernel': 'zgemm_kernel_4x2_haswell.S',
'addl': ['-DCONJ', '-DNC']},
'addl': ['-ULEFT', '-UTRANSA', '-DCONJ', '-DNC']},
'_RC': {'dir': 'x86_64', 'kernel': 'zgemm_kernel_4x2_haswell.S',
'addl': ['-DCONJ', '-DCN']},
'addl': ['-ULEFT', '-DTRANSA', '-DCONJ', '-DNC']},
},
},
},
@ -677,37 +677,37 @@ base_kops = [
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
}},
'd': {'exts': {
'_iunucopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_8.c',
'_iunucopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_4.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
'_iunncopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_8.c',
'_iunncopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_4.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
'_ilnucopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_8.c',
'_ilnucopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_4.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
'_ilnncopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_8.c',
'_ilnncopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_4.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
'_iutucopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_8.c',
'_iutucopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_4.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
'_iutncopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_8.c',
'_iutncopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_4.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
'_iltucopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_8.c',
'_iltucopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_4.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
'_iltncopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_8.c',
'_iltncopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_4.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
'_ounucopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_4.c',
'_ounucopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_8.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
'_ounncopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_4.c',
'_ounncopy': {'dir': 'generic', 'kernel': 'trmm_uncopy_8.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
'_olnucopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_4.c',
'_olnucopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_8.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
'_olnncopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_4.c',
'_olnncopy': {'dir': 'generic', 'kernel': 'trmm_lncopy_8.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
'_outucopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_4.c',
'_outucopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_8.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
'_outncopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_4.c',
'_outncopy': {'dir': 'generic', 'kernel': 'trmm_utcopy_8.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
'_oltucopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_4.c',
'_oltucopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_8.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
'_oltncopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_4.c',
'_oltncopy': {'dir': 'generic', 'kernel': 'trmm_ltcopy_8.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
}},
'c': {'exts': {
@ -727,55 +727,55 @@ base_kops = [
'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',
'_ounucopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_2.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
'_ounncopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_4.c',
'_ounncopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_2.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
'_olnucopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_4.c',
'_olnucopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_2.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
'_olnncopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_4.c',
'_olnncopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_2.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
'_outucopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_4.c',
'_outucopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_2.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
'_outncopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_4.c',
'_outncopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_2.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
'_oltucopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_4.c',
'_oltucopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_2.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
'_oltncopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_4.c',
'_oltncopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_2.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
}},
'z': {'exts': {
'_iunucopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_8.c',
'_iunucopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_4.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
'_iunncopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_8.c',
'_iunncopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_4.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
'_ilnucopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_8.c',
'_ilnucopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_4.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
'_ilnncopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_8.c',
'_ilnncopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_4.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
'_iutucopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_8.c',
'_iutucopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_4.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-DUNIT']},
'_iutncopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_8.c',
'_iutncopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_4.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER', '-UUNIT']},
'_iltucopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_8.c',
'_iltucopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_4.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-DUNIT']},
'_iltncopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_8.c',
'_iltncopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_4.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER', '-UUNIT']},
'_ounucopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_4.c',
'_ounucopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
'_ounncopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_4.c',
'_ounncopy': {'dir': 'generic', 'kernel': 'ztrmm_uncopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
'_olnucopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_4.c',
'_olnucopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
'_olnncopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_4.c',
'_olnncopy': {'dir': 'generic', 'kernel': 'ztrmm_lncopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
'_outucopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_4.c',
'_outucopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-DUNIT']},
'_outncopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_4.c',
'_outncopy': {'dir': 'generic', 'kernel': 'ztrmm_utcopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER', '-UUNIT']},
'_oltucopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_4.c',
'_oltucopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-DUNIT']},
'_oltncopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_4.c',
'_oltncopy': {'dir': 'generic', 'kernel': 'ztrmm_ltcopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER', '-UUNIT']},
}},
},
@ -783,23 +783,23 @@ base_kops = [
{ 'base': '?hemm',
'modes': {
'c': {'exts': {
'_iutcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
'_iutcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_8.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER']},
'_iltcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
'_iltcopy': {'dir': 'generic', 'kernel': 'zhemm_ltcopy_8.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER']},
'_outcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
'_outcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_2.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER']},
'_oltcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
'_oltcopy': {'dir': 'generic', 'kernel': 'zhemm_ltcopy_2.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',
'_iltcopy': {'dir': 'generic', 'kernel': 'zhemm_ltcopy_4.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER']},
'_outcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
'_outcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER']},
'_oltcopy': {'dir': 'generic', 'kernel': 'zhemm_utcopy_4.c',
'_oltcopy': {'dir': 'generic', 'kernel': 'zhemm_ltcopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER']},
}},
},
@ -843,37 +843,37 @@ base_kops = [
}},
'd': {'exts': {
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
'_iunucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'_iunucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iunncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'_iunncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_ilnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'_ilnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_ilnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'_ilnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_iutucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'_iutucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iutncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'_iutncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_iltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'_iltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_iltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'_iltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_ounucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'_ounucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_ounncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'_ounncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_olnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'_olnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_olnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'_olnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
'_outucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'_outucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_outncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'_outncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_oltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'_oltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_oltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'_oltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
}},
'q': {'exts': {
@ -913,72 +913,72 @@ base_kops = [
}},
'c': {'exts': {
# TODO(rg): These actually use $(SGEMM_UNROLL_M) to choose the size
'_iunucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'_iunucopy': {'dir': 'generic', 'kernel': 'ztrsm_uncopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iunncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'_iunncopy': {'dir': 'generic', 'kernel': 'ztrsm_uncopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_ilnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'_ilnucopy': {'dir': 'generic', 'kernel': 'ztrsm_lncopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_ilnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'_ilnncopy': {'dir': 'generic', 'kernel': 'ztrsm_lncopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_iutucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'_iutucopy': {'dir': 'generic', 'kernel': 'ztrsm_utcopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iutncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'_iutncopy': {'dir': 'generic', 'kernel': 'ztrsm_utcopy_8.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_iltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'_iltucopy': {'dir': 'generic', 'kernel': 'ztrsm_ltcopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_iltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'_iltncopy': {'dir': 'generic', 'kernel': 'ztrsm_ltcopy_8.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_ounucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'_ounucopy': {'dir': 'generic', 'kernel': 'ztrsm_uncopy_2.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_ounncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'_ounncopy': {'dir': 'generic', 'kernel': 'ztrsm_uncopy_2.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_olnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'_olnucopy': {'dir': 'generic', 'kernel': 'ztrsm_lncopy_2.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_olnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'_olnncopy': {'dir': 'generic', 'kernel': 'ztrsm_lncopy_2.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
'_outucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'_outucopy': {'dir': 'generic', 'kernel': 'ztrsm_utcopy_2.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_outncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'_outncopy': {'dir': 'generic', 'kernel': 'ztrsm_utcopy_2.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_oltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'_oltucopy': {'dir': 'generic', 'kernel': 'ztrsm_ltcopy_2.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_oltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'_oltncopy': {'dir': 'generic', 'kernel': 'ztrsm_ltcopy_2.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',
'_iunucopy': {'dir': 'generic', 'kernel': 'ztrsm_uncopy_4.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iunncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_8.c',
'_iunncopy': {'dir': 'generic', 'kernel': 'ztrsm_uncopy_4.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_ilnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'_ilnucopy': {'dir': 'generic', 'kernel': 'ztrsm_lncopy_4.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_ilnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_8.c',
'_ilnncopy': {'dir': 'generic', 'kernel': 'ztrsm_lncopy_4.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_iutucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'_iutucopy': {'dir': 'generic', 'kernel': 'ztrsm_utcopy_4.c',
'addl': ['-UOUTER', '-ULOWER', '-DUNIT']},
'_iutncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_8.c',
'_iutncopy': {'dir': 'generic', 'kernel': 'ztrsm_utcopy_4.c',
'addl': ['-UOUTER', '-ULOWER', '-UUNIT']},
'_iltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'_iltucopy': {'dir': 'generic', 'kernel': 'ztrsm_ltcopy_4.c',
'addl': ['-UOUTER', '-DLOWER', '-DUNIT']},
'_iltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_8.c',
'_iltncopy': {'dir': 'generic', 'kernel': 'ztrsm_ltcopy_4.c',
'addl': ['-UOUTER', '-DLOWER', '-UUNIT']},
'_ounucopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'_ounucopy': {'dir': 'generic', 'kernel': 'ztrsm_uncopy_2.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_ounncopy': {'dir': 'generic', 'kernel': 'trsm_uncopy_4.c',
'_ounncopy': {'dir': 'generic', 'kernel': 'ztrsm_uncopy_2.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_olnucopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'_olnucopy': {'dir': 'generic', 'kernel': 'ztrsm_lncopy_2.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_olnncopy': {'dir': 'generic', 'kernel': 'trsm_lncopy_4.c',
'_olnncopy': {'dir': 'generic', 'kernel': 'ztrsm_lncopy_2.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
'_outucopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'_outucopy': {'dir': 'generic', 'kernel': 'ztrsm_utcopy_2.c',
'addl': ['-DOUTER', '-ULOWER', '-DUNIT']},
'_outncopy': {'dir': 'generic', 'kernel': 'trsm_utcopy_4.c',
'_outncopy': {'dir': 'generic', 'kernel': 'ztrsm_utcopy_2.c',
'addl': ['-DOUTER', '-ULOWER', '-UUNIT']},
'_oltucopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'_oltucopy': {'dir': 'generic', 'kernel': 'ztrsm_ltcopy_2.c',
'addl': ['-DOUTER', '-DLOWER', '-DUNIT']},
'_oltncopy': {'dir': 'generic', 'kernel': 'trsm_ltcopy_4.c',
'_oltncopy': {'dir': 'generic', 'kernel': 'ztrsm_ltcopy_2.c',
'addl': ['-DOUTER', '-DLOWER', '-UUNIT']},
}},
},
@ -997,13 +997,13 @@ base_kops = [
'addl': ['-UDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER']},
}},
'd': {'exts': {
'_iutcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_8.c',
'_iutcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_4.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-ULOWER']},
'_iltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_8.c',
'_iltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_4.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-UOUTER', '-DLOWER']},
'_outcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_4.c',
'_outcopy': {'dir': 'generic', 'kernel': 'symm_ucopy_8.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-ULOWER']},
'_oltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_4.c',
'_oltcopy': {'dir': 'generic', 'kernel': 'symm_lcopy_8.c',
'addl': ['-DDOUBLE', '-UCOMPLEX', '-DOUTER', '-DLOWER']},
}},
'c': {'exts': {
@ -1011,19 +1011,19 @@ base_kops = [
'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',
'_outcopy': {'dir': 'generic', 'kernel': 'zsymm_ucopy_2.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER']},
'_oltcopy': {'dir': 'generic', 'kernel': 'zsymm_lcopy_4.c',
'_oltcopy': {'dir': 'generic', 'kernel': 'zsymm_lcopy_2.c',
'addl': ['-UDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER']},
}},
'z': {'exts': {
'_iutcopy': {'dir': 'generic', 'kernel': 'zsymm_ucopy_8.c',
'_iutcopy': {'dir': 'generic', 'kernel': 'zsymm_ucopy_4.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-ULOWER']},
'_iltcopy': {'dir': 'generic', 'kernel': 'zsymm_lcopy_8.c',
'_iltcopy': {'dir': 'generic', 'kernel': 'zsymm_lcopy_4.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-UOUTER', '-DLOWER']},
'_outcopy': {'dir': 'generic', 'kernel': 'zsymm_ucopy_4.c',
'_outcopy': {'dir': 'generic', 'kernel': 'zsymm_ucopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-ULOWER']},
'_oltcopy': {'dir': 'generic', 'kernel': 'zsymm_lcopy_4.c',
'_oltcopy': {'dir': 'generic', 'kernel': 'zsymm_lcopy_2.c',
'addl': ['-DDOUBLE', '-DCOMPLEX', '-DOUTER', '-DLOWER']},
}},
},

View File

@ -245,18 +245,42 @@ ext_mappings = {
# TODO(rg): Does that, i.e. having (un)used symbols (un)defined matter?
'': {}, # special case
'_k': {},
'_U': {'undef': ['LOWER', 'CONJ', 'XCONJ']},
'_U': {
'undef': ['LOWER', 'CONJ', 'XCONJ'],
'except': [
'?hemv', '?hemv_thread', '?hpmv', '?hpmv_thread', '?her', '?her_thread',
'?her2', '?her2_thread', '?hpr2', '?hpr2_thread',
],
},
'_C': {'def': ['CONJ'], 'undef': ['XCONJ']},
# '_V': {'def': ['XCONJ'], 'undef': ['CONJ']},
'_D': {'def': ['CONJ', 'XCONJ']},
'_L': {'def': ['LOWER']},
'_L': {
'def': ['LOWER'],
'except': [
'?hemv', '?hemv_thread', '?hpmv', '?hpmv_thread', '?her', '?her_thread',
'?her2', '?her2_thread', '?hpr2', '?hpr2_thread',
],
},
'_LN': {'def': ['LEFT'], 'undef': ['TRANSA'],
'except': ['?syrk', '?syrk_thread',
'?syr2k', '?herk', '?herk_kernel',
'?trsm_kernel']},
'?trsm_kernel', '?her2k', '?her2k_kernel']},
# Handle HEMV and HEMVREV better
'_V': {'def': ['HEMV', 'HEMVREV', 'XCONJ'], 'undef': ['LOWER', 'CONJ']},
'_M': {'def': ['HEMV', 'HEMVREV', 'LOWER']},
'_V': {
'def': ['HEMV', 'HEMVREV', 'XCONJ'],
'undef': ['LOWER', 'CONJ'],
'except': [
'?hemv', '?hemv_thread', '?hpmv', '?hpmv_thread', '?her', '?her_thread',
'?her2', '?her2_thread', '?hpr2', '?hpr2_thread',
],
},
'_M': {
'def': ['HEMV', 'HEMVREV', 'LOWER'],
'except': [
'?hemv', '?hemv_thread', '?hpmv', '?hpmv_thread', '?her', '?her_thread',
'?her2', '?her2_thread', '?hpr2', '?hpr2_thread',
],
},
'_n': {'undef': ['TRANS', 'TRANSA', 'CONJ', 'XCONJ']},
'_t': {'def': ['TRANS', 'TRANSA'], 'undef': ['CONJ', 'XCONJ']},
'_r': {'def': ['CONJ'], 'undef': ['TRANS', 'TRANSA', 'XCONJ']},
@ -298,30 +322,30 @@ ext_mappings = {
}
ext_mappings_l2 = [
{'ext': '_NUU', 'def': ['UNIT'], 'undef': ['TRANSA'], 'for': ['s', 'd']},
{'ext': '_NUN', 'undef': ['TRANSA', 'UNIT'], 'for': ['s', 'd']},
{'ext': '_TLU', 'def': ['UNIT', 'TRANSA'], 'for': ['s', 'd']},
{'ext': '_TLN', 'def': ['TRANSA'], 'undef': ['UNIT'], 'for': ['s', 'd']},
{'ext': '_NLU', 'def': ['UNIT'], 'undef': ['TRANSA'], 'for': ['s', 'd']},
{'ext': '_NLN', 'undef': ['TRANSA', 'UNIT'], 'for': ['s', 'd']},
{'ext': '_TUU', 'def': ['UNIT', 'TRANSA'], 'for': ['s', 'd']},
{'ext': '_TUN', 'def': ['TRANSA'], 'undef': ['UNIT'], 'for': ['s', 'd']},
{'ext': '_NUU', 'def': ['UNIT', 'TRANSA=1'], 'for': ['c', 'x', 'z']},
{'ext': '_NUN', 'def': ['TRANSA=1'], 'undef': ['UNIT'], 'for': ['c', 'x', 'z']},
{'ext': '_TLU', 'def': ['UNIT', 'TRANSA=2'], 'for': ['c', 'x', 'z']},
{'ext': '_TLN', 'def': ['TRANSA=2'], 'undef': ['UNIT'], 'for': ['c', 'x', 'z']},
{'ext': '_RLU', 'def': ['UNIT', 'TRANSA=3'], 'for': ['c', 'x', 'z']},
{'ext': '_RLN', 'def': ['TRANSA=3'], 'undef': ['UNIT'], 'for': ['c', 'x', 'z']},
{'ext': '_CLU', 'def': ['UNIT', 'TRANSA=4'], 'for': ['c', 'x', 'z']},
{'ext': '_CLN', 'def': ['TRANSA=4'], 'undef': ['UNIT'], 'for': ['c', 'x', 'z']},
{'ext': '_NLU', 'def': ['UNIT', 'TRANSA=1'], 'for': ['c', 'x', 'z']},
{'ext': '_NLN', 'def': ['TRANSA=1'], 'undef': ['UNIT'], 'for': ['c', 'x', 'z']},
{'ext': '_TUU', 'def': ['UNIT', 'TRANSA=2'], 'for': ['s', 'd']},
{'ext': '_TUN', 'def': ['TRANSA=2'], 'undef': ['UNIT'], 'for': ['s', 'd']},
{'ext': '_RUU', 'def': ['UNIT', 'TRANSA=3'], 'for': ['c', 'x', 'z']},
{'ext': '_RUN', 'def': ['TRANSA=3'], 'undef': ['UNIT'], 'for': ['c', 'x', 'z']},
{'ext': '_CUU', 'def': ['UNIT', 'TRANSA=4'], 'for': ['c', 'x', 'z']},
{'ext': '_CUN', 'def': ['TRANSA=4'], 'undef': ['UNIT'], 'for': ['c', 'x', 'z']}
{'ext': '_NUU', 'def': ['UNIT'], 'undef': ['TRANSA', 'LOWER'], 'for': ['s', 'd']},
{'ext': '_NUN', 'undef': ['TRANSA', 'UNIT', 'LOWER'], 'for': ['s', 'd']},
{'ext': '_TLU', 'def': ['UNIT', 'TRANSA', 'LOWER'], 'for': ['s', 'd']},
{'ext': '_TLN', 'def': ['TRANSA', 'LOWER'], 'undef': ['UNIT'], 'for': ['s', 'd']},
{'ext': '_NLU', 'def': ['UNIT', 'LOWER'], 'undef': ['TRANSA'], 'for': ['s', 'd']},
{'ext': '_NLN', 'def': ['LOWER'], 'undef': ['TRANSA', 'UNIT'], 'for': ['s', 'd']},
{'ext': '_TUU', 'def': ['UNIT', 'TRANSA'], 'undef': ['LOWER'], 'for': ['s', 'd']},
{'ext': '_TUN', 'def': ['TRANSA'], 'undef': ['UNIT', 'LOWER'], 'for': ['s', 'd']},
{'ext': '_NUU', 'def': ['UNIT', 'TRANSA=1'], 'undef': ['LOWER'], 'for': ['c', 'x', 'z']},
{'ext': '_NUN', 'def': ['TRANSA=1'], 'undef': ['UNIT', 'LOWER'], 'for': ['c', 'x', 'z']},
{'ext': '_TLU', 'def': ['UNIT', 'TRANSA=2', 'LOWER'], 'for': ['c', 'x', 'z']},
{'ext': '_TLN', 'def': ['TRANSA=2', 'LOWER'], 'undef': ['UNIT'], 'for': ['c', 'x', 'z']},
{'ext': '_RLU', 'def': ['UNIT', 'TRANSA=3', 'LOWER'], 'for': ['c', 'x', 'z']},
{'ext': '_RLN', 'def': ['TRANSA=3', 'LOWER'], 'undef': ['UNIT'], 'for': ['c', 'x', 'z']},
{'ext': '_CLU', 'def': ['UNIT', 'TRANSA=4', 'LOWER'], 'for': ['c', 'x', 'z']},
{'ext': '_CLN', 'def': ['TRANSA=4', 'LOWER'], 'undef': ['UNIT'], 'for': ['c', 'x', 'z']},
{'ext': '_NLU', 'def': ['UNIT', 'TRANSA=1', 'LOWER'], 'for': ['c', 'x', 'z']},
{'ext': '_NLN', 'def': ['TRANSA=1', 'LOWER'], 'undef': ['UNIT'], 'for': ['c', 'x', 'z']},
{'ext': '_TUU', 'def': ['UNIT', 'TRANSA=2'], 'undef': ['LOWER'], 'for': ['c', 'x', 'z']},
{'ext': '_TUN', 'def': ['TRANSA=2'], 'undef': ['UNIT', 'LOWER'], 'for': ['c', 'x', 'z']},
{'ext': '_RUU', 'def': ['UNIT', 'TRANSA=3'], 'undef': ['LOWER'], 'for': ['c', 'x', 'z']},
{'ext': '_RUN', 'def': ['TRANSA=3'], 'undef': ['UNIT', 'LOWER'], 'for': ['c', 'x', 'z']},
{'ext': '_CUU', 'def': ['UNIT', 'TRANSA=4'], 'undef': ['LOWER'], 'for': ['c', 'x', 'z']},
{'ext': '_CUN', 'def': ['TRANSA=4'], 'undef': ['UNIT', 'LOWER'], 'for': ['c', 'x', 'z']}
]
ext_mappings_l3 = [
@ -384,6 +408,11 @@ ext_mappings_l3 = [
{'ext': '_LT', 'def': ['TRANS', 'LOWER'], 'undef': ['CONJ'], 'for': ['s', 'd', 'c', 'z']},
{'ext': '_RU', 'def': ['RSIDE', 'NC'], 'undef': ['LOWER'], 'for': ['c', 'z']},
{'ext': '_RL', 'def': ['RSIDE', 'NC', 'LOWER'], 'for': ['c', 'z']},
# hem hemv_thread
{'ext': '_U', 'def': ['HEMV', 'HER'], 'undef': ['LOWER'], 'for': ['c', 'z']},
{'ext': '_L', 'def': ['HEMV', 'HER', 'LOWER'], 'for': ['c', 'z']},
{'ext': '_V', 'def': ['HEMVREV', 'HERREV'], 'undef': ['LOWER'], 'for': ['c', 'z']},
{'ext': '_M', 'def': ['HEMVREV', 'HERREV', 'LOWER'], 'for': ['c', 'z']}
]
# cc -c -O2 -DSMALL_MATRIX_OPT -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=12 -DMAX_PARALLEL_NUMBER=1 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION=\"0.3.26.dev\" -msse3 -mssse3 -msse4.1 -mavx -mavx2 -mavx2 -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=strmm_RTUU -DASMFNAME=strmm_RTUU_ -DNAME=strmm_RTUU_ -DCNAME=strmm_RTUU -DCHAR_NAME=\"strmm_RTUU_\" -DCHAR_CNAME=\"strmm_RTUU\" -DNO_AFFINITY -I../.. -UDOUBLE -UCOMPLEX -UCOMPLEX -UDOUBLE -DTRANSA -DUPPER -DUNIT trmm_R.c -o strmm_RTUU.o
@ -403,6 +432,7 @@ symb_defs = {
'?geru': {'undef': ['CONJ']},
'?gerc': {'def': ['CONJ']},
'?hemm': {'def': ['HEMM']},
'?herk': {'def': ['HEMM']},
'?her2k': {'def': ['HEMM']},
'?gemm3m': {'def': ['GEMM3M']},
'?symm3m': {'def': ['GEMM3M']},

View File

@ -1,6 +1,5 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
if (argc != 2 && argc != 3) {
@ -16,7 +15,7 @@ int main(int argc, char *argv[]) {
}
int result = system(command);
if (result != 0) {
if (result != EXIT_SUCCESS) {
fprintf(stderr, "Error: Command '%s' failed with return code %d.\n", command, result);
return EXIT_FAILURE;
}

View File

@ -84,12 +84,14 @@ sources_utest_ext = [
dir_ext / 'test_csbmv.c',
]
utest_inc = _inc + [include_directories('.')]
openblas_utest_exec = executable(
'openblas_utest',
sources: sources_utest,
link_with: _openblas,
dependencies: [dependency('threads')],
include_directories: ['..', '.'],
include_directories: utest_inc,
c_args: _cargs,
)
@ -98,8 +100,11 @@ openblas_utest_ext_exec = executable(
sources: sources_utest_ext,
link_with: _openblas,
dependencies: [dependency('threads')],
include_directories: ['..', '.'],
c_args: _cargs,
# This hack is required as `utest/test_extensions/common.c` needs
# `common.h` from the source root, not `utest/test_extensions` directory
# one. Also, `config.h` is needed that lives in the build directory.
implicit_include_directories: false,
c_args: _cargs + ['-I..', '-I../build'],
)
test('openblas_utest_tests', openblas_utest_exec)