From e37ec24a96d3e83dfc714916673fccdbfd2bf5ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Sok=C3=B3=C5=82?= Date: Tue, 30 Jul 2024 11:27:07 +0000 Subject: [PATCH] BLD: Finish porting `ctest` --- driver/level2/meson.build | 4 +- interface/meson.build | 1 - kernel/meson.build | 268 +++++++++++++++++++------------------- meson.build | 90 ++++++++----- test/test_runner.c | 3 +- utest/meson.build | 11 +- 6 files changed, 205 insertions(+), 172 deletions(-) diff --git a/driver/level2/meson.build b/driver/level2/meson.build index 5b7aef856..bbc1c859d 100644 --- a/driver/level2/meson.build +++ b/driver/level2/meson.build @@ -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'] diff --git a/interface/meson.build b/interface/meson.build index 983c5276a..5ac098573 100644 --- a/interface/meson.build +++ b/interface/meson.build @@ -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'], diff --git a/kernel/meson.build b/kernel/meson.build index b9dcecc02..06cec1049 100644 --- a/kernel/meson.build +++ b/kernel/meson.build @@ -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']}, }}, }, diff --git a/meson.build b/meson.build index 8b4e71e4b..3fffb9d1d 100644 --- a/meson.build +++ b/meson.build @@ -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']}, diff --git a/test/test_runner.c b/test/test_runner.c index a9a6b3ee5..749a4f929 100644 --- a/test/test_runner.c +++ b/test/test_runner.c @@ -1,6 +1,5 @@ #include #include -#include 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; } diff --git a/utest/meson.build b/utest/meson.build index f33a368bf..3f8e42977 100644 --- a/utest/meson.build +++ b/utest/meson.build @@ -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)