BLD: Add the cblas dictionary for the interface

This commit is contained in:
Rohit Goswami 2024-04-18 00:26:33 +00:00 committed by Mateusz Sokół
parent 5b497b6a32
commit 998602062a
1 changed files with 93 additions and 3 deletions

View File

@ -25,18 +25,24 @@ blas3_roots = [
] ]
_blas_roots = [ _blas_roots = [
# NOTE: q, qx, x, xq do not have cblas_ rules in the Makefile
# NOTE: https://developer.arm.com/documentation/101004/2310/BLAS-Basic-Linear-Algebra-Subprograms/CBLAS-functions?lang=en
# Level 1 # Level 1
{ 'base': '?asum', '_types': ['s', 'd', 'q', 'sc', 'dz', 'qx'], { 'base': '?asum', '_types': ['s', 'd', 'q', 'sc', 'dz', 'qx'],
'fname': 'asum.c', 'fname': 'asum.c',
'cblas': true,
}, },
{ 'base': '?sum', '_types': ['s', 'd', 'q', 'sc', 'dz', 'qx'], { 'base': '?sum', '_types': ['s', 'd', 'q', 'sc', 'dz', 'qx'],
'fname': 'sum.c', 'fname': 'sum.c',
'cblas': true,
}, },
{ 'base': '?amax', '_types': ['s', 'd', 'q', 'sc', 'dz', 'qx'], { 'base': '?amax', '_types': ['s', 'd', 'q', 'sc', 'dz', 'qx'],
'fname': 'max.c', 'def': [ 'USE_ABS' ], 'undef': [ 'USE_MIN' ], 'fname': 'max.c', 'def': [ 'USE_ABS' ], 'undef': [ 'USE_MIN' ],
'cblas': true,
}, },
{ 'base': '?amin', '_types': ['s', 'd', 'q', 'sc', 'dz', 'qx'], { 'base': '?amin', '_types': ['s', 'd', 'q', 'sc', 'dz', 'qx'],
'fname': 'max.c', 'def': [ 'USE_ABS', 'USE_MIN' ], 'undef': [ ], 'fname': 'max.c', 'def': [ 'USE_ABS', 'USE_MIN' ], 'undef': [ ],
'cblas': true,
}, },
{ 'base': '?max', '_types': ['s', 'd', 'q'], { 'base': '?max', '_types': ['s', 'd', 'q'],
'fname': 'max.c', 'def': [ ], 'undef': [ 'USE_ABS', 'USE_MIN' ], 'fname': 'max.c', 'def': [ ], 'undef': [ 'USE_ABS', 'USE_MIN' ],
@ -46,238 +52,322 @@ _blas_roots = [
}, },
{ 'base': '?axpy', '_types': ['s', 'd', 'q'], { 'base': '?axpy', '_types': ['s', 'd', 'q'],
'fname': 'axpy.c', 'fname': 'axpy.c',
'cblas': true,
}, },
{ 'base': '?axpy', '_types': ['c', 'z', 'x'], { 'base': '?axpy', '_types': ['c', 'z', 'x'],
'fname': 'zaxpy.c', 'fname': 'zaxpy.c',
'cblas': true,
}, },
{ 'base': '?axpyc', '_types': ['c', 'z', 'x'], { 'base': '?axpyc', '_types': ['c', 'z', 'x'],
'fname': 'zaxpy.c', 'def': [ 'CONJ' ], 'undef': [ ], 'fname': 'zaxpy.c', 'def': [ 'CONJ' ], 'undef': [ ],
'cblas': true,
}, },
{ 'base': '?copy', '_types': ['s', 'd', 'q', 'c', 'z', 'x'], { 'base': '?copy', '_types': ['s', 'd', 'q', 'c', 'z', 'x'],
'fname': 'copy.c', 'fname': 'copy.c',
'cblas': true,
}, },
{ 'base': '?dot', '_types': ['s', 'd', 'q'], { 'base': '?dot', '_types': ['s', 'd', 'q'],
'fname': 'dot.c', 'fname': 'dot.c',
'cblas': true,
}, },
{ 'base': '?dotu', '_types': ['c', 'z', 'x'], { 'base': '?dotu', '_types': ['c', 'z', 'x'],
'fname': 'zdot.c', 'def': [ ], 'undef': [ 'CONJ' ], 'fname': 'zdot.c', 'def': [ ], 'undef': [ 'CONJ' ],
'cblas': true,
}, },
{ 'base': '?dotc', '_types': ['c', 'z', 'x'], { 'base': '?dotc', '_types': ['c', 'z', 'x'],
'fname': 'zdot.c', 'def': [ 'CONJ' ], 'undef': [ ], 'fname': 'zdot.c', 'def': [ 'CONJ' ], 'undef': [ ],
'cblas': true,
},
{ 'base': 'cblas_?dotu_sub', '_types': ['c', 'z'],
'fname': 'zdot.c', 'def': [ 'CBLAS', 'FORCE_USE_STACK' ], 'undef': [ 'CONJ' ],
'cblas': false, # These don't non-cblas rules Makefile:1623:1627
},
{ 'base': 'cblas_?dotc_sub', '_types': ['c', 'z'],
'fname': 'zdot.c', 'def': [ 'CBLAS', 'FORCE_USE_STACK', 'CONJ' ], 'undef': [ ],
'cblas': false, # These don't non-cblas rules Makefile:1623:1627
}, },
{ 'base': '?nrm2', '_types': ['s', 'd', 'q', 'sc', 'dz', 'qx'], { 'base': '?nrm2', '_types': ['s', 'd', 'q', 'sc', 'dz', 'qx'],
'fname': 'nrm2.c', 'fname': 'nrm2.c',
'cblas': true, # q, qx don't have cblas_ rules Makefile:1635,1645
}, },
{ 'base': '?rot', '_types': ['s', 'd', 'q'], { 'base': '?rot', '_types': ['s', 'd', 'q'],
'fname': 'rot.c', 'fname': 'rot.c',
'cblas': true, # q doesn't have cblas_
}, },
{ 'base': '?rot', '_types': ['cs', 'zd', 'xq'], { 'base': '?rot', '_types': ['cs', 'zd', 'xq'],
'fname': 'zrot.c', 'fname': 'zrot.c',
'cblas': true,
}, },
{ 'base': '?rotm', '_types': ['s', 'd', 'q'], { 'base': '?rotm', '_types': ['s', 'd', 'q'],
'fname': 'rotm.c', 'fname': 'rotm.c',
'cblas': true,
}, },
{ 'base': '?rotmg', '_types': ['s', 'd', 'q'], { 'base': '?rotmg', '_types': ['s', 'd', 'q'],
'fname': 'rotmg.c', 'fname': 'rotmg.c',
'cblas': true,
}, },
{ 'base': '?rotg', '_types': ['s', 'd', 'q'], { 'base': '?rotg', '_types': ['s', 'd', 'q'],
'fname': 'rotg.c', 'fname': 'rotg.c',
'cblas': true,
}, },
{ 'base': '?rotg', '_types': ['c', 'z', 'x'], { 'base': '?rotg', '_types': ['c', 'z', 'x'],
'fname': 'zrotg.c', 'fname': 'zrotg.c',
'cblas': true,
}, },
{ 'base': '?scal', '_types': ['s', 'd', 'q'], { 'base': '?scal', '_types': ['s', 'd', 'q'],
'fname': 'scal.c', 'fname': 'scal.c',
'cblas': true,
}, },
{ 'base': '?scal', '_types': ['c', 'z', 'x'], { 'base': '?scal', '_types': ['c', 'z', 'x'],
'fname': 'zscal.c', 'fname': 'zscal.c',
'cblas': true, # x doesn't have cblas_
}, },
{ 'base': '?scal', '_types': ['cs', 'zd', 'xq'], { 'base': '?scal', '_types': ['cs', 'zd', 'xq'],
'fname': 'zscal.c', 'def': [ 'SSCAL' ], 'undef': [ ], 'fname': 'zscal.c', 'def': [ 'SSCAL' ], 'undef': [ ],
'cblas': true,
}, },
{ 'base': '?swap', '_types': ['s', 'd', 'q'], { 'base': '?swap', '_types': ['s', 'd', 'q'],
'fname': 'swap.c', 'fname': 'swap.c',
'cblas': true,
}, },
{ 'base': '?swap', '_types': ['c', 'z', 'x'], { 'base': '?swap', '_types': ['c', 'z', 'x'],
'fname': 'zswap.c', 'fname': 'zswap.c',
'cblas': true,
}, },
{ 'base': '?dsdot', '_types': ['s'], { 'base': '?dsdot', '_types': ['s'],
'fname': 'sdsdot.c', 'fname': 'sdsdot.c',
'cblas': true,
}, },
{ 'base': '?dsdot', '_types': [''], { 'base': '?dsdot', '_types': [''],
'fname': 'dsdot.c', 'fname': 'dsdot.c',
'cblas': true,
}, },
# TODO: Handle BFLOAT16 Makefile 784:795 # TODO: Handle BFLOAT16 Makefile 784:795, 1592:1603
{ 'base': 'i?max', '_types': ['s', 'd', 'q'], { 'base': 'i?max', '_types': ['s', 'd', 'q', 'c', 'z'], # NOTE: c,z only for cblas, Makefile:1526
'fname': 'imax.c', 'def': [ ], 'undef': [ 'USE_ABS', 'USE_MIN' ], 'fname': 'imax.c', 'def': [ ], 'undef': [ 'USE_ABS', 'USE_MIN' ],
'cblas': true, # TODO: Maybe 'cblas_only': ['c', 'z']
}, },
{ 'base': 'i?amax', '_types': ['s', 'd', 'q', 'c', 'z', 'x'], { 'base': 'i?amax', '_types': ['s', 'd', 'q', 'c', 'z', 'x'],
'fname': 'imax.c', 'def': [ 'USE_ABS' ], 'undef': [ 'USE_MIN' ], 'fname': 'imax.c', 'def': [ 'USE_ABS' ], 'undef': [ 'USE_MIN' ],
'cblas': true,
}, },
{ 'base': 'i?amin', '_types': ['s', 'd', 'c', 'z', 'x'], { 'base': 'i?amin', '_types': ['s', 'd', 'c', 'z', 'x'],
'fname': 'imax.c', 'def': [ 'USE_ABS', 'USE_MIN' ], 'undef': [ ], 'fname': 'imax.c', 'def': [ 'USE_ABS', 'USE_MIN' ], 'undef': [ ],
'cblas': true,
}, },
{ 'base': 'i?min', '_types': ['s', 'd', 'q'], { 'base': 'i?min', '_types': ['s', 'd', 'q', 'c', 'z'], # NOTE: c,z only for cblas, Makefile:1532
'fname': 'imax.c', 'def': [ 'USE_MIN' ], 'undef': [ 'USE_ABS' ], 'fname': 'imax.c', 'def': [ 'USE_MIN' ], 'undef': [ 'USE_ABS' ],
'cblas': true,
}, },
# Level 2 # Level 2
{ 'base': '?ger', '_types': ['s', 'd', 'q'], { 'base': '?ger', '_types': ['s', 'd', 'q'],
'fname': 'ger.c', 'fname': 'ger.c',
'cblas': true,
}, },
{ 'base': '?geru', '_types': ['c', 'z', 'x'], { 'base': '?geru', '_types': ['c', 'z', 'x'],
'fname': 'zger.c', 'def': [ ], 'undef': [ 'CONJ' ], 'fname': 'zger.c', 'def': [ ], 'undef': [ 'CONJ' ],
'cblas': true,
}, },
{ 'base': '?gerc', '_types': ['c', 'z', 'x'], { 'base': '?gerc', '_types': ['c', 'z', 'x'],
'fname': 'zger.c', 'def': [ 'CONJ' ], 'undef': [ ], 'fname': 'zger.c', 'def': [ 'CONJ' ], 'undef': [ ],
'cblas': true,
}, },
# TODO: Handle BFLOAT16 Makefile 941:944 # TODO: Handle BFLOAT16 Makefile 941:944
# TODO: Handle Netlib_gemv Makefile 946:958 # TODO: Handle Netlib_gemv Makefile 946:958
{ 'base': '?gemv', '_types': ['s', 'd', 'q'], { 'base': '?gemv', '_types': ['s', 'd', 'q'],
'fname': 'gemv.c', 'fname': 'gemv.c',
'cblas': true,
}, },
{ 'base': '?gemv', '_types': ['c', 'z', 'x'], { 'base': '?gemv', '_types': ['c', 'z', 'x'],
'fname': 'zgemv.c', 'fname': 'zgemv.c',
'cblas': true,
}, },
{ 'base': '?trmv', '_types': ['s', 'd', 'q'], { 'base': '?trmv', '_types': ['s', 'd', 'q'],
'fname': 'trmv.c', 'fname': 'trmv.c',
'cblas': true,
}, },
{ 'base': '?trmv', '_types': ['c', 'z', 'x'], { 'base': '?trmv', '_types': ['c', 'z', 'x'],
'fname': 'ztrmv.c', 'fname': 'ztrmv.c',
'cblas': true,
}, },
{ 'base': '?trsv', '_types': ['s', 'd', 'q'], { 'base': '?trsv', '_types': ['s', 'd', 'q'],
'fname': 'trsv.c', 'fname': 'trsv.c',
'cblas': true,
}, },
{ 'base': '?trsv', '_types': ['c', 'z', 'x'], { 'base': '?trsv', '_types': ['c', 'z', 'x'],
'fname': 'ztrsv.c', 'fname': 'ztrsv.c',
'cblas': true,
}, },
# TODO: Handle NO_LAPACK # TODO: Handle NO_LAPACK
{ 'base': '?symv', '_types': ['s', 'd', 'q'], { 'base': '?symv', '_types': ['s', 'd', 'q'],
'fname': 'symv.c', 'fname': 'symv.c',
'cblas': true,
}, },
{ 'base': '?symv', '_types': ['c', 'z', 'x'], { 'base': '?symv', '_types': ['c', 'z', 'x'],
'fname': 'zsymv.c', 'fname': 'zsymv.c',
'cblas': false, # NOTE: This oddly has no cblas set..
}, },
{ 'base': '?syr', '_types': ['s', 'd', 'q'], { 'base': '?syr', '_types': ['s', 'd', 'q'],
'fname': 'syr.c', 'fname': 'syr.c',
'cblas': true,
}, },
{ 'base': '?syr', '_types': ['c', 'z', 'x'], { 'base': '?syr', '_types': ['c', 'z', 'x'],
'fname': 'zsyr.c', 'fname': 'zsyr.c',
'cblas': false, # NOTE: This oddly has no cblas set..
}, },
{ 'base': '?syr2', '_types': ['s', 'd', 'q'], { 'base': '?syr2', '_types': ['s', 'd', 'q'],
'fname': 'syr2.c', 'fname': 'syr2.c',
'cblas': true,
}, },
{ 'base': '?syr2', '_types': ['c', 'z', 'x'], { 'base': '?syr2', '_types': ['c', 'z', 'x'],
'fname': 'zsyr2.c', 'fname': 'zsyr2.c',
'cblas': false, # NOTE: This oddly has no cblas set..
}, },
{ 'base': '?gbmv', '_types': ['s', 'd', 'q'], { 'base': '?gbmv', '_types': ['s', 'd', 'q'],
'fname': 'gbmv.c', 'fname': 'gbmv.c',
'cblas': true,
}, },
{ 'base': '?gbmv', '_types': ['c', 'z', 'x'], { 'base': '?gbmv', '_types': ['c', 'z', 'x'],
'fname': 'zgbmv.c', 'fname': 'zgbmv.c',
'cblas': true,
}, },
{ 'base': '?sbmv', '_types': ['s', 'd', 'q'], { 'base': '?sbmv', '_types': ['s', 'd', 'q'],
'fname': 'sbmv.c', 'fname': 'sbmv.c',
'cblas': true,
}, },
{ 'base': '?sbmv', '_types': ['c', 'z', 'x'], { 'base': '?sbmv', '_types': ['c', 'z', 'x'],
'fname': 'zsbmv.c', 'fname': 'zsbmv.c',
'cblas': false, # NOTE: This oddly has no cblas set..
}, },
{ 'base': '?spmv', '_types': ['s', 'd', 'q'], { 'base': '?spmv', '_types': ['s', 'd', 'q'],
'fname': 'spmv.c', 'fname': 'spmv.c',
'cblas': true,
}, },
# TODO: NO_LAPACK # TODO: NO_LAPACK
{ 'base': '?spmv', '_types': ['c', 'z', 'x'], { 'base': '?spmv', '_types': ['c', 'z', 'x'],
'fname': 'zspmv.c', 'fname': 'zspmv.c',
'cblas': false, # NOTE: This oddly has no cblas set..
}, },
{ 'base': '?spr', '_types': ['s', 'd', 'q'], { 'base': '?spr', '_types': ['s', 'd', 'q'],
'fname': 'spr.c', 'fname': 'spr.c',
'cblas': true,
}, },
{ 'base': '?spr', '_types': ['c', 'z', 'x'], { 'base': '?spr', '_types': ['c', 'z', 'x'],
'fname': 'zspr.c', 'fname': 'zspr.c',
'cblas': false, # NOTE: This oddly has no cblas set..
}, },
{ 'base': '?spr2', '_types': ['s', 'd', 'q'], { 'base': '?spr2', '_types': ['s', 'd', 'q'],
'fname': 'spr2.c', 'fname': 'spr2.c',
'cblas': true,
}, },
{ 'base': '?spr2', '_types': ['c', 'z', 'x'], { 'base': '?spr2', '_types': ['c', 'z', 'x'],
'fname': 'zspr2.c', 'fname': 'zspr2.c',
'cblas': false, # NOTE: This oddly has no cblas set..
}, },
{ 'base': '?tbmv', '_types': ['s', 'd', 'q'], { 'base': '?tbmv', '_types': ['s', 'd', 'q'],
'fname': 'tbmv.c', 'fname': 'tbmv.c',
'cblas': true,
}, },
{ 'base': '?tbmv', '_types': ['c', 'z', 'x'], { 'base': '?tbmv', '_types': ['c', 'z', 'x'],
'fname': 'ztbmv.c', 'fname': 'ztbmv.c',
'cblas': true,
}, },
{ 'base': '?tbsv', '_types': ['s', 'd', 'q'], { 'base': '?tbsv', '_types': ['s', 'd', 'q'],
'fname': 'tbsv.c', 'fname': 'tbsv.c',
'cblas': true,
}, },
{ 'base': '?tbsv', '_types': ['c', 'z', 'x'], { 'base': '?tbsv', '_types': ['c', 'z', 'x'],
'fname': 'ztbsv.c', 'fname': 'ztbsv.c',
'cblas': true,
}, },
{ 'base': '?tpsv', '_types': ['s', 'd', 'q'], { 'base': '?tpsv', '_types': ['s', 'd', 'q'],
'fname': 'tpsv.c', 'fname': 'tpsv.c',
'cblas': true,
}, },
{ 'base': '?tpsv', '_types': ['c', 'z', 'x'], { 'base': '?tpsv', '_types': ['c', 'z', 'x'],
'fname': 'ztpsv.c', 'fname': 'ztpsv.c',
'cblas': true,
}, },
{ 'base': '?tpmv', '_types': ['s', 'd', 'q'], { 'base': '?tpmv', '_types': ['s', 'd', 'q'],
'fname': 'tpmv.c', 'fname': 'tpmv.c',
'cblas': true,
}, },
{ 'base': '?tpmv', '_types': ['c', 'z', 'x'], { 'base': '?tpmv', '_types': ['c', 'z', 'x'],
'fname': 'ztpmv.c', 'fname': 'ztpmv.c',
'cblas': true,
}, },
{ 'base': '?hemv', '_types': ['c', 'z', 'x'], { 'base': '?hemv', '_types': ['c', 'z', 'x'],
'fname': 'zhemv.c', 'fname': 'zhemv.c',
'cblas': true,
}, },
{ 'base': '?hbmv', '_types': ['c', 'z', 'x'], { 'base': '?hbmv', '_types': ['c', 'z', 'x'],
'fname': 'zhbmv.c', 'fname': 'zhbmv.c',
'cblas': true,
}, },
{ 'base': '?her', '_types': ['c', 'z', 'x'], { 'base': '?her', '_types': ['c', 'z', 'x'],
'fname': 'zher.c', 'fname': 'zher.c',
'cblas': true,
}, },
{ 'base': '?her2', '_types': ['c', 'z', 'x'], { 'base': '?her2', '_types': ['c', 'z', 'x'],
'fname': 'zher2.c', 'fname': 'zher2.c',
'cblas': true,
}, },
{ 'base': '?hpmv', '_types': ['c', 'z', 'x'], { 'base': '?hpmv', '_types': ['c', 'z', 'x'],
'fname': 'zhpmv.c', 'fname': 'zhpmv.c',
'cblas': true,
}, },
{ 'base': '?hpr', '_types': ['c', 'z', 'x'], { 'base': '?hpr', '_types': ['c', 'z', 'x'],
'fname': 'zhpr.c', 'fname': 'zhpr.c',
'cblas': true,
}, },
{ 'base': '?hpr2', '_types': ['c', 'z', 'x'], { 'base': '?hpr2', '_types': ['c', 'z', 'x'],
'fname': 'zhpr2.c', 'fname': 'zhpr2.c',
'cblas': true,
}, },
# TODO: BUILD_BFLOAT16 here, Makefile:1303 # TODO: BUILD_BFLOAT16 here, Makefile:1303
{ 'base': '?gemm', '_types': ['s', 'd', 'q', 'c', 'z', 'x'], { 'base': '?gemm', '_types': ['s', 'd', 'q', 'c', 'z', 'x'],
'fname': ['gemm.c', '../param.h'], # TODO: Will this work? 'fname': ['gemm.c', '../param.h'], # TODO: Will this work?
'cblas': true,
}, },
{ 'base': '?gemmt', '_types': ['s', 'd', 'q', 'c', 'z', 'x'], { 'base': '?gemmt', '_types': ['s', 'd', 'q', 'c', 'z', 'x'],
'fname': ['gemmt.c', '../param.h'], 'fname': ['gemmt.c', '../param.h'],
'cblas': true,
}, },
{ 'base': '?symm', '_types': ['s', 'd', 'q', 'c', 'z', 'x'], { 'base': '?symm', '_types': ['s', 'd', 'q', 'c', 'z', 'x'],
'fname': 'symm.c', 'fname': 'symm.c',
'cblas': true,
}, },
{ 'base': '?trmm', '_types': ['s', 'd', 'q', 'c', 'z', 'x'], { 'base': '?trmm', '_types': ['s', 'd', 'q', 'c', 'z', 'x'],
'fname': 'trsm.c', 'def': [ 'TRMM' ], 'undef': [ ], 'fname': 'trsm.c', 'def': [ 'TRMM' ], 'undef': [ ],
'cblas': true,
}, },
{ 'base': '?trsm', '_types': ['s', 'd', 'q', 'c', 'z', 'x'], { 'base': '?trsm', '_types': ['s', 'd', 'q', 'c', 'z', 'x'],
'fname': 'trsm.c', 'fname': 'trsm.c',
'cblas': true,
}, },
{ 'base': '?syrk', '_types': ['s', 'd', 'q', 'c', 'z', 'x'], { 'base': '?syrk', '_types': ['s', 'd', 'q', 'c', 'z', 'x'],
'fname': 'syrk.c', 'fname': 'syrk.c',
'cblas': true,
}, },
{ 'base': '?syr2k', '_types': ['s', 'd', 'q', 'c', 'z', 'x'], { 'base': '?syr2k', '_types': ['s', 'd', 'q', 'c', 'z', 'x'],
'fname': 'syr2k.c', 'fname': 'syr2k.c',
'cblas': true,
}, },
{ 'base': '?hemm', '_types': ['c', 'z', 'x'], { 'base': '?hemm', '_types': ['c', 'z', 'x'],
'fname': 'symm.c', 'def': [ 'HEMM' ], 'undef': [ ], 'fname': 'symm.c', 'def': [ 'HEMM' ], 'undef': [ ],
'cblas': true,
}, },
{ 'base': '?herk', '_types': ['c', 'z', 'x'], { 'base': '?herk', '_types': ['c', 'z', 'x'],
'fname': 'syrk.c', 'def': [ 'HEMM' ], 'undef': [ ], 'fname': 'syrk.c', 'def': [ 'HEMM' ], 'undef': [ ],
'cblas': true,
}, },
{ 'base': '?her2k', '_types': ['c', 'z', 'x'], { 'base': '?her2k', '_types': ['c', 'z', 'x'],
'fname': 'syr2k.c', 'def': [ 'HEMM' ], 'undef': [ ], 'fname': 'syr2k.c', 'def': [ 'HEMM' ], 'undef': [ ],
'cblas': true,
}, },
{ 'base': '?gemm3m', '_types': ['c', 'z', 'x'], { 'base': '?gemm3m', '_types': ['c', 'z', 'x'],
'fname': 'gemm.c', 'def': [ 'GEMM3M' ], 'undef': [ ], 'fname': 'gemm.c', 'def': [ 'GEMM3M' ], 'undef': [ ],
'cblas': true,
}, },
{ 'base': '?symm3m', '_types': ['c', 'z', 'x'], { 'base': '?symm3m', '_types': ['c', 'z', 'x'],
'fname': 'symm.c', 'def': [ 'GEMM3M' ], 'undef': [ ], 'fname': 'symm.c', 'def': [ 'GEMM3M' ], 'undef': [ ],