From 5267a1ec6316a9a74101d60eb7774e27d140c3d3 Mon Sep 17 00:00:00 2001 From: Rohit Goswami Date: Sun, 12 May 2024 13:44:56 +0000 Subject: [PATCH] ENH: Compile all L2 drivers --- driver/level2/meson.build | 803 +++++++++++++++++++------------------- meson.build | 5 +- 2 files changed, 405 insertions(+), 403 deletions(-) diff --git a/driver/level2/meson.build b/driver/level2/meson.build index 0bff6d5c4..279c945a0 100644 --- a/driver/level2/meson.build +++ b/driver/level2/meson.build @@ -12,408 +12,407 @@ driver_kops = [ }, { 'base': '?gbmv_thread', 'sources': { - 'gbmv_thread.c': {'mode': ['s', 'd'],#, 'q', - # 'c', 'z', 'x'], - # only _n and _t normally - 'exts': ['_n', '_t',]}, # '_r', '_c', -# '_o', '_u', '_s', '_d']}, + 'gbmv_thread.c': {'mode': ['s', 'd', 'q', + 'c', 'z', 'x'], + 'exts': ['_n', '_t', '_r', '_c', + '_o', '_u', '_s', '_d']}, } }, - # { 'base': '?gemv_thread', - # 'sources': { - # 'gemv_thread.c': {'mode': ['s', 'd', 'q', - # 'c', 'z', 'x'], - # 'exts': ['_n', '_t', '_r', '_c', - # '_o', '_u', '_s', '_d']}, - # } - # }, - # { 'base': '?ger_thread', - # 'sources': { - # 'ger_thread.c': {'mode': ['s', 'd', 'q'], 'exts': ['']}, - # } - # }, - # { 'base': '?ger_thread', - # 'sources': { - # 'ger_thread.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_C', - # '_V', '_D']}, - # } - # }, - # { 'base': '?symv_thread', - # 'sources': { - # 'symv_thread.c': {'mode': ['s', 'd', 'q', - # 'c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # } - # }, - # { 'base': '?hemv_thread', - # 'sources': { - # 'symv_thread.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?syr_thread', - # 'sources': { - # 'syr_thread.c': {'mode': ['s', 'd', 'q', - # 'c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # }, - # }, - # { 'base': '?her_thread', - # 'sources': { - # 'syr_thread.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?syr2_thread', - # 'sources': { - # 'syr2_thread.c': {'mode': ['s', 'd', 'q', - # 'c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # }, - # }, - # { 'base': '?her2_thread', - # 'sources': { - # 'syr2_thread.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?hbmv', - # 'sources': { - # 'zhbmv_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?hbmv_thread', - # 'sources': { - # 'sbmv_thread.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?her', - # 'sources': { - # 'zher_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?her2', - # 'sources': { - # 'zher2_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?hpmv', - # 'sources': { - # 'zhpmv_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?hpmv_thread', - # 'sources': { - # 'spmv_thread.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?hpr', - # 'sources': { - # 'zhpr_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?hpr_thread', - # 'sources': { - # 'spr_thread.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?hpr2', - # 'sources': { - # 'zhpr2_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?hpr2_thread', - # 'sources': { - # 'spr2_thread.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L', - # '_V', '_M']}, - # }, - # }, - # { 'base': '?sbmv', - # 'sources': { - # 'sbmv_k.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_U', '_L']}, - # 'zsbmv_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # } - # }, - # { 'base': '?sbmv_thread', - # 'sources': { - # 'sbmv_thread.c': {'mode': ['s', 'd', 'q', - # 'c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # } - # }, - # { 'base': '?spmv', - # 'sources': { - # 'spmv_k.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_U', '_L']}, - # 'zspmv_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # } - # }, - # { 'base': '?spmv_thread', - # 'sources': { - # 'spmv_thread.c': {'mode': ['s', 'd', 'q', - # 'c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # } - # }, - # { 'base': '?spr', - # 'sources': { - # 'spr_k.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_U', '_L']}, - # 'zspr_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # } - # }, - # { 'base': '?spr_thread', - # 'sources': { - # 'spr_thread.c': {'mode': ['s', 'd', 'q', - # 'c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # } - # }, - # { 'base': '?spr2', - # 'sources': { - # 'spr2_k.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_U', '_L']}, - # 'zspr2_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # } - # }, - # { 'base': '?spr2_thread', - # 'sources': { - # 'spr2_thread.c': {'mode': ['s', 'd', 'q', - # 'c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # } - # }, - # { 'base': '?syr', - # 'sources': { - # 'syr_k.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_U', '_L']}, - # 'zsyr_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # } - # }, - # { 'base': '?syr2', - # 'sources': { - # 'syr2_k.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_U', '_L']}, - # 'zsyr2_k.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_U', '_L']}, - # } - # }, - # { 'base': '?tbmv', - # 'sources': { - # 'tbmv_U.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN']}, - # 'tbmv_L.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NLU', '_NLN', - # '_TUU', '_TUN']}, - # 'ztbmv_U.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_CLU', '_CLN', - # '_RUU', '_RUN']}, - # 'ztbmv_L.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_RLU', '_RLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN', - # '_CUU', '_CUN']}, - # } - # }, - # { 'base': '?tbmv_thread', - # 'sources': { - # 'tbmv_thread.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN']}, - # } - # }, - # { 'base': '?tbmv_thread', - # 'sources': { - # 'tbmv_thread.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_RLU', '_RLN', - # '_CLU', '_CLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN', - # '_RUU', '_RUN', - # '_CUU', '_CUN']}, - # } - # }, - # { 'base': '?tbsv', - # 'sources': { - # 'tbsv_U.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN']}, - # 'tbsv_L.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NLU', '_NLN', - # '_TUU', '_TUN']}, - # 'ztbsv_U.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_CLU', '_CLN', - # '_RUU', '_RUN']}, - # 'ztbsv_L.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_RLU', '_RLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN', - # '_CUU', '_CUN']}, - # } - # }, - # { 'base': '?tpmv', - # 'sources': { - # 'tpmv_U.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN']}, - # 'tpmv_L.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NLU', '_NLN', - # '_TUU', '_TUN']}, - # 'ztpmv_U.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_CLU', '_CLN', - # '_RUU', '_RUN']}, - # 'ztpmv_L.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_RLU', '_RLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN', - # '_CUU', '_CUN']}, - # } - # }, - # { 'base': '?tpmv_thread', - # 'sources': { - # 'tpmv_thread.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN']}, - # } - # }, - # { 'base': '?tpmv_thread', - # 'sources': { - # 'tpmv_thread.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_RLU', '_RLN', - # '_CLU', '_CLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN', - # '_RUU', '_RUN', - # '_CUU', '_CUN']}, - # } - # }, - # { 'base': '?tpsv', - # 'sources': { - # 'tpsv_U.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN']}, - # 'tpsv_L.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NLU', '_NLN', - # '_TUU', '_TUN']}, - # 'ztpsv_U.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_CLU', '_CLN', - # '_RUU', '_RUN']}, - # 'ztpsv_L.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_RLU', '_RLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN', - # '_CUU', '_CUN']}, - # } - # }, - # { 'base': '?trmv', - # 'sources': { - # 'trmv_U.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN']}, - # 'trmv_L.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NLU', '_NLN', - # '_TUU', '_TUN']}, - # 'ztrmv_U.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_CLU', '_CLN', - # '_RUU', '_RUN']}, - # 'ztrmv_L.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_RLU', '_RLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN', - # '_CUU', '_CUN']}, - # } - # }, - # { 'base': '?trmv_thread', - # 'sources': { - # 'trmv_thread.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN']}, - # } - # }, - # { 'base': '?trmv_thread', - # 'sources': { - # 'trmv_thread.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_RLU', '_RLN', - # '_CLU', '_CLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN', - # '_RUU', '_RUN', - # '_CUU', '_CUN']}, - # } - # }, - # { 'base': '?trsv', - # 'sources': { - # 'trsv_U.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN']}, - # 'trsv_L.c': {'mode': ['s', 'd', 'q'], - # 'exts': ['_NLU', '_NLN', - # '_TUU', '_TUN']}, - # 'ztrsv_U.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_NUU', '_NUN', - # '_TLU', '_TLN', - # '_CLU', '_CLN', - # '_RUU', '_RUN']}, - # 'ztrsv_L.c': {'mode': ['c', 'z', 'x'], - # 'exts': ['_RLU', '_RLN', - # '_NLU', '_NLN', - # '_TUU', '_TUN', - # '_CUU', '_CUN']}, - # } - # }, - # # TODO(rg): Add the bfloat conditionals from Makefile:3709 + { 'base': '?gemv_thread', + 'sources': { + 'gemv_thread.c': {'mode': ['s', 'd', 'q', + 'c', 'z', 'x'], + 'exts': ['_n', '_t', '_r', '_c', + '_o', '_u', '_s', '_d']}, + } + }, + { 'base': '?ger_thread', + 'sources': { + 'ger_thread.c': {'mode': ['s', 'd', 'q'], 'exts': ['']}, + } + }, + { 'base': '?ger_thread', + 'sources': { + 'ger_thread.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_C', + '_V', '_D']}, + } + }, + { 'base': '?symv_thread', + 'sources': { + 'symv_thread.c': {'mode': ['s', 'd', 'q', + 'c', 'z', 'x'], + 'exts': ['_U', '_L']}, + } + }, + { 'base': '?hemv_thread', + 'sources': { + 'symv_thread.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?syr_thread', + 'sources': { + 'syr_thread.c': {'mode': ['s', 'd', 'q', + 'c', 'z', 'x'], + 'exts': ['_U', '_L']}, + }, + }, + { 'base': '?her_thread', + 'sources': { + 'syr_thread.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?syr2_thread', + 'sources': { + 'syr2_thread.c': {'mode': ['s', 'd', 'q', + 'c', 'z', 'x'], + 'exts': ['_U', '_L']}, + }, + }, + { 'base': '?her2_thread', + 'sources': { + 'syr2_thread.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?hbmv', + 'sources': { + 'zhbmv_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?hbmv_thread', + 'sources': { + 'sbmv_thread.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?her', + 'sources': { + 'zher_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?her2', + 'sources': { + 'zher2_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?hpmv', + 'sources': { + 'zhpmv_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?hpmv_thread', + 'sources': { + 'spmv_thread.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?hpr', + 'sources': { + 'zhpr_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?hpr_thread', + 'sources': { + 'spr_thread.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?hpr2', + 'sources': { + 'zhpr2_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?hpr2_thread', + 'sources': { + 'spr2_thread.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L', + '_V', '_M']}, + }, + }, + { 'base': '?sbmv', + 'sources': { + 'sbmv_k.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_U', '_L']}, + 'zsbmv_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L']}, + } + }, + { 'base': '?sbmv_thread', + 'sources': { + 'sbmv_thread.c': {'mode': ['s', 'd', 'q', + 'c', 'z', 'x'], + 'exts': ['_U', '_L']}, + } + }, + { 'base': '?spmv', + 'sources': { + 'spmv_k.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_U', '_L']}, + 'zspmv_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L']}, + } + }, + { 'base': '?spmv_thread', + 'sources': { + 'spmv_thread.c': {'mode': ['s', 'd', 'q', + 'c', 'z', 'x'], + 'exts': ['_U', '_L']}, + } + }, + { 'base': '?spr', + 'sources': { + 'spr_k.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_U', '_L']}, + 'zspr_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L']}, + } + }, + { 'base': '?spr_thread', + 'sources': { + 'spr_thread.c': {'mode': ['s', 'd', 'q', + 'c', 'z', 'x'], + 'exts': ['_U', '_L']}, + } + }, + { 'base': '?spr2', + 'sources': { + 'spr2_k.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_U', '_L']}, + 'zspr2_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L']}, + } + }, + { 'base': '?spr2_thread', + 'sources': { + 'spr2_thread.c': {'mode': ['s', 'd', 'q', + 'c', 'z', 'x'], + 'exts': ['_U', '_L']}, + } + }, + { 'base': '?syr', + 'sources': { + 'syr_k.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_U', '_L']}, + 'zsyr_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L']}, + } + }, + { 'base': '?syr2', + 'sources': { + 'syr2_k.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_U', '_L']}, + 'zsyr2_k.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_U', '_L']}, + } + }, + { 'base': '?tbmv', + 'sources': { + 'tbmv_U.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN']}, + 'tbmv_L.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NLU', '_NLN', + '_TUU', '_TUN']}, + 'ztbmv_U.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_CLU', '_CLN', + '_RUU', '_RUN']}, + 'ztbmv_L.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_RLU', '_RLN', + '_NLU', '_NLN', + '_TUU', '_TUN', + '_CUU', '_CUN']}, + } + }, + { 'base': '?tbmv_thread', + 'sources': { + 'tbmv_thread.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_NLU', '_NLN', + '_TUU', '_TUN']}, + } + }, + { 'base': '?tbmv_thread', + 'sources': { + 'tbmv_thread.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_RLU', '_RLN', + '_CLU', '_CLN', + '_NLU', '_NLN', + '_TUU', '_TUN', + '_RUU', '_RUN', + '_CUU', '_CUN']}, + } + }, + { 'base': '?tbsv', + 'sources': { + 'tbsv_U.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN']}, + 'tbsv_L.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NLU', '_NLN', + '_TUU', '_TUN']}, + 'ztbsv_U.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_CLU', '_CLN', + '_RUU', '_RUN']}, + 'ztbsv_L.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_RLU', '_RLN', + '_NLU', '_NLN', + '_TUU', '_TUN', + '_CUU', '_CUN']}, + } + }, + { 'base': '?tpmv', + 'sources': { + 'tpmv_U.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN']}, + 'tpmv_L.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NLU', '_NLN', + '_TUU', '_TUN']}, + 'ztpmv_U.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_CLU', '_CLN', + '_RUU', '_RUN']}, + 'ztpmv_L.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_RLU', '_RLN', + '_NLU', '_NLN', + '_TUU', '_TUN', + '_CUU', '_CUN']}, + } + }, + { 'base': '?tpmv_thread', + 'sources': { + 'tpmv_thread.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_NLU', '_NLN', + '_TUU', '_TUN']}, + } + }, + { 'base': '?tpmv_thread', + 'sources': { + 'tpmv_thread.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_RLU', '_RLN', + '_CLU', '_CLN', + '_NLU', '_NLN', + '_TUU', '_TUN', + '_RUU', '_RUN', + '_CUU', '_CUN']}, + } + }, + { 'base': '?tpsv', + 'sources': { + 'tpsv_U.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN']}, + 'tpsv_L.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NLU', '_NLN', + '_TUU', '_TUN']}, + 'ztpsv_U.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_CLU', '_CLN', + '_RUU', '_RUN']}, + 'ztpsv_L.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_RLU', '_RLN', + '_NLU', '_NLN', + '_TUU', '_TUN', + '_CUU', '_CUN']}, + } + }, + { 'base': '?trmv', + 'sources': { + 'trmv_U.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN']}, + 'trmv_L.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NLU', '_NLN', + '_TUU', '_TUN']}, + 'ztrmv_U.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_CLU', '_CLN', + '_RUU', '_RUN']}, + 'ztrmv_L.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_RLU', '_RLN', + '_NLU', '_NLN', + '_TUU', '_TUN', + '_CUU', '_CUN']}, + } + }, + { 'base': '?trmv_thread', + 'sources': { + 'trmv_thread.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_NLU', '_NLN', + '_TUU', '_TUN']}, + } + }, + { 'base': '?trmv_thread', + 'sources': { + 'trmv_thread.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_RLU', '_RLN', + '_CLU', '_CLN', + '_NLU', '_NLN', + '_TUU', '_TUN', + '_RUU', '_RUN', + '_CUU', '_CUN']}, + } + }, + { 'base': '?trsv', + 'sources': { + 'trsv_U.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN']}, + 'trsv_L.c': {'mode': ['s', 'd', 'q'], + 'exts': ['_NLU', '_NLN', + '_TUU', '_TUN']}, + 'ztrsv_U.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_NUU', '_NUN', + '_TLU', '_TLN', + '_CLU', '_CLN', + '_RUU', '_RUN']}, + 'ztrsv_L.c': {'mode': ['c', 'z', 'x'], + 'exts': ['_RLU', '_RLN', + '_NLU', '_NLN', + '_TUU', '_TUN', + '_CUU', '_CUN']}, + } + }, + # TODO(rg): Add the bfloat conditionals from Makefile:3709 ] # Initialize kernel configurations list @@ -547,5 +546,5 @@ foreach conf : kernel_confs endforeach # Create the final kernel library -_kern = static_library('_kern', - link_whole: _kern_libs) +_l2_driver = static_library('l2_driver', + link_whole: _kern_libs) diff --git a/meson.build b/meson.build index d0d48bf04..5b15fd9cd 100644 --- a/meson.build +++ b/meson.build @@ -334,6 +334,9 @@ symb_defs = { '?gemm3m': {'def': ['GEMM3M']}, '?symm3m': {'def': ['GEMM3M']}, '?hemm3m': {'def': ['HEMM', 'GEMM3M']}, + '?her_thread': {'def': ['HER']}, + '?her2_thread': {'def': ['HER']}, + '?hpr_thread': {'def': ['HEMV']}, 'cblas_?dotu_sub': {'def': ['CBLAS', 'FORCE_USE_STACK'], 'undef': ['CONJ']}, 'cblas_?dotc_sub': {'def': ['CBLAS', 'FORCE_USE_STACK', 'CONJ']}, } @@ -346,4 +349,4 @@ subdir('driver/level2') subdir('kernel') _openblas = static_library('openblas', - link_whole: [ _interface, _kern]) + link_whole: [ _interface, _l2_driver, _kern ])