| @@ -41,8 +41,8 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS) | |||||
| foreach (float_type ${FLOAT_TYPES}) | foreach (float_type ${FLOAT_TYPES}) | ||||
| # a bit of metaprogramming here to pull out the appropriate KERNEL var | # a bit of metaprogramming here to pull out the appropriate KERNEL var | ||||
| string(SUBSTRING ${float_type} 0 1 float_char) | string(SUBSTRING ${float_type} 0 1 float_char) | ||||
| if (${float_type} STREQUAL "HALF") | |||||
| set (float_char "SH") | |||||
| if (${float_type} STREQUAL "BFLOAT16") | |||||
| set (float_char "SB") | |||||
| endif () | endif () | ||||
| GenerateNamedObjects("${KERNELDIR}/${${float_char}AMAXKERNEL}" "USE_ABS" "amax_k" false "" "" false ${float_type}) | GenerateNamedObjects("${KERNELDIR}/${${float_char}AMAXKERNEL}" "USE_ABS" "amax_k" false "" "" false ${float_type}) | ||||
| GenerateNamedObjects("${KERNELDIR}/${${float_char}AMINKERNEL}" "USE_ABS;USE_MIN" "amin_k" false "" "" false ${float_type}) | GenerateNamedObjects("${KERNELDIR}/${${float_char}AMINKERNEL}" "USE_ABS;USE_MIN" "amin_k" false "" "" false ${float_type}) | ||||
| @@ -149,8 +149,8 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS) | |||||
| GenerateNamedObjects("generic/ger.c" "" "ger_k" false "" "" "" 3) | GenerateNamedObjects("generic/ger.c" "" "ger_k" false "" "" "" 3) | ||||
| foreach (float_type ${FLOAT_TYPES}) | foreach (float_type ${FLOAT_TYPES}) | ||||
| string(SUBSTRING ${float_type} 0 1 float_char) | string(SUBSTRING ${float_type} 0 1 float_char) | ||||
| if (${float_type} STREQUAL "HALF") | |||||
| set (float_char "SH") | |||||
| if (${float_type} STREQUAL "BFLOAT16") | |||||
| set (float_char "SB") | |||||
| endif () | endif () | ||||
| if (${float_type} STREQUAL "COMPLEX" OR ${float_type} STREQUAL "ZCOMPLEX") | if (${float_type} STREQUAL "COMPLEX" OR ${float_type} STREQUAL "ZCOMPLEX") | ||||
| GenerateNamedObjects("${KERNELDIR}/${${float_char}GERUKERNEL}" "" "geru_k" false "" "" false ${float_type}) | GenerateNamedObjects("${KERNELDIR}/${${float_char}GERUKERNEL}" "" "geru_k" false "" "" false ${float_type}) | ||||
| @@ -208,13 +208,13 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS) | |||||
| GenerateNamedObjects("${KERNELDIR}/${SGEMMDIRECTPERFORMANT}" "" "gemm_direct_performant" false "" "" false SINGLE) | GenerateNamedObjects("${KERNELDIR}/${SGEMMDIRECTPERFORMANT}" "" "gemm_direct_performant" false "" "" false SINGLE) | ||||
| endif() | endif() | ||||
| foreach (float_type SINGLE DOUBLE HALF) | |||||
| foreach (float_type SINGLE DOUBLE BFLOAT16) | |||||
| string(SUBSTRING ${float_type} 0 1 float_char) | string(SUBSTRING ${float_type} 0 1 float_char) | ||||
| if (${float_type} STREQUAL "HALF") | |||||
| if (NOT ${BUILD_HALF}) | |||||
| if (${float_type} STREQUAL "BFLOAT16") | |||||
| if (NOT ${BUILD_BFLOAT16}) | |||||
| continue () | continue () | ||||
| else () | else () | ||||
| set (float_char "SH") | |||||
| set (float_char "SB") | |||||
| endif () | endif () | ||||
| endif () | endif () | ||||
| GenerateNamedObjects("${KERNELDIR}/${${float_char}GEMMKERNEL}" "" "gemm_kernel" false "" "" false ${float_type}) | GenerateNamedObjects("${KERNELDIR}/${${float_char}GEMMKERNEL}" "" "gemm_kernel" false "" "" false ${float_type}) | ||||
| @@ -254,8 +254,8 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS) | |||||
| foreach (float_type ${FLOAT_TYPES}) | foreach (float_type ${FLOAT_TYPES}) | ||||
| string(SUBSTRING ${float_type} 0 1 float_char) | string(SUBSTRING ${float_type} 0 1 float_char) | ||||
| if (${float_type} STREQUAL "HALF") | |||||
| set (float_char "SH") | |||||
| if (${float_type} STREQUAL "BFLOAT16") | |||||
| set (float_char "SB") | |||||
| endif () | endif () | ||||
| if (${float_char}GEMMINCOPY) | if (${float_char}GEMMINCOPY) | ||||
| GenerateNamedObjects("${KERNELDIR}/${${float_char}GEMMINCOPY}" "${float_type}" "${${float_char}GEMMINCOPYOBJ}" false "" "" true ${float_type}) | GenerateNamedObjects("${KERNELDIR}/${${float_char}GEMMINCOPY}" "${float_type}" "${${float_char}GEMMINCOPYOBJ}" false "" "" true ${float_type}) | ||||
| @@ -620,8 +620,8 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS) | |||||
| # Makefile.LA | # Makefile.LA | ||||
| if(NOT NO_LAPACK) | if(NOT NO_LAPACK) | ||||
| foreach (float_type ${FLOAT_TYPES}) | foreach (float_type ${FLOAT_TYPES}) | ||||
| if (${float_type} STREQUAL "HALF") | |||||
| set (float_char "SH") | |||||
| if (${float_type} STREQUAL "BFLOAT16") | |||||
| set (float_char "SB") | |||||
| endif () | endif () | ||||
| if (NOT DEFINED ${float_char}NEG_TCOPY) | if (NOT DEFINED ${float_char}NEG_TCOPY) | ||||
| if (${float_char} STREQUAL "Z" OR ${float_char} STREQUAL "C" OR ${float_char} STREQUAL "X") | if (${float_char} STREQUAL "Z" OR ${float_char} STREQUAL "C" OR ${float_char} STREQUAL "X") | ||||
| @@ -688,8 +688,8 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS) | |||||
| foreach (float_type ${FLOAT_TYPES}) | foreach (float_type ${FLOAT_TYPES}) | ||||
| # a bit of metaprogramming here to pull out the appropriate KERNEL var | # a bit of metaprogramming here to pull out the appropriate KERNEL var | ||||
| string(SUBSTRING ${float_type} 0 1 float_char) | string(SUBSTRING ${float_type} 0 1 float_char) | ||||
| if (${float_type} STREQUAL "HALF") | |||||
| set (float_char "SH") | |||||
| if (${float_type} STREQUAL "BFLOAT16") | |||||
| set (float_char "SB") | |||||
| endif () | endif () | ||||
| GenerateNamedObjects("generic/neg_tcopy_${${float_char}GEMM_UNROLL_M}.c" "" "neg_tcopy" false "" ${TSUFFIX} false ${float_type}) | GenerateNamedObjects("generic/neg_tcopy_${${float_char}GEMM_UNROLL_M}.c" "" "neg_tcopy" false "" ${TSUFFIX} false ${float_type}) | ||||
| GenerateNamedObjects("generic/laswp_ncopy_${${float_char}GEMM_UNROLL_N}.c" "" "laswp_ncopy" false "" ${TSUFFIX} false ${float_type}) | GenerateNamedObjects("generic/laswp_ncopy_${${float_char}GEMM_UNROLL_N}.c" "" "laswp_ncopy" false "" ${TSUFFIX} false ${float_type}) | ||||
| @@ -262,9 +262,9 @@ ifndef XDOTKERNEL | |||||
| XDOTKERNEL = zdot.S | XDOTKERNEL = zdot.S | ||||
| endif | endif | ||||
| ifeq ($(BUILD_HALF),1) | |||||
| ifndef SHDOTKERNEL | |||||
| SHDOTKERNEL = ../x86_64/shdot.c | |||||
| ifeq ($(BUILD_BFLOAT16),1) | |||||
| ifndef SBDOTKERNEL | |||||
| SBDOTKERNEL = ../x86_64/sbdot.c | |||||
| endif | endif | ||||
| ifndef TOBF16KERNEL | ifndef TOBF16KERNEL | ||||
| @@ -530,11 +530,11 @@ XBLASOBJS += \ | |||||
| xdotc_k$(TSUFFIX).$(SUFFIX) xdotu_k$(TSUFFIX).$(SUFFIX) xnrm2_k$(TSUFFIX).$(SUFFIX) xqrot_k$(TSUFFIX).$(SUFFIX) \ | xdotc_k$(TSUFFIX).$(SUFFIX) xdotu_k$(TSUFFIX).$(SUFFIX) xnrm2_k$(TSUFFIX).$(SUFFIX) xqrot_k$(TSUFFIX).$(SUFFIX) \ | ||||
| xscal_k$(TSUFFIX).$(SUFFIX) xswap_k$(TSUFFIX).$(SUFFIX) xsum_k$(TSUFFIX).$(SUFFIX) | xscal_k$(TSUFFIX).$(SUFFIX) xswap_k$(TSUFFIX).$(SUFFIX) xsum_k$(TSUFFIX).$(SUFFIX) | ||||
| ifeq ($(BUILD_HALF),1) | |||||
| ifeq ($(BUILD_BFLOAT16),1) | |||||
| SHBLASOBJS += \ | SHBLASOBJS += \ | ||||
| shdot_k$(TSUFFIX).$(SUFFIX) | |||||
| sbdot_k$(TSUFFIX).$(SUFFIX) | |||||
| SHEXTOBJS += \ | SHEXTOBJS += \ | ||||
| shstobf16_k$(TSUFFIX).$(SUFFIX) shdtobf16_k$(TSUFFIX).$(SUFFIX) | |||||
| sbstobf16_k$(TSUFFIX).$(SUFFIX) sbdtobf16_k$(TSUFFIX).$(SUFFIX) | |||||
| SHEXTOBJS += \ | SHEXTOBJS += \ | ||||
| sbf16tos_k$(TSUFFIX).$(SUFFIX) dbf16tod_k$(TSUFFIX).$(SUFFIX) | sbf16tos_k$(TSUFFIX).$(SUFFIX) dbf16tod_k$(TSUFFIX).$(SUFFIX) | ||||
| endif | endif | ||||
| @@ -757,12 +757,12 @@ $(KDIR)ddot_k$(TSUFFIX).$(SUFFIX) $(KDIR)ddot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNEL | |||||
| $(KDIR)qdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)qdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QDOTKERNEL) | $(KDIR)qdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)qdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QDOTKERNEL) | ||||
| $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE $< -o $@ | $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE $< -o $@ | ||||
| ifeq ($(BUILD_HALF),1) | |||||
| $(KDIR)shdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)shdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SHDOTKERNEL) | |||||
| ifeq ($(BUILD_BFLOAT16),1) | |||||
| $(KDIR)sbdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)sbdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SBDOTKERNEL) | |||||
| $(CC) -c $(CFLAGS) -UCOMPLEX $< -o $@ | $(CC) -c $(CFLAGS) -UCOMPLEX $< -o $@ | ||||
| $(KDIR)shstobf16_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(TOBF16KERNEL) | |||||
| $(KDIR)sbstobf16_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(TOBF16KERNEL) | |||||
| $(CC) -c $(CFLAGS) -UDOUBLE -DSINGLE $< -o $@ | $(CC) -c $(CFLAGS) -UDOUBLE -DSINGLE $< -o $@ | ||||
| $(KDIR)shdtobf16_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(TOBF16KERNEL) | |||||
| $(KDIR)sbdtobf16_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(TOBF16KERNEL) | |||||
| $(CC) -c $(CFLAGS) -DDOUBLE -USINGLE $< -o $@ | $(CC) -c $(CFLAGS) -DDOUBLE -USINGLE $< -o $@ | ||||
| $(KDIR)sbf16tos_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(BF16TOKERNEL) | $(KDIR)sbf16tos_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(BF16TOKERNEL) | ||||
| $(CC) -c $(CFLAGS) -UDOUBLE -DSINGLE $< -o $@ | $(CC) -c $(CFLAGS) -UDOUBLE -DSINGLE $< -o $@ | ||||
| @@ -80,24 +80,24 @@ SGEMMDIRECTPERFORMANT = sgemm_direct_performant.c | |||||
| endif | endif | ||||
| endif | endif | ||||
| ifeq ($(BUILD_HALF), 1) | |||||
| ifndef SHGEMMKERNEL | |||||
| SHGEMM_BETA = ../generic/gemm_beta.c | |||||
| SHGEMMKERNEL = ../generic/gemmkernel_2x2.c | |||||
| SHGEMMINCOPY = ../generic/gemm_ncopy_2.c | |||||
| SHGEMMITCOPY = ../generic/gemm_tcopy_2.c | |||||
| SHGEMMONCOPY = ../generic/gemm_ncopy_2.c | |||||
| SHGEMMOTCOPY = ../generic/gemm_tcopy_2.c | |||||
| SHGEMMINCOPYOBJ = shgemm_incopy$(TSUFFIX).$(SUFFIX) | |||||
| SHGEMMITCOPYOBJ = shgemm_itcopy$(TSUFFIX).$(SUFFIX) | |||||
| SHGEMMONCOPYOBJ = shgemm_oncopy$(TSUFFIX).$(SUFFIX) | |||||
| SHGEMMOTCOPYOBJ = shgemm_otcopy$(TSUFFIX).$(SUFFIX) | |||||
| ifeq ($(BUILD_BFLOAT16), 1) | |||||
| ifndef SBGEMMKERNEL | |||||
| SBGEMM_BETA = ../generic/gemm_beta.c | |||||
| SBGEMMKERNEL = ../generic/gemmkernel_2x2.c | |||||
| SBGEMMINCOPY = ../generic/gemm_ncopy_2.c | |||||
| SBGEMMITCOPY = ../generic/gemm_tcopy_2.c | |||||
| SBGEMMONCOPY = ../generic/gemm_ncopy_2.c | |||||
| SBGEMMOTCOPY = ../generic/gemm_tcopy_2.c | |||||
| SBGEMMINCOPYOBJ = sbgemm_incopy$(TSUFFIX).$(SUFFIX) | |||||
| SBGEMMITCOPYOBJ = sbgemm_itcopy$(TSUFFIX).$(SUFFIX) | |||||
| SBGEMMONCOPYOBJ = sbgemm_oncopy$(TSUFFIX).$(SUFFIX) | |||||
| SBGEMMOTCOPYOBJ = sbgemm_otcopy$(TSUFFIX).$(SUFFIX) | |||||
| endif | endif | ||||
| SHKERNELOBJS += \ | SHKERNELOBJS += \ | ||||
| shgemm_kernel$(TSUFFIX).$(SUFFIX) \ | |||||
| $(SHGEMMINCOPYOBJ) $(SHGEMMITCOPYOBJ) \ | |||||
| $(SHGEMMONCOPYOBJ) $(SHGEMMOTCOPYOBJ) | |||||
| sbgemm_kernel$(TSUFFIX).$(SUFFIX) \ | |||||
| $(SBGEMMINCOPYOBJ) $(SBGEMMITCOPYOBJ) \ | |||||
| $(SBGEMMONCOPYOBJ) $(SBGEMMOTCOPYOBJ) | |||||
| endif | endif | ||||
| ifneq "$(or $(BUILD_SINGLE),$(BUILD_DOUBLE),$(BUILD_COMPLEX))" "" | ifneq "$(or $(BUILD_SINGLE),$(BUILD_DOUBLE),$(BUILD_COMPLEX))" "" | ||||
| @@ -149,7 +149,7 @@ XKERNELOBJS += \ | |||||
| $(XGEMMINCOPYOBJ) $(XGEMMITCOPYOBJ) \ | $(XGEMMINCOPYOBJ) $(XGEMMITCOPYOBJ) \ | ||||
| $(XGEMMONCOPYOBJ) $(XGEMMOTCOPYOBJ) | $(XGEMMONCOPYOBJ) $(XGEMMOTCOPYOBJ) | ||||
| ifeq ($(BUILD_HALF),1) | |||||
| ifeq ($(BUILD_BFLOAT16),1) | |||||
| SHBLASOBJS += $(SHKERNELOBJS) | SHBLASOBJS += $(SHKERNELOBJS) | ||||
| endif | endif | ||||
| SBLASOBJS += $(SKERNELOBJS) | SBLASOBJS += $(SKERNELOBJS) | ||||
| @@ -159,8 +159,8 @@ CBLASOBJS += $(CKERNELOBJS) | |||||
| ZBLASOBJS += $(ZKERNELOBJS) | ZBLASOBJS += $(ZKERNELOBJS) | ||||
| XBLASOBJS += $(XKERNELOBJS) | XBLASOBJS += $(XKERNELOBJS) | ||||
| ifeq ($(BUILD_HALF),1) | |||||
| SHBLASOBJS += shgemm_beta$(TSUFFIX).$(SUFFIX) | |||||
| ifeq ($(BUILD_BFLOAT16),1) | |||||
| SHBLASOBJS += sbgemm_beta$(TSUFFIX).$(SUFFIX) | |||||
| endif | endif | ||||
| ifneq "$(or $(BUILD_SINGLE),$(BUILD_DOUBLE))" "" | ifneq "$(or $(BUILD_SINGLE),$(BUILD_DOUBLE))" "" | ||||
| @@ -492,11 +492,11 @@ ZBLASOBJS += \ | |||||
| zgeadd_k$(TSUFFIX).$(SUFFIX) | zgeadd_k$(TSUFFIX).$(SUFFIX) | ||||
| endif | endif | ||||
| ifeq ($(BUILD_HALF), 1) | |||||
| SHGEMMINCOPYOBJ_P = $(SHGEMMINCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | |||||
| SHGEMMITCOPYOBJ_P = $(SHGEMMITCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | |||||
| SHGEMMONCOPYOBJ_P = $(SHGEMMONCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | |||||
| SHGEMMOTCOPYOBJ_P = $(SHGEMMOTCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | |||||
| ifeq ($(BUILD_BFLOAT16), 1) | |||||
| SBGEMMINCOPYOBJ_P = $(SBGEMMINCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | |||||
| SBGEMMITCOPYOBJ_P = $(SBGEMMITCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | |||||
| SBGEMMONCOPYOBJ_P = $(SBGEMMONCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | |||||
| SBGEMMOTCOPYOBJ_P = $(SBGEMMOTCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | |||||
| endif | endif | ||||
| SGEMMINCOPYOBJ_P = $(SGEMMINCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | SGEMMINCOPYOBJ_P = $(SGEMMINCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | ||||
| @@ -524,9 +524,9 @@ XGEMMITCOPYOBJ_P = $(XGEMMITCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | |||||
| XGEMMONCOPYOBJ_P = $(XGEMMONCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | XGEMMONCOPYOBJ_P = $(XGEMMONCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | ||||
| XGEMMOTCOPYOBJ_P = $(XGEMMOTCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | XGEMMOTCOPYOBJ_P = $(XGEMMOTCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX)) | ||||
| ifeq ($(BUILD_HALF),1) | |||||
| $(KDIR)shgemm_beta$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SHGEMM_BETA) | |||||
| $(CC) $(CFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| ifeq ($(BUILD_BFLOAT16),1) | |||||
| $(KDIR)sbgemm_beta$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SBGEMM_BETA) | |||||
| $(CC) $(CFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| endif | endif | ||||
| $(KDIR)sgemm_beta$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SGEMM_BETA) | $(KDIR)sgemm_beta$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SGEMM_BETA) | ||||
| @@ -548,35 +548,35 @@ $(KDIR)xgemm_beta$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(XGEMM_BETA) | |||||
| $(CC) $(CFLAGS) -c -DXDOUBLE -DCOMPLEX $< -o $@ | $(CC) $(CFLAGS) -c -DXDOUBLE -DCOMPLEX $< -o $@ | ||||
| ifeq ($(BUILD_HALF), 1) | |||||
| ifeq ($(BUILD_BFLOAT16), 1) | |||||
| $(KDIR)$(SHGEMMONCOPYOBJ) : $(KERNELDIR)/$(SHGEMMONCOPY) | |||||
| $(CC) $(CFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| $(KDIR)$(SBGEMMONCOPYOBJ) : $(KERNELDIR)/$(SBGEMMONCOPY) | |||||
| $(CC) $(CFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| $(KDIR)$(SHGEMMOTCOPYOBJ) : $(KERNELDIR)/$(SHGEMMOTCOPY) | |||||
| $(KDIR)$(SBGEMMOTCOPYOBJ) : $(KERNELDIR)/$(SBGEMMOTCOPY) | |||||
| ifeq ($(OS), AIX) | ifeq ($(OS), AIX) | ||||
| $(CC) $(CFLAGS) -S -DHALF -UDOUBLE -UCOMPLEX $< -o - > shgemmotcopy.s | |||||
| m4 shgemmotcopy.s > shgemmotcopy_nomacros.s | |||||
| $(CC) $(CFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX shgemmotcopy_nomacros.s -o $@ | |||||
| rm shgemmotcopy.s shgemmotcopy_nomacros.s | |||||
| $(CC) $(CFLAGS) -S -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o - > sbgemmotcopy.s | |||||
| m4 sbgemmotcopy.s > sbgemmotcopy_nomacros.s | |||||
| $(CC) $(CFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX sbgemmotcopy_nomacros.s -o $@ | |||||
| rm sbgemmotcopy.s sbgemmotcopy_nomacros.s | |||||
| else | else | ||||
| $(CC) $(CFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| $(CC) $(CFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| endif | endif | ||||
| ifneq ($(SHGEMM_UNROLL_M), $(SHGEMM_UNROLL_N)) | |||||
| ifneq ($(SBGEMM_UNROLL_M), $(SBGEMM_UNROLL_N)) | |||||
| $(KDIR)$(SHGEMMINCOPYOBJ) : $(KERNELDIR)/$(SHGEMMINCOPY) | |||||
| $(CC) $(CFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| $(KDIR)$(SBGEMMINCOPYOBJ) : $(KERNELDIR)/$(SBGEMMINCOPY) | |||||
| $(CC) $(CFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| $(KDIR)$(SHGEMMITCOPYOBJ) : $(KERNELDIR)/$(SHGEMMITCOPY) | |||||
| $(KDIR)$(SBGEMMITCOPYOBJ) : $(KERNELDIR)/$(SBGEMMITCOPY) | |||||
| ifeq ($(OS), AIX) | ifeq ($(OS), AIX) | ||||
| $(CC) $(CFLAGS) -S -DHALF -UDOUBLE -UCOMPLEX $< -o - > shgemmitcopy.s | |||||
| m4 shgemmitcopy.s > shgemmitcopy_nomacros.s | |||||
| $(CC) $(CFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX shgemmitcopy_nomacros.s -o $@ | |||||
| rm shgemmitcopy.s shgemmitcopy_nomacros.s | |||||
| $(CC) $(CFLAGS) -S -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o - > sbgemmitcopy.s | |||||
| m4 sbgemmitcopy.s > sbgemmitcopy_nomacros.s | |||||
| $(CC) $(CFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX sbgemmitcopy_nomacros.s -o $@ | |||||
| rm sbgemmitcopy.s sbgemmitcopy_nomacros.s | |||||
| else | else | ||||
| $(CC) $(CFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| $(CC) $(CFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| endif | endif | ||||
| endif | endif | ||||
| @@ -746,16 +746,16 @@ $(KDIR)sgemm_direct$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SGEMMDIRECTKERNEL) | |||||
| $(CC) $(CFLAGS) -c -UDOUBLE -UCOMPLEX $< -o $@ | $(CC) $(CFLAGS) -c -UDOUBLE -UCOMPLEX $< -o $@ | ||||
| endif | endif | ||||
| ifeq ($(BUILD_HALF), 1) | |||||
| ifeq ($(BUILD_BFLOAT16), 1) | |||||
| $(KDIR)shgemm_kernel$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SHGEMMKERNEL) $(SHGEMMDEPEND) | |||||
| $(KDIR)sbgemm_kernel$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SBGEMMKERNEL) $(SBGEMMDEPEND) | |||||
| ifeq ($(OS), AIX) | ifeq ($(OS), AIX) | ||||
| $(CC) $(CFLAGS) -S -DHALF -UDOUBLE -UCOMPLEX $< -o - > shgemm_kernel$(TSUFFIX).s | |||||
| m4 shgemm_kernel$(TSUFFIX).s > shgemm_kernel$(TSUFFIX)_nomacros.s | |||||
| $(CC) $(CFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX shgemm_kernel$(TSUFFIX)_nomacros.s -o $@ | |||||
| rm shgemm_kernel$(TSUFFIX).s shgemm_kernel$(TSUFFIX)_nomacros.s | |||||
| $(CC) $(CFLAGS) -S -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o - > sbgemm_kernel$(TSUFFIX).s | |||||
| m4 sbgemm_kernel$(TSUFFIX).s > sbgemm_kernel$(TSUFFIX)_nomacros.s | |||||
| $(CC) $(CFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX sbgemm_kernel$(TSUFFIX)_nomacros.s -o $@ | |||||
| rm sbgemm_kernel$(TSUFFIX).s sbgemm_kernel$(TSUFFIX)_nomacros.s | |||||
| else | else | ||||
| $(CC) $(CFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| $(CC) $(CFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| endif | endif | ||||
| endif | endif | ||||
| @@ -2375,9 +2375,9 @@ $(KDIR)xtrsm_oltncopy$(TSUFFIX).$(SUFFIX) : generic/ztrsm_ltcopy_$(XGEMM_UNROLL_ | |||||
| $(KDIR)sgemm_beta$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SGEMM_BETA) | $(KDIR)sgemm_beta$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SGEMM_BETA) | ||||
| $(CC) $(PFLAGS) -c -UDOUBLE -UCOMPLEX $< -o $@ | $(CC) $(PFLAGS) -c -UDOUBLE -UCOMPLEX $< -o $@ | ||||
| ifeq ($(BUILD_HALF),1) | |||||
| $(KDIR)shgemm_beta$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SHGEMM_BETA) | |||||
| $(CC) $(PFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| ifeq ($(BUILD_BFLOAT16),1) | |||||
| $(KDIR)sbgemm_beta$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SBGEMM_BETA) | |||||
| $(CC) $(PFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| endif | endif | ||||
| $(KDIR)dgemm_beta$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DGEMM_BETA) | $(KDIR)dgemm_beta$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DGEMM_BETA) | ||||
| @@ -2396,19 +2396,19 @@ $(KDIR)xgemm_beta$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGEMM_BETA) | |||||
| $(CC) $(PFLAGS) -c -DXDOUBLE -DCOMPLEX $< -o $@ | $(CC) $(PFLAGS) -c -DXDOUBLE -DCOMPLEX $< -o $@ | ||||
| ifeq ($(BUILD_HALF), 1) | |||||
| $(SHGEMMONCOPYOBJ_P) : $(KERNELDIR)/$(SHGEMMONCOPY) | |||||
| $(CC) $(PFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| ifeq ($(BUILD_BFLOAT16), 1) | |||||
| $(SBGEMMONCOPYOBJ_P) : $(KERNELDIR)/$(SBGEMMONCOPY) | |||||
| $(CC) $(PFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| $(SHGEMMOTCOPYOBJ_P) : $(KERNELDIR)/$(SHGEMMOTCOPY) | |||||
| $(CC) $(PFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| $(SBGEMMOTCOPYOBJ_P) : $(KERNELDIR)/$(SBGEMMOTCOPY) | |||||
| $(CC) $(PFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| ifneq ($(SHGEMM_UNROLL_M), $(SHGEMM_UNROLL_N)) | |||||
| $(SHGEMMINCOPYOBJ_P) : $(KERNELDIR)/$(SHGEMMINCOPY) | |||||
| $(CC) $(PFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| ifneq ($(SBGEMM_UNROLL_M), $(SBGEMM_UNROLL_N)) | |||||
| $(SBGEMMINCOPYOBJ_P) : $(KERNELDIR)/$(SBGEMMINCOPY) | |||||
| $(CC) $(PFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| $(SHGEMMITCOPYOBJ_P) : $(KERNELDIR)/$(SHGEMMITCOPY) | |||||
| $(CC) $(PFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| $(SBGEMMITCOPYOBJ_P) : $(KERNELDIR)/$(SBGEMMITCOPY) | |||||
| $(CC) $(PFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| endif | endif | ||||
| endif | endif | ||||
| @@ -2518,9 +2518,9 @@ endif | |||||
| endif | endif | ||||
| ifeq ($(BUILD_HALF), 1) | |||||
| $(KDIR)shgemm_kernel$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SHGEMMKERNEL) $(SHGEMMDEPEND) | |||||
| $(CC) $(PFLAGS) -c -DHALF -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| ifeq ($(BUILD_BFLOAT16), 1) | |||||
| $(KDIR)sbgemm_kernel$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SBGEMMKERNEL) $(SBGEMMDEPEND) | |||||
| $(CC) $(PFLAGS) -c -DBFLOAT16 -UDOUBLE -UCOMPLEX $< -o $@ | |||||
| endif | endif | ||||
| $(KDIR)sgemm_kernel$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SGEMMKERNEL) $(SGEMMDEPEND) | $(KDIR)sgemm_kernel$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SGEMMKERNEL) $(SGEMMDEPEND) | ||||
| @@ -53,32 +53,32 @@ gotoblas_t TABLE_NAME = { | |||||
| GEMM_DEFAULT_OFFSET_A, GEMM_DEFAULT_OFFSET_B, GEMM_DEFAULT_ALIGN, | GEMM_DEFAULT_OFFSET_A, GEMM_DEFAULT_OFFSET_B, GEMM_DEFAULT_ALIGN, | ||||
| #ifdef BUILD_HALF | |||||
| #ifdef BUILD_BFLOAT16 | |||||
| 0, 0, 0, | 0, 0, 0, | ||||
| SHGEMM_DEFAULT_UNROLL_M, SHGEMM_DEFAULT_UNROLL_N, | |||||
| #ifdef SHGEMM_DEFAULT_UNROLL_MN | |||||
| SHGEMM_DEFAULT_UNROLL_MN, | |||||
| SBGEMM_DEFAULT_UNROLL_M, SBGEMM_DEFAULT_UNROLL_N, | |||||
| #ifdef SBGEMM_DEFAULT_UNROLL_MN | |||||
| SBGEMM_DEFAULT_UNROLL_MN, | |||||
| #else | #else | ||||
| MAX(SHGEMM_DEFAULT_UNROLL_M, SHGEMM_DEFAULT_UNROLL_N), | |||||
| MAX(SBGEMM_DEFAULT_UNROLL_M, SBGEMM_DEFAULT_UNROLL_N), | |||||
| #endif | #endif | ||||
| shstobf16_kTS, shdtobf16_kTS, sbf16tos_kTS, dbf16tod_kTS, | |||||
| sbstobf16_kTS, sbdtobf16_kTS, sbf16tos_kTS, dbf16tod_kTS, | |||||
| samax_kTS, samin_kTS, smax_kTS, smin_kTS, | samax_kTS, samin_kTS, smax_kTS, smin_kTS, | ||||
| isamax_kTS, isamin_kTS, ismax_kTS, ismin_kTS, | isamax_kTS, isamin_kTS, ismax_kTS, ismin_kTS, | ||||
| snrm2_kTS, sasum_kTS, ssum_kTS, scopy_kTS, shdot_kTS, | |||||
| snrm2_kTS, sasum_kTS, ssum_kTS, scopy_kTS, sbdot_kTS, | |||||
| dsdot_kTS, | dsdot_kTS, | ||||
| srot_kTS, saxpy_kTS, sscal_kTS, sswap_kTS, | srot_kTS, saxpy_kTS, sscal_kTS, sswap_kTS, | ||||
| sgemv_nTS, sgemv_tTS, sger_kTS, | sgemv_nTS, sgemv_tTS, sger_kTS, | ||||
| ssymv_LTS, ssymv_UTS, | ssymv_LTS, ssymv_UTS, | ||||
| shgemm_kernelTS, shgemm_betaTS, | |||||
| #if SHGEMM_DEFAULT_UNROLL_M != SHGEMM_DEFAULT_UNROLL_N | |||||
| shgemm_incopyTS, shgemm_itcopyTS, | |||||
| sbgemm_kernelTS, sbgemm_betaTS, | |||||
| #if SBGEMM_DEFAULT_UNROLL_M != SBGEMM_DEFAULT_UNROLL_N | |||||
| sbgemm_incopyTS, sbgemm_itcopyTS, | |||||
| #else | #else | ||||
| shgemm_oncopyTS, shgemm_otcopyTS, | |||||
| sbgemm_oncopyTS, sbgemm_otcopyTS, | |||||
| #endif | #endif | ||||
| shgemm_oncopyTS, shgemm_otcopyTS, | |||||
| sbgemm_oncopyTS, sbgemm_otcopyTS, | |||||
| strsm_kernel_LNTS, strsm_kernel_LTTS, strsm_kernel_RNTS, strsm_kernel_RTTS, | strsm_kernel_LNTS, strsm_kernel_LTTS, strsm_kernel_RNTS, strsm_kernel_RTTS, | ||||
| #if SGEMM_DEFAULT_UNROLL_M != SGEMM_DEFAULT_UNROLL_N | #if SGEMM_DEFAULT_UNROLL_M != SGEMM_DEFAULT_UNROLL_N | ||||
| @@ -830,8 +830,8 @@ gotoblas_t TABLE_NAME = { | |||||
| #if (ARCH_ARM64) | #if (ARCH_ARM64) | ||||
| static void init_parameter(void) { | static void init_parameter(void) { | ||||
| #if (BUILD_HALF) | |||||
| TABLE_NAME.shgemm_p = SHGEMM_DEFAULT_P; | |||||
| #if (BUILD_BFLOAT16) | |||||
| TABLE_NAME.sbgemm_p = SBGEMM_DEFAULT_P; | |||||
| #endif | #endif | ||||
| #if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1) | #if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1) | ||||
| TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P; | TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P; | ||||
| @@ -846,8 +846,8 @@ static void init_parameter(void) { | |||||
| TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P; | TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P; | ||||
| #endif | #endif | ||||
| #if (BUILD_HALF) | |||||
| TABLE_NAME.shgemm_q = SHGEMM_DEFAULT_Q; | |||||
| #if (BUILD_BFLOAT16) | |||||
| TABLE_NAME.sbgemm_q = SBGEMM_DEFAULT_Q; | |||||
| #endif | #endif | ||||
| #if BUILD_SINGLE == 1 | #if BUILD_SINGLE == 1 | ||||
| TABLE_NAME.sgemm_q = SGEMM_DEFAULT_Q; | TABLE_NAME.sgemm_q = SGEMM_DEFAULT_Q; | ||||
| @@ -862,8 +862,8 @@ static void init_parameter(void) { | |||||
| TABLE_NAME.zgemm_q = ZGEMM_DEFAULT_Q; | TABLE_NAME.zgemm_q = ZGEMM_DEFAULT_Q; | ||||
| #endif | #endif | ||||
| #if (BUILD_HALF) | |||||
| TABLE_NAME.shgemm_r = SHGEMM_DEFAULT_R; | |||||
| #if (BUILD_BFLOAT16) | |||||
| TABLE_NAME.sbgemm_r = SBGEMM_DEFAULT_R; | |||||
| #endif | #endif | ||||
| #if BUILD_SINGLE == 1 | #if BUILD_SINGLE == 1 | ||||
| TABLE_NAME.sgemm_r = SGEMM_DEFAULT_R; | TABLE_NAME.sgemm_r = SGEMM_DEFAULT_R; | ||||
| @@ -936,16 +936,16 @@ static void init_parameter(void) { | |||||
| #if (ARCH_POWER) | #if (ARCH_POWER) | ||||
| static void init_parameter(void) { | static void init_parameter(void) { | ||||
| #ifdef BUILD_HALF | |||||
| TABLE_NAME.shgemm_p = SHGEMM_DEFAULT_P; | |||||
| #ifdef BUILD_BFLOAT16 | |||||
| TABLE_NAME.sbgemm_p = SBGEMM_DEFAULT_P; | |||||
| #endif | #endif | ||||
| TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P; | TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P; | ||||
| TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P; | TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P; | ||||
| TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P; | TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P; | ||||
| TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P; | TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P; | ||||
| #ifdef BUILD_HALF | |||||
| TABLE_NAME.shgemm_r = SHGEMM_DEFAULT_R; | |||||
| #ifdef BUILD_BFLOAT16 | |||||
| TABLE_NAME.sbgemm_r = SBGEMM_DEFAULT_R; | |||||
| #endif | #endif | ||||
| TABLE_NAME.sgemm_r = SGEMM_DEFAULT_R; | TABLE_NAME.sgemm_r = SGEMM_DEFAULT_R; | ||||
| TABLE_NAME.dgemm_r = DGEMM_DEFAULT_R; | TABLE_NAME.dgemm_r = DGEMM_DEFAULT_R; | ||||
| @@ -953,8 +953,8 @@ static void init_parameter(void) { | |||||
| TABLE_NAME.zgemm_r = ZGEMM_DEFAULT_R; | TABLE_NAME.zgemm_r = ZGEMM_DEFAULT_R; | ||||
| #ifdef BUILD_HALF | |||||
| TABLE_NAME.shgemm_q = SHGEMM_DEFAULT_Q; | |||||
| #ifdef BUILD_BFLOAT16 | |||||
| TABLE_NAME.sbgemm_q = SBGEMM_DEFAULT_Q; | |||||
| #endif | #endif | ||||
| TABLE_NAME.sgemm_q = SGEMM_DEFAULT_Q; | TABLE_NAME.sgemm_q = SGEMM_DEFAULT_Q; | ||||
| TABLE_NAME.dgemm_q = DGEMM_DEFAULT_Q; | TABLE_NAME.dgemm_q = DGEMM_DEFAULT_Q; | ||||
| @@ -965,16 +965,16 @@ static void init_parameter(void) { | |||||
| #if (ARCH_ZARCH) | #if (ARCH_ZARCH) | ||||
| static void init_parameter(void) { | static void init_parameter(void) { | ||||
| #ifdef BUILD_HALF | |||||
| TABLE_NAME.shgemm_p = SHGEMM_DEFAULT_P; | |||||
| #ifdef BUILD_BFLOAT16 | |||||
| TABLE_NAME.sbgemm_p = SBGEMM_DEFAULT_P; | |||||
| #endif | #endif | ||||
| TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P; | TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P; | ||||
| TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P; | TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P; | ||||
| TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P; | TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P; | ||||
| TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P; | TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P; | ||||
| #ifdef BUILD_HALF | |||||
| TABLE_NAME.shgemm_r = SHGEMM_DEFAULT_R; | |||||
| #ifdef BUILD_BFLOAT16 | |||||
| TABLE_NAME.sbgemm_r = SBGEMM_DEFAULT_R; | |||||
| #endif | #endif | ||||
| TABLE_NAME.sgemm_r = SGEMM_DEFAULT_R; | TABLE_NAME.sgemm_r = SGEMM_DEFAULT_R; | ||||
| TABLE_NAME.dgemm_r = DGEMM_DEFAULT_R; | TABLE_NAME.dgemm_r = DGEMM_DEFAULT_R; | ||||
| @@ -982,8 +982,8 @@ static void init_parameter(void) { | |||||
| TABLE_NAME.zgemm_r = ZGEMM_DEFAULT_R; | TABLE_NAME.zgemm_r = ZGEMM_DEFAULT_R; | ||||
| #ifdef BUILD_HALF | |||||
| TABLE_NAME.shgemm_q = SHGEMM_DEFAULT_Q; | |||||
| #ifdef BUILD_BFLOAT16 | |||||
| TABLE_NAME.sbgemm_q = SBGEMM_DEFAULT_Q; | |||||
| #endif | #endif | ||||
| TABLE_NAME.sgemm_q = SGEMM_DEFAULT_Q; | TABLE_NAME.sgemm_q = SGEMM_DEFAULT_Q; | ||||
| TABLE_NAME.dgemm_q = DGEMM_DEFAULT_Q; | TABLE_NAME.dgemm_q = DGEMM_DEFAULT_Q; | ||||
| @@ -1124,10 +1124,10 @@ static void init_parameter(void) { | |||||
| (void) l2; /* dirty trick to suppress unused variable warning for targets */ | (void) l2; /* dirty trick to suppress unused variable warning for targets */ | ||||
| /* where the GEMM unrolling parameters do not depend on l2 */ | /* where the GEMM unrolling parameters do not depend on l2 */ | ||||
| #ifdef BUILD_HALF | |||||
| TABLE_NAME.shgemm_p = SHGEMM_DEFAULT_P; | |||||
| TABLE_NAME.shgemm_r = SHGEMM_DEFAULT_R; | |||||
| TABLE_NAME.shgemm_q = SHGEMM_DEFAULT_Q; | |||||
| #ifdef BUILD_BFLOAT16 | |||||
| TABLE_NAME.sbgemm_p = SBGEMM_DEFAULT_P; | |||||
| TABLE_NAME.sbgemm_r = SBGEMM_DEFAULT_R; | |||||
| TABLE_NAME.sbgemm_q = SBGEMM_DEFAULT_Q; | |||||
| #endif | #endif | ||||
| #if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1) | #if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1) | ||||
| TABLE_NAME.sgemm_q = SGEMM_DEFAULT_Q; | TABLE_NAME.sgemm_q = SGEMM_DEFAULT_Q; | ||||