Allow compiling only a subset of kernels for specific variable types
This commit is contained in:
parent
a6570108c5
commit
6b6adf8a4a
|
@ -91,7 +91,7 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS)
|
|||
GenerateNamedObjects("${KERNELDIR}/${DSDOTKERNEL}" "DSDOT" "d*dot_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${DSDOTKERNEL}" "DSDOT" "dsdot_k" false "" "" false "SINGLE")
|
||||
|
||||
if (DEFINED BUILD_COMPLEX AND NOT DEFINED BUILD_SINGLE)
|
||||
if ((BUILD_COMPLEX OR BUILD_DOUBLE) AND NOT BUILD_SINGLE)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SAMAXKERNEL}" "USE_ABS" "amax_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SAMINKERNEL}" "USE_ABS;USE_MIN" "amin_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SASUMKERNEL}" "" "asum_k" false "" "" false "SINGLE")
|
||||
|
@ -110,14 +110,14 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS)
|
|||
GenerateNamedObjects("${KERNELDIR}/${ISAMAXKERNEL}" "USE_ABS" "i*amax_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${ISAMINKERNEL}" "USE_ABS;USE_MIN" "i*amin_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SSCALKERNEL}" "" "scal_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SCOPYKERNEL}" "" "copy_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SCOPYKERNEL}" "C_INTERFACE" "copy_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SSWAPKERNEL}" "" "swap_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SAXPYKERNEL}" "" "axpy_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SNRM2KERNEL}" "" "nrm2_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SDOTKERNEL}" "" "dot_k" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SROTKERNEL}" "" "rot_k" false "" "" false "SINGLE")
|
||||
endif ()
|
||||
if (DEFINED BUILD_COMPLEX16 AND NOT DEFINED BUILD_DOUBLE)
|
||||
if (BUILD_COMPLEX16 AND NOT BUILD_DOUBLE)
|
||||
GenerateNamedObjects("${KERNELDIR}/${DAMAXKERNEL}" "USE_ABS" "amax_k" false "" "" false "DOUBLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${DAMINKERNEL}" "USE_ABS;USE_MIN" "amin_k" false "" "" false "DOUBLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${DASUMKERNEL}" "" "asum_k" false "" "" false "DOUBLE")
|
||||
|
@ -177,11 +177,11 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS)
|
|||
GenerateNamedObjects("${KERNELDIR}/${${float_char}GEMVTKERNEL}" "TRANS" "gemv_t" false "" "" false ${float_type})
|
||||
endif ()
|
||||
endforeach ()
|
||||
if (DEFINED BUILD_COMPLEX16 AND NOT DEFINED BUILD_DOUBLE)
|
||||
if (BUILD_COMPLEX16 AND NOT BUILD_DOUBLE)
|
||||
GenerateNamedObjects("${KERNELDIR}/${DGEMVNKERNEL}" "" "gemv_n" false "" "" false "DOUBLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${DGEMVTKERNEL}" "TRANS" "gemv_t" false "" "" false "DOUBLE")
|
||||
endif ()
|
||||
if (DEFINED BUILD_COMPLEX AND NOT DEFINED BUILD_SINGLE)
|
||||
if (BUILD_COMPLEX AND NOT BUILD_SINGLE)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMVNKERNEL}" "" "gemv_n" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMVTKERNEL}" "TRANS" "gemv_t" false "" "" false "SINGLE")
|
||||
endif ()
|
||||
|
@ -219,7 +219,7 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS)
|
|||
endif ()
|
||||
GenerateNamedObjects("${KERNELDIR}/${${float_char}GEMMKERNEL}" "" "gemm_kernel" false "" "" false ${float_type})
|
||||
endforeach()
|
||||
if (DEFINED BUILD_COMPLEX16 AND NOT DEFINED BUILD_DOUBLE)
|
||||
if (BUILD_COMPLEX16 AND NOT BUILD_DOUBLE)
|
||||
GenerateNamedObjects("${KERNELDIR}/${DGEMMKERNEL}" "" "gemm_kernel" false "" "" false "DOUBLE")
|
||||
if (DGEMMINCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${DGEMMINCOPY}" "DOUBLE" "${DGEMMINCOPYOBJ}" false "" "" true "DOUBLE")
|
||||
|
@ -235,19 +235,19 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS)
|
|||
endif ()
|
||||
GenerateNamedObjects("${KERNELDIR}/${DGEMM_BETA}" "" "gemm_beta" false "" "" false "DOUBLE")
|
||||
endif ()
|
||||
if (DEFINED BUILD_COMPLEX AND NOT DEFINED BUILD_SINGLE)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMKERNEL}" "" "gemm_kernel" false "" "" false "DOUBLE")
|
||||
if ((BUILD_DOUBLE OR BUILD_COMPLEX) AND NOT BUILD_SINGLE)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMKERNEL}" "" "gemm_kernel" false "" "" false "SINGLE")
|
||||
if (SGEMMINCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMINCOPY}" "DOUBLE" "${SGEMMINCOPYOBJ}" false "" "" true "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMINCOPY}" "SINGLE" "${SGEMMINCOPYOBJ}" false "" "" true "SINGLE")
|
||||
endif ()
|
||||
if (SGEMMITCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMITCOPY}" "DOUBLE" "${SGEMMITCOPYOBJ}" false "" "" true "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMITCOPY}" "SINGLE" "${SGEMMITCOPYOBJ}" false "" "" true "SINGLE")
|
||||
endif ()
|
||||
if (SGEMMONCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMONCOPY}" "DOUBLE" "${SGEMMONCOPYOBJ}" false "" "" true "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMONCOPY}" "SINGLE" "${SGEMMONCOPYOBJ}" false "" "" true "SINGLE")
|
||||
endif ()
|
||||
if (SGEMMOTCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMOTCOPY}" "DOUBLE" "${SGEMMOTCOPYOBJ}" false "" "" true "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMOTCOPY}" "SINGLE" "${SGEMMOTCOPYOBJ}" false "" "" true "SINGLE")
|
||||
endif ()
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMM_BETA}" "" "gemm_beta" false "" "" false "SINGLE")
|
||||
endif ()
|
||||
|
@ -591,7 +591,31 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS)
|
|||
#geadd
|
||||
GenerateNamedObjects("${KERNELDIR}/${${float_char}GEADD_KERNEL}" "" "geadd_k" false "" "" false ${float_type})
|
||||
endforeach ()
|
||||
if (BUILD_DOUBLE AND NOT BUILD_SINGLE)
|
||||
GenerateNamedObjects("${KERNELDIR}/${STRSMKERNEL_LN}" "UPPER;LN;TRSMKERNEL" "trsm_kernel_LN" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${STRSMKERNEL_LT}" "LT;TRSMKERNEL" "trsm_kernel_LT" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${STRSMKERNEL_RN}" "UPPER;RN;TRSMKERNEL" "trsm_kernel_RN" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${STRSMKERNEL_RT}" "RT;TRSMKERNEL" "trsm_kernel_RT" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_uncopy_${SGEMM_UNROLL_M}.c" "UNIT" "trsm_iunucopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_uncopy_${SGEMM_UNROLL_M}.c" "" "trsm_iunncopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_uncopy_${SGEMM_UNROLL_N}.c" "OUTER;UNIT" "trsm_ounucopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_uncopy_${SGEMM_UNROLL_N}.c" "OUTER" "trsm_ounncopy" false "" "" false "SINGLE")
|
||||
|
||||
GenerateNamedObjects("generic/trsm_lncopy_${SGEMM_UNROLL_M}.c" "LOWER;UNIT" "trsm_ilnucopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_lncopy_${SGEMM_UNROLL_M}.c" "LOWER" "trsm_ilnncopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_lncopy_${SGEMM_UNROLL_N}.c" "OUTER;LOWER;UNIT" "trsm_olnucopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_lncopy_${SGEMM_UNROLL_N}.c" "OUTER;LOWER" "trsm_olnncopy" false "" "" false "SINGLE")
|
||||
|
||||
GenerateNamedObjects("generic/trsm_utcopy_${SGEMM_UNROLL_M}.c" "UNIT" "trsm_iutucopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_utcopy_${SGEMM_UNROLL_M}.c" "" "trsm_iutncopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_utcopy_${SGEMM_UNROLL_N}.c" "OUTER;UNIT" "trsm_outucopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_utcopy_${SGEMM_UNROLL_N}.c" "OUTER" "trsm_outncopy" false "" "" false "SINGLE")
|
||||
|
||||
GenerateNamedObjects("generic/trsm_ltcopy_${SGEMM_UNROLL_M}.c" "LOWER;UNIT" "trsm_iltucopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_ltcopy_${SGEMM_UNROLL_M}.c" "LOWER" "trsm_iltncopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_ltcopy_${SGEMM_UNROLL_N}.c" "OUTER;LOWER;UNIT" "trsm_oltucopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_ltcopy_${SGEMM_UNROLL_N}.c" "OUTER;LOWER" "trsm_oltncopy" false "" "" false "SINGLE")
|
||||
endif ()
|
||||
|
||||
# Makefile.LA
|
||||
if(NOT NO_LAPACK)
|
||||
|
@ -618,6 +642,28 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS)
|
|||
GenerateNamedObjects("${KERNELDIR}/${${float_char}NEG_TCOPY}_${${float_char}GEMM_UNROLL_M}" "" "neg_tcopy" false "" "" false ${float_type})
|
||||
GenerateNamedObjects("${KERNELDIR}/${${float_char}LASWP_NCOPY}_${${float_char}GEMM_UNROLL_N}" "" "laswp_ncopy" false "" "" false ${float_type})
|
||||
endforeach()
|
||||
if (BUILD_COMPLEX AND NOT BUILD_SINGLE)
|
||||
if (NOT DEFINED SNEG_TCOPY)
|
||||
set(SNEG_TCOPY ../generic/neg_tcopy.c)
|
||||
endif ()
|
||||
|
||||
if (NOT DEFINED SLASWP_NCOPY)
|
||||
set(SLASWP_NCOPY ../generic/laswp_ncopy.c)
|
||||
endif ()
|
||||
GenerateNamedObjects("${KERNELDIR}/${SNEG_TCOPY}_${SGEMM_UNROLL_M}" "" "neg_tcopy" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SLASWP_NCOPY}_${SGEMM_UNROLL_N}" "" "laswp_ncopy" false "" "" false "SINGLE")
|
||||
endif()
|
||||
if (BUILD_COMPLEX16 AND NOT BUILD_DOUBLE)
|
||||
if (NOT DEFINED DNEG_TCOPY)
|
||||
set(DNEG_TCOPY ../generic/neg_tcopy.c)
|
||||
endif ()
|
||||
|
||||
if (NOT DEFINED DLASWP_NCOPY)
|
||||
set(DLASWP_NCOPY ../generic/laswp_ncopy.c)
|
||||
endif ()
|
||||
GenerateNamedObjects("${KERNELDIR}/${DNEG_TCOPY}_${DGEMM_UNROLL_M}" "" "neg_tcopy" false "" "" false "DOUBLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${DLASWP_NCOPY}_${DGEMM_UNROLL_N}" "" "laswp_ncopy" false "" "" false "DOUBLE")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (${DYNAMIC_ARCH})
|
||||
|
@ -649,8 +695,147 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS)
|
|||
GenerateNamedObjects("generic/laswp_ncopy_${${float_char}GEMM_UNROLL_N}.c" "" "laswp_ncopy" false "" ${TSUFFIX} false ${float_type})
|
||||
endforeach ()
|
||||
|
||||
|
||||
if (BUILD_COMPLEX AND NOT BUILD_SINGLE)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMVNKERNEL}" "" "gemv_n" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMVTKERNEL}" "TRANS" "gemv_t" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("generic/neg_tcopy_${SGEMM_UNROLL_M}.c" "" "neg_tcopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/laswp_ncopy_${SGEMM_UNROLL_N}.c" "" "laswp_ncopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
endif ()
|
||||
if (BUILD_DOUBLE AND NOT BUILD_SINGLE)
|
||||
GenerateNamedObjects("generic/neg_tcopy_${SGEMM_UNROLL_M}.c" "" "neg_tcopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/laswp_ncopy_${SGEMM_UNROLL_N}.c" "" "laswp_ncopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${STRSMKERNEL_LN}" "UPPER;LN;TRSMKERNEL" "trsm_kernel_LN" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${STRSMKERNEL_LT}" "LT;TRSMKERNEL" "trsm_kernel_LT" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${STRSMKERNEL_RN}" "UPPER;RN;TRSMKERNEL" "trsm_kernel_RN" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${STRSMKERNEL_RT}" "RT;TRSMKERNEL" "trsm_kernel_RT" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_uncopy_${SGEMM_UNROLL_M}.c" "UNIT" "trsm_iunucopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_uncopy_${SGEMM_UNROLL_M}.c" "" "trsm_iunncopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_uncopy_${SGEMM_UNROLL_N}.c" "OUTER;UNIT" "trsm_ounucopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_uncopy_${SGEMM_UNROLL_N}.c" "OUTER" "trsm_ounncopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
|
||||
GenerateNamedObjects("generic/trsm_lncopy_${SGEMM_UNROLL_M}.c" "LOWER;UNIT" "trsm_ilnucopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_lncopy_${SGEMM_UNROLL_M}.c" "LOWER" "trsm_ilnncopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_lncopy_${SGEMM_UNROLL_N}.c" "OUTER;LOWER;UNIT" "trsm_olnucopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_lncopy_${SGEMM_UNROLL_N}.c" "OUTER;LOWER" "trsm_olnncopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
|
||||
GenerateNamedObjects("generic/trsm_utcopy_${SGEMM_UNROLL_M}.c" "UNIT" "trsm_iutucopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_utcopy_${SGEMM_UNROLL_M}.c" "" "trsm_iutncopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_utcopy_${SGEMM_UNROLL_N}.c" "OUTER;UNIT" "trsm_outucopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_utcopy_${SGEMM_UNROLL_N}.c" "OUTER" "trsm_outncopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
|
||||
GenerateNamedObjects("generic/trsm_ltcopy_${SGEMM_UNROLL_M}.c" "LOWER;UNIT" "trsm_iltucopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_ltcopy_${SGEMM_UNROLL_M}.c" "LOWER" "trsm_iltncopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_ltcopy_${SGEMM_UNROLL_N}.c" "OUTER;LOWER;UNIT" "trsm_oltucopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
GenerateNamedObjects("generic/trsm_ltcopy_${SGEMM_UNROLL_N}.c" "OUTER;LOWER" "trsm_oltncopy" false "" ${TSUFFIX} false "SINGLE")
|
||||
|
||||
if (SGEMMINCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMINCOPY}" "SINGLE" "${SGEMMINCOPYOBJ}" false "" "" true "SINGLE")
|
||||
endif ()
|
||||
if (SGEMMITCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMITCOPY}" "SINGLE" "${SGEMMITCOPYOBJ}" false "" "" true "SINGLE")
|
||||
endif ()
|
||||
if (SGEMMONCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMONCOPY}" "SINGLE" "${SGEMMONCOPYOBJ}" false "" "" true "SINGLE")
|
||||
endif ()
|
||||
if (SGEMMOTCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMMOTCOPY}" "SINGLE" "${SGEMMOTCOPYOBJ}" false "" "" true "SINGLE")
|
||||
endif ()
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMVNKERNEL}" "" "gemv_n" false "" "" false "SINGLE")
|
||||
GenerateNamedObjects("${KERNELDIR}/${SGEMVTKERNEL}" "TRANS" "gemv_t" false "" "" false "SINGLE")
|
||||
endif ()
|
||||
|
||||
if (BUILD_COMPLEX16 AND NOT BUILD_DOUBLE)
|
||||
GenerateNamedObjects("generic/neg_tcopy_${DGEMM_UNROLL_M}.c" "" "neg_tcopy" false "" ${TSUFFIX} false "DOUBLE")
|
||||
GenerateNamedObjects("generic/laswp_ncopy_${DGEMM_UNROLL_N}.c" "" "laswp_ncopy" false "" ${TSUFFIX} false "DOUBLE")
|
||||
endif ()
|
||||
if (BUILD_COMPLEX16 AND NOT BUILD_COMPLEX)
|
||||
GenerateNamedObjects("${KERNELDIR}/${CAMAXKERNEL}" "USE_ABS" "amax_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CAMINKERNEL}" "USE_ABS;USE_MIN" "amin_k" false "" "" false "COMPLEX")
|
||||
if (DEFINED CMAXKERNEL)
|
||||
GenerateNamedObjects("${KERNELDIR}/${CMAXKERNEL}" "" "max_k" false "" "" false "COMPLEX")
|
||||
endif ()
|
||||
if (DEFINED CMINKERNEL)
|
||||
GenerateNamedObjects("${KERNELDIR}/${CMINKERNEL}" "USE_MIN" "min_k" false "" "" false "COMPLEX")
|
||||
endif ()
|
||||
GenerateNamedObjects("${KERNELDIR}/${ICAMAXKERNEL}" "USE_ABS" "i*amax_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${ICAMINKERNEL}" "USE_ABS;USE_MIN" "i*amin_k" false "" "" false "COMPLEX")
|
||||
if (DEFINED ICMAXKERNEL)
|
||||
GenerateNamedObjects("${KERNELDIR}/${ICMAXKERNEL}" "" "i*max_k" false "" "" false "COMPLEX")
|
||||
endif ()
|
||||
if (DEFINED ICMINKERNEL)
|
||||
GenerateNamedObjects("${KERNELDIR}/${ICMINKERNEL}" "USE_MIN" "i*min_k" false "" "" false "COMPLEX")
|
||||
endif ()
|
||||
GenerateNamedObjects("${KERNELDIR}/${CASUMKERNEL}" "" "asum_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CAXPYKERNEL}" "" "axpy_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CCOPYKERNEL}" "C_INTERFACE" "copy_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CNRM2KERNEL}" "" "nrm2_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CROTKERNEL}" "" "rot_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CSCALKERNEL}" "" "scal_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CSWAPKERNEL}" "" "swap_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CAXPBYKERNEL}" "" "axpby_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CSUMKERNEL}" "" "sum_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CAXPYKERNEL}" "CONJ" "axpyc_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CDOTKERNEL}" "" "dotu_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CDOTKERNEL}" "CONJ" "dotc_k" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMVNKERNEL}" "" "gemv_n" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMVTKERNEL}" "TRANSA" "gemv_t" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMVNKERNEL}" "CONJ" "gemv_r" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMVTKERNEL}" "CONJ;TRANSA" "gemv_c" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMVNKERNEL}" "XCONJ" "gemv_o" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMVTKERNEL}" "XCONJ;TRANSA" "gemv_u" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMVNKERNEL}" "XCONJ;CONJ" "gemv_s" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMVTKERNEL}" "XCONJ;CONJ;TRANSA" "gemv_d" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CTRSMKERNEL_LN}" "UPPER;LN;TRSMKERNEL;CONJ" "trsm_kernel_LR" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CTRSMKERNEL_LT}" "LT;TRSMKERNEL;CONJ" "trsm_kernel_LC" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CTRSMKERNEL_RN}" "UPPER;RN;TRSMKERNEL;CONJ" "trsm_kernel_RR" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CTRSMKERNEL_RT}" "RT;TRSMKERNEL;CONJ" "trsm_kernel_RC" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CTRSMKERNEL_LN}" "UPPER;LN;TRSMKERNEL" "trsm_kernel_LN" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CTRSMKERNEL_LT}" "LT;TRSMKERNEL" "trsm_kernel_LT" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CTRSMKERNEL_RN}" "UPPER;RN;TRSMKERNEL" "trsm_kernel_RN" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CTRSMKERNEL_RT}" "RT;TRSMKERNEL" "trsm_kernel_RT" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMMKERNEL}" "NN" "gemm_kernel_n" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMMKERNEL}" "CN" "gemm_kernel_l" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMMKERNEL}" "NC" "gemm_kernel_r" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMMKERNEL}" "CC" "gemm_kernel_b" false "" "" false "COMPLEX")
|
||||
if (CGEMMINCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMMINCOPY}" "COMPLEX" "${CGEMMINCOPYOBJ}" false "" "" true "COMPLEX")
|
||||
endif ()
|
||||
|
||||
if (CGEMMITCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMMITCOPY}" "COMPLEX" "${CGEMMITCOPYOBJ}" false "" "" true "COMPLEX")
|
||||
endif ()
|
||||
|
||||
if (CGEMMONCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMMONCOPY}" "COMPLEX" "${CGEMMONCOPYOBJ}" false "" "" true "COMPLEX")
|
||||
endif ()
|
||||
|
||||
if (CGEMMOTCOPY)
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMMOTCOPY}" "COMPLEX" "${CGEMMOTCOPYOBJ}" false "" "" true "COMPLEX")
|
||||
endif ()
|
||||
GenerateNamedObjects("${KERNELDIR}/${CGEMM_BETA}" "" "gemm_beta" false "" "" false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_uncopy_${CGEMM_UNROLL_M}.c" "UNIT" "trsm_iunucopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_uncopy_${CGEMM_UNROLL_M}.c" "" "trsm_iunncopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_uncopy_${CGEMM_UNROLL_N}.c" "OUTER;UNIT" "trsm_ounucopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_uncopy_${CGEMM_UNROLL_N}.c" "OUTER" "trsm_ounncopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
|
||||
GenerateNamedObjects("generic/ztrsm_lncopy_${CGEMM_UNROLL_M}.c" "LOWER;UNIT" "trsm_ilnucopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_lncopy_${CGEMM_UNROLL_M}.c" "LOWER" "trsm_ilnncopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_lncopy_${CGEMM_UNROLL_N}.c" "OUTER;LOWER;UNIT" "trsm_olnucopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_lncopy_${CGEMM_UNROLL_N}.c" "OUTER;LOWER" "trsm_olnncopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
|
||||
GenerateNamedObjects("generic/ztrsm_utcopy_${CGEMM_UNROLL_M}.c" "UNIT" "trsm_iutucopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_utcopy_${CGEMM_UNROLL_M}.c" "" "trsm_iutncopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_utcopy_${CGEMM_UNROLL_N}.c" "OUTER;UNIT" "trsm_outucopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_utcopy_${CGEMM_UNROLL_N}.c" "OUTER" "trsm_outncopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
|
||||
GenerateNamedObjects("generic/ztrsm_ltcopy_${CGEMM_UNROLL_M}.c" "LOWER;UNIT" "trsm_iltucopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_ltcopy_${CGEMM_UNROLL_M}.c" "LOWER" "trsm_iltncopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_ltcopy_${CGEMM_UNROLL_N}.c" "OUTER;LOWER;UNIT" "trsm_oltucopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/ztrsm_ltcopy_${CGEMM_UNROLL_N}.c" "OUTER;LOWER" "trsm_oltncopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/neg_tcopy_${DGEMM_UNROLL_M}.c" "" "neg_tcopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
GenerateNamedObjects("generic/laswp_ncopy_${DGEMM_UNROLL_N}.c" "" "laswp_ncopy" false "" ${TSUFFIX} false "COMPLEX")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
add_library(kernel${TSUFFIX} OBJECT ${OPENBLAS_SRC})
|
||||
set_target_properties(kernel${TSUFFIX} PROPERTIES COMPILE_FLAGS "${KERNEL_DEFINITIONS}")
|
||||
|
@ -665,7 +850,7 @@ if (${DYNAMIC_ARCH})
|
|||
set(BUILD_KERNEL 1)
|
||||
set(KDIR "")
|
||||
set(TSUFFIX "_${TARGET_CORE}")
|
||||
set(KERNEL_DEFINITIONS "-DBUILD_KERNEL -DTABLE_NAME=gotoblas_${TARGET_CORE} -DTS=${TSUFFIX}")
|
||||
set(KERNEL_DEFINITIONS "-DBUILD_KERNEL -DTABLE_NAME=gotoblas_${TARGET_CORE} -DTS=${TSUFFIX}")
|
||||
build_core("${TARGET_CORE}" "${KDIR}" "${TSUFFIX}" "${KERNEL_DEFINITIONS}")
|
||||
set(ADD_COMMONOBJS 0)
|
||||
endforeach()
|
||||
|
|
|
@ -186,31 +186,46 @@ ifndef XHEMV_M_KERNEL
|
|||
XHEMV_M_KERNEL = ../generic/zhemv_k.c
|
||||
endif
|
||||
|
||||
ifneq "$(or $(BUILD_SINGLE), $(BUILD_DOUBLE), $(BUILD_COMPLEX))" ""
|
||||
SBLASOBJS += \
|
||||
sgemv_n$(TSUFFIX).$(SUFFIX) sgemv_t$(TSUFFIX).$(SUFFIX) ssymv_U$(TSUFFIX).$(SUFFIX) ssymv_L$(TSUFFIX).$(SUFFIX) \
|
||||
sgemv_n$(TSUFFIX).$(SUFFIX) sgemv_t$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
ifeq ($(BUILD_SINGLE),1)
|
||||
SBLASOBJS += \
|
||||
ssymv_U$(TSUFFIX).$(SUFFIX) ssymv_L$(TSUFFIX).$(SUFFIX) \
|
||||
sger_k$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
endif
|
||||
ifeq ($(BUILD_DOUBLE),1)
|
||||
DBLASOBJS += \
|
||||
dgemv_n$(TSUFFIX).$(SUFFIX) dgemv_t$(TSUFFIX).$(SUFFIX) dsymv_U$(TSUFFIX).$(SUFFIX) dsymv_L$(TSUFFIX).$(SUFFIX) \
|
||||
dger_k$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
endif
|
||||
QBLASOBJS += \
|
||||
qgemv_n$(TSUFFIX).$(SUFFIX) qgemv_t$(TSUFFIX).$(SUFFIX) qsymv_U$(TSUFFIX).$(SUFFIX) qsymv_L$(TSUFFIX).$(SUFFIX) \
|
||||
qger_k$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
ifeq ($(BUILD_COMPLEX),1)
|
||||
SBLASOBJS += \
|
||||
sgemv_n$(TSUFFIX).$(SUFFIX) sgemv_t$(TSUFFIX).$(SUFFIX)
|
||||
CBLASOBJS += \
|
||||
cgemv_n$(TSUFFIX).$(SUFFIX) cgemv_t$(TSUFFIX).$(SUFFIX) cgemv_r$(TSUFFIX).$(SUFFIX) cgemv_c$(TSUFFIX).$(SUFFIX) \
|
||||
cgemv_o$(TSUFFIX).$(SUFFIX) cgemv_u$(TSUFFIX).$(SUFFIX) cgemv_s$(TSUFFIX).$(SUFFIX) cgemv_d$(TSUFFIX).$(SUFFIX) \
|
||||
csymv_U$(TSUFFIX).$(SUFFIX) csymv_L$(TSUFFIX).$(SUFFIX) \
|
||||
chemv_U$(TSUFFIX).$(SUFFIX) chemv_L$(TSUFFIX).$(SUFFIX) chemv_V$(TSUFFIX).$(SUFFIX) chemv_M$(TSUFFIX).$(SUFFIX) \
|
||||
cgeru_k$(TSUFFIX).$(SUFFIX) cgerc_k$(TSUFFIX).$(SUFFIX) cgerv_k$(TSUFFIX).$(SUFFIX) cgerd_k$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
endif
|
||||
ifeq ($(BUILD_COMPLEX16),1)
|
||||
CBLASOBJS += \
|
||||
cgemv_n$(TSUFFIX).$(SUFFIX) cgemv_t$(TSUFFIX).$(SUFFIX) cgemv_r$(TSUFFIX).$(SUFFIX) cgemv_c$(TSUFFIX).$(SUFFIX) \
|
||||
cgemv_o$(TSUFFIX).$(SUFFIX) cgemv_u$(TSUFFIX).$(SUFFIX) cgemv_s$(TSUFFIX).$(SUFFIX) cgemv_d$(TSUFFIX).$(SUFFIX)
|
||||
DBLASOBJS += \
|
||||
dgemv_n$(TSUFFIX).$(SUFFIX) dgemv_t$(TSUFFIX).$(SUFFIX)
|
||||
ZBLASOBJS += \
|
||||
zgemv_n$(TSUFFIX).$(SUFFIX) zgemv_t$(TSUFFIX).$(SUFFIX) zgemv_r$(TSUFFIX).$(SUFFIX) zgemv_c$(TSUFFIX).$(SUFFIX) \
|
||||
zgemv_o$(TSUFFIX).$(SUFFIX) zgemv_u$(TSUFFIX).$(SUFFIX) zgemv_s$(TSUFFIX).$(SUFFIX) zgemv_d$(TSUFFIX).$(SUFFIX) \
|
||||
zsymv_U$(TSUFFIX).$(SUFFIX) zsymv_L$(TSUFFIX).$(SUFFIX) \
|
||||
zhemv_U$(TSUFFIX).$(SUFFIX) zhemv_L$(TSUFFIX).$(SUFFIX) zhemv_V$(TSUFFIX).$(SUFFIX) zhemv_M$(TSUFFIX).$(SUFFIX) \
|
||||
zgeru_k$(TSUFFIX).$(SUFFIX) zgerc_k$(TSUFFIX).$(SUFFIX) zgerv_k$(TSUFFIX).$(SUFFIX) zgerd_k$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
XBLASOBJS += \
|
||||
xgemv_n$(TSUFFIX).$(SUFFIX) xgemv_t$(TSUFFIX).$(SUFFIX) xgemv_r$(TSUFFIX).$(SUFFIX) xgemv_c$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -219,17 +234,21 @@ XBLASOBJS += \
|
|||
xhemv_U$(TSUFFIX).$(SUFFIX) xhemv_L$(TSUFFIX).$(SUFFIX) xhemv_V$(TSUFFIX).$(SUFFIX) xhemv_M$(TSUFFIX).$(SUFFIX) \
|
||||
xgeru_k$(TSUFFIX).$(SUFFIX) xgerc_k$(TSUFFIX).$(SUFFIX) xgerv_k$(TSUFFIX).$(SUFFIX) xgerd_k$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
ifneq "$(or $(BUILD_SINGLE), $(BUILD_DOUBLE), $(BUILD_COMPLEX))" ""
|
||||
$(KDIR)sgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)sgemv_n$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
|
||||
$(CC) -c $(CFLAGS) -UDOUBLE -UCOMPLEX -UTRANS $< -o $@
|
||||
|
||||
$(KDIR)sgemv_t$(TSUFFIX).$(SUFFIX) $(KDIR)sgemv_t$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
|
||||
$(CC) -c $(CFLAGS) -UDOUBLE -UCOMPLEX -DTRANS $< -o $@
|
||||
endif
|
||||
|
||||
ifneq "$(or $(BUILD_DOUBLE),$(BUILD_COMPLEX16))" ""
|
||||
$(KDIR)dgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)dgemv_n$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
|
||||
$(CC) -c $(CFLAGS) -DDOUBLE -UCOMPLEX -UTRANS $< -o $@
|
||||
|
||||
$(KDIR)dgemv_t$(TSUFFIX).$(SUFFIX) $(KDIR)dgemv_t$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
|
||||
$(CC) -c $(CFLAGS) -DDOUBLE -UCOMPLEX -DTRANS $< -o $@
|
||||
endif
|
||||
|
||||
$(KDIR)qgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)qgemv_n$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QGEMVNKERNEL)
|
||||
$(CC) -c $(CFLAGS) -DXDOUBLE -UCOMPLEX -UTRANS $< -o $@
|
||||
|
@ -237,6 +256,8 @@ $(KDIR)qgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)qgemv_n$(TSUFFIX).$(PSUFFIX) : $(KER
|
|||
$(KDIR)qgemv_t$(TSUFFIX).$(SUFFIX) $(KDIR)qgemv_t$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QGEMVTKERNEL)
|
||||
$(CC) -c $(CFLAGS) -DXDOUBLE -UCOMPLEX -DTRANS $< -o $@
|
||||
|
||||
|
||||
ifneq "$(or $(BUILD_COMPLEX),$(BUILD_COMPLEX16))" ""
|
||||
$(KDIR)cgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)cgemv_n$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
|
||||
$(CC) -c $(CFLAGS) -UDOUBLE -DCOMPLEX -UTRANS -UCONJ -UXCONJ $< -o $@
|
||||
|
||||
|
@ -260,6 +281,10 @@ $(KDIR)cgemv_s$(TSUFFIX).$(SUFFIX) $(KDIR)cgemv_s$(TSUFFIX).$(PSUFFIX) : $(KERNE
|
|||
|
||||
$(KDIR)cgemv_d$(TSUFFIX).$(SUFFIX) $(KDIR)cgemv_d$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
|
||||
$(CC) -c $(CFLAGS) -UDOUBLE -DCOMPLEX -DTRANS -DCONJ -DXCONJ $< -o $@
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(BUILD_COMPLEX16),1)
|
||||
|
||||
$(KDIR)zgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)zgemv_n$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGEMVNKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
|
||||
$(CC) -c $(CFLAGS) -DDOUBLE -DCOMPLEX -UTRANS -UCONJ -UXCONJ $< -o $@
|
||||
|
@ -284,6 +309,7 @@ $(KDIR)zgemv_s$(TSUFFIX).$(SUFFIX) $(KDIR)zgemv_s$(TSUFFIX).$(PSUFFIX) : $(KERNE
|
|||
|
||||
$(KDIR)zgemv_d$(TSUFFIX).$(SUFFIX) $(KDIR)zgemv_d$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGEMVTKERNEL) $(TOPDIR)/common.h $(GEMVDEP)
|
||||
$(CC) -c $(CFLAGS) -DDOUBLE -DCOMPLEX -DTRANS -DCONJ -DXCONJ $< -o $@
|
||||
endif
|
||||
|
||||
$(KDIR)xgemv_n$(TSUFFIX).$(SUFFIX) $(KDIR)xgemv_n$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGEMVNKERNEL)
|
||||
$(CC) -c $(CFLAGS) -DXDOUBLE -DCOMPLEX -UTRANS -UCONJ -UXCONJ $< -o $@
|
||||
|
@ -309,17 +335,25 @@ $(KDIR)xgemv_s$(TSUFFIX).$(SUFFIX) $(KDIR)xgemv_s$(TSUFFIX).$(PSUFFIX) : $(KERNE
|
|||
$(KDIR)xgemv_d$(TSUFFIX).$(SUFFIX) $(KDIR)xgemv_d$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGEMVTKERNEL)
|
||||
$(CC) -c $(CFLAGS) -DXDOUBLE -DCOMPLEX -DTRANS -DCONJ -DXCONJ $< -o $@
|
||||
|
||||
|
||||
ifeq ($(BUILD_SINGLE),1)
|
||||
|
||||
$(KDIR)ssymv_U$(TSUFFIX).$(SUFFIX) $(KDIR)ssymv_U$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SSYMV_U_KERNEL) $(SSYMV_U_PARAM)
|
||||
$(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -ULOWER $< -o $@
|
||||
|
||||
$(KDIR)ssymv_L$(TSUFFIX).$(SUFFIX) $(KDIR)ssymv_L$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SSYMV_L_KERNEL) $(SSYMV_L_PARAM)
|
||||
$(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -DLOWER $< -o $@
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(BUILD_DOUBLE),1)
|
||||
|
||||
$(KDIR)dsymv_U$(TSUFFIX).$(SUFFIX) $(KDIR)dsymv_U$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DSYMV_U_KERNEL) $(DSYMV_U_PARAM)
|
||||
$(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -ULOWER $< -o $@
|
||||
|
||||
$(KDIR)dsymv_L$(TSUFFIX).$(SUFFIX) $(KDIR)dsymv_L$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DSYMV_L_KERNEL) $(DSYMV_L_PARAM)
|
||||
$(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -DLOWER $< -o $@
|
||||
endif
|
||||
|
||||
$(KDIR)qsymv_U$(TSUFFIX).$(SUFFIX) $(KDIR)qsymv_U$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QSYMV_U_KERNEL)
|
||||
$(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -ULOWER $< -o $@
|
||||
|
@ -327,17 +361,23 @@ $(KDIR)qsymv_U$(TSUFFIX).$(SUFFIX) $(KDIR)qsymv_U$(TSUFFIX).$(PSUFFIX) : $(KER
|
|||
$(KDIR)qsymv_L$(TSUFFIX).$(SUFFIX) $(KDIR)qsymv_L$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QSYMV_L_KERNEL)
|
||||
$(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -DLOWER $< -o $@
|
||||
|
||||
ifeq ($(BUILD_COMPLEX),1)
|
||||
|
||||
$(KDIR)csymv_U$(TSUFFIX).$(SUFFIX) $(KDIR)csymv_U$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CSYMV_U_KERNEL) $(CSYMV_U_PARAM)
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -ULOWER $< -o $@
|
||||
|
||||
$(KDIR)csymv_L$(TSUFFIX).$(SUFFIX) $(KDIR)csymv_L$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CSYMV_L_KERNEL) $(CSYMV_L_PARAM)
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DLOWER $< -o $@
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_COMPLEX16),1)
|
||||
|
||||
$(KDIR)zsymv_U$(TSUFFIX).$(SUFFIX) $(KDIR)zsymv_U$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZSYMV_U_KERNEL) $(ZSYMV_U_PARAM)
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -ULOWER $< -o $@
|
||||
|
||||
$(KDIR)zsymv_L$(TSUFFIX).$(SUFFIX) $(KDIR)zsymv_L$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZSYMV_L_KERNEL) $(ZSYMV_L_PARAM)
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DLOWER $< -o $@
|
||||
endif
|
||||
|
||||
$(KDIR)xsymv_U$(TSUFFIX).$(SUFFIX) $(KDIR)xsymv_U$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XSYMV_U_KERNEL)
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -ULOWER $< -o $@
|
||||
|
@ -345,15 +385,23 @@ $(KDIR)xsymv_U$(TSUFFIX).$(SUFFIX) $(KDIR)xsymv_U$(TSUFFIX).$(PSUFFIX) : $(KER
|
|||
$(KDIR)xsymv_L$(TSUFFIX).$(SUFFIX) $(KDIR)xsymv_L$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XSYMV_L_KERNEL)
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DLOWER $< -o $@
|
||||
|
||||
ifeq ($(BUILD_SINGLE),1)
|
||||
|
||||
$(KDIR)sger_k$(TSUFFIX).$(SUFFIX) $(KDIR)sger_k$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SGERKERNEL) $(SGERPARAM)
|
||||
$(CC) -c $(CFLAGS) -UDOUBLE $< -o $@
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_DOUBLE),1)
|
||||
|
||||
$(KDIR)dger_k$(TSUFFIX).$(SUFFIX) $(KDIR)dger_k$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DGERKERNEL) $(DGERPARAM)
|
||||
$(CC) -c $(CFLAGS) -DDOUBLE $< -o $@
|
||||
endif
|
||||
|
||||
$(KDIR)qger_k$(TSUFFIX).$(SUFFIX) $(KDIR)qger_k$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QGERKERNEL) $(QGERPARAM)
|
||||
$(CC) -c $(CFLAGS) -DXDOUBLE $< -o $@
|
||||
|
||||
ifeq ($(BUILD_COMPLEX),1)
|
||||
|
||||
$(KDIR)cgeru_k$(TSUFFIX).$(SUFFIX) $(KDIR)cgeru_k$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGERUKERNEL) $(CGERPARAM)
|
||||
$(CC) -c $(CFLAGS) -UDOUBLE -UCONJ $< -o $@
|
||||
|
||||
|
@ -365,6 +413,9 @@ $(KDIR)cgerv_k$(TSUFFIX).$(SUFFIX) $(KDIR)cgerv_k$(TSUFFIX).$(PSUFFIX) : $(KER
|
|||
|
||||
$(KDIR)cgerd_k$(TSUFFIX).$(SUFFIX) $(KDIR)cgerd_k$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CGERCKERNEL) $(CGERPARAM)
|
||||
$(CC) -c $(CFLAGS) -UDOUBLE -DCONJ -DXCONJ $< -o $@
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_COMPLEX16),1)
|
||||
|
||||
$(KDIR)zgeru_k$(TSUFFIX).$(SUFFIX) $(KDIR)zgeru_k$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGERUKERNEL) $(ZGERPARAM)
|
||||
$(CC) -c $(CFLAGS) -DDOUBLE -UCONJ $< -o $@
|
||||
|
@ -377,6 +428,7 @@ $(KDIR)zgerv_k$(TSUFFIX).$(SUFFIX) $(KDIR)zgerv_k$(TSUFFIX).$(PSUFFIX) : $(KER
|
|||
|
||||
$(KDIR)zgerd_k$(TSUFFIX).$(SUFFIX) $(KDIR)zgerd_k$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZGERCKERNEL) $(ZGERPARAM)
|
||||
$(CC) -c $(CFLAGS) -DDOUBLE -DCONJ -DXCONJ $< -o $@
|
||||
endif
|
||||
|
||||
$(KDIR)xgeru_k$(TSUFFIX).$(SUFFIX) $(KDIR)xgeru_k$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGERUKERNEL) $(XGERPARAM)
|
||||
$(CC) -c $(CFLAGS) -DXDOUBLE -UCONJ $< -o $@
|
||||
|
@ -390,6 +442,8 @@ $(KDIR)xgerv_k$(TSUFFIX).$(SUFFIX) $(KDIR)xgerv_k$(TSUFFIX).$(PSUFFIX) : $(KER
|
|||
$(KDIR)xgerd_k$(TSUFFIX).$(SUFFIX) $(KDIR)xgerd_k$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XGERCKERNEL) $(XGERPARAM)
|
||||
$(CC) -c $(CFLAGS) -DXDOUBLE -DCONJ -DXCONJ $< -o $@
|
||||
|
||||
ifeq ($(BUILD_COMPLEX),1)
|
||||
|
||||
$(KDIR)chemv_U$(TSUFFIX).$(SUFFIX) $(KDIR)chemv_U$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CHEMV_U_KERNEL) $(CHEMV_U_PARAM)
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -ULOWER -DHEMV $< -o $@
|
||||
|
||||
|
@ -401,6 +455,9 @@ $(KDIR)chemv_V$(TSUFFIX).$(SUFFIX) $(KDIR)chemv_V$(TSUFFIX).$(PSUFFIX) : $(KER
|
|||
|
||||
$(KDIR)chemv_M$(TSUFFIX).$(SUFFIX) $(KDIR)chemv_M$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CHEMV_M_KERNEL) $(CHEMV_L_PARAM) ../symcopy.h
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DLOWER -DHEMV -DHEMVREV $< -o $@
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_COMPLEX16),1)
|
||||
|
||||
$(KDIR)zhemv_U$(TSUFFIX).$(SUFFIX) $(KDIR)zhemv_U$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZHEMV_U_KERNEL) $(ZHEMV_U_PARAM)
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -ULOWER -DHEMV $< -o $@
|
||||
|
@ -413,7 +470,7 @@ $(KDIR)zhemv_V$(TSUFFIX).$(SUFFIX) $(KDIR)zhemv_V$(TSUFFIX).$(PSUFFIX) : $(KER
|
|||
|
||||
$(KDIR)zhemv_M$(TSUFFIX).$(SUFFIX) $(KDIR)zhemv_M$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZHEMV_M_KERNEL) $(ZHEMV_L_PARAM) ../symcopy.h
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DLOWER -DHEMV -DHEMVREV $< -o $@
|
||||
|
||||
endif
|
||||
$(KDIR)xhemv_U$(TSUFFIX).$(SUFFIX) $(KDIR)xhemv_U$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XHEMV_U_KERNEL)
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -ULOWER -DHEMV $< -o $@
|
||||
|
||||
|
@ -426,3 +483,4 @@ $(KDIR)xhemv_V$(TSUFFIX).$(SUFFIX) $(KDIR)xhemv_V$(TSUFFIX).$(PSUFFIX) : $(KER
|
|||
$(KDIR)xhemv_M$(TSUFFIX).$(SUFFIX) $(KDIR)xhemv_M$(TSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XHEMV_M_KERNEL) ../symcopy.h
|
||||
$(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DLOWER -DHEMV -DHEMVREV $< -o $@
|
||||
|
||||
|
||||
|
|
|
@ -100,8 +100,10 @@ SHKERNELOBJS += \
|
|||
$(SHGEMMONCOPYOBJ) $(SHGEMMOTCOPYOBJ)
|
||||
endif
|
||||
|
||||
ifneq "$(or $(BUILD_SINGLE),$(BUILD_DOUBLE),$(BUILD_COMPLEX))" ""
|
||||
SKERNELOBJS += \
|
||||
sgemm_kernel$(TSUFFIX).$(SUFFIX) \
|
||||
sgemm_beta$(TSUFFIX).$(SUFFIX) \
|
||||
$(SGEMMINCOPYOBJ) $(SGEMMITCOPYOBJ) \
|
||||
$(SGEMMONCOPYOBJ) $(SGEMMOTCOPYOBJ)
|
||||
|
||||
|
@ -110,28 +112,36 @@ SKERNELOBJS += \
|
|||
sgemm_direct$(TSUFFIX).$(SUFFIX) \
|
||||
sgemm_direct_performant$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq "$(or $(BUILD_DOUBLE),$(BUILD_COMPLEX16))" ""
|
||||
DKERNELOBJS += \
|
||||
dgemm_beta$(TSUFFIX).$(SUFFIX) \
|
||||
dgemm_kernel$(TSUFFIX).$(SUFFIX) \
|
||||
$(DGEMMINCOPYOBJ) $(DGEMMITCOPYOBJ) \
|
||||
$(DGEMMONCOPYOBJ) $(DGEMMOTCOPYOBJ)
|
||||
endif
|
||||
|
||||
QKERNELOBJS += \
|
||||
qgemm_kernel$(TSUFFIX).$(SUFFIX) \
|
||||
$(QGEMMINCOPYOBJ) $(QGEMMITCOPYOBJ) \
|
||||
$(QGEMMONCOPYOBJ) $(QGEMMOTCOPYOBJ)
|
||||
|
||||
ifneq "$(or $(BUILD_COMPLEX),$(BUILD_COMPLEX16))" ""
|
||||
CKERNELOBJS += \
|
||||
cgemm_kernel_n$(TSUFFIX).$(SUFFIX) cgemm_kernel_r$(TSUFFIX).$(SUFFIX) \
|
||||
cgemm_kernel_l$(TSUFFIX).$(SUFFIX) cgemm_kernel_b$(TSUFFIX).$(SUFFIX) \
|
||||
$(CGEMMINCOPYOBJ) $(CGEMMITCOPYOBJ) \
|
||||
$(CGEMMONCOPYOBJ) $(CGEMMOTCOPYOBJ)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_COMPLEX16),1)
|
||||
ZKERNELOBJS += \
|
||||
zgemm_kernel_n$(TSUFFIX).$(SUFFIX) zgemm_kernel_r$(TSUFFIX).$(SUFFIX) \
|
||||
zgemm_kernel_l$(TSUFFIX).$(SUFFIX) zgemm_kernel_b$(TSUFFIX).$(SUFFIX) \
|
||||
$(ZGEMMINCOPYOBJ) $(ZGEMMITCOPYOBJ) \
|
||||
$(ZGEMMONCOPYOBJ) $(ZGEMMOTCOPYOBJ)
|
||||
endif
|
||||
|
||||
XKERNELOBJS += \
|
||||
xgemm_kernel_n$(TSUFFIX).$(SUFFIX) xgemm_kernel_r$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -153,38 +163,48 @@ ifeq ($(BUILD_HALF),1)
|
|||
SHBLASOBJS += shgemm_beta$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
ifneq "$(or $(BUILD_SINGLE),$(BUILD_DOUBLE))" ""
|
||||
SBLASOBJS += \
|
||||
sgemm_beta$(TSUFFIX).$(SUFFIX) \
|
||||
strmm_kernel_LN$(TSUFFIX).$(SUFFIX) strmm_kernel_LT$(TSUFFIX).$(SUFFIX) \
|
||||
strmm_kernel_RN$(TSUFFIX).$(SUFFIX) strmm_kernel_RT$(TSUFFIX).$(SUFFIX) \
|
||||
strsm_kernel_LN$(TSUFFIX).$(SUFFIX) strsm_kernel_LT$(TSUFFIX).$(SUFFIX) \
|
||||
strsm_kernel_RN$(TSUFFIX).$(SUFFIX) strsm_kernel_RT$(TSUFFIX).$(SUFFIX) \
|
||||
strsm_kernel_RN$(TSUFFIX).$(SUFFIX) strsm_kernel_RT$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_DOUBLE),1)
|
||||
DBLASOBJS += \
|
||||
dgemm_beta$(TSUFFIX).$(SUFFIX) \
|
||||
dtrmm_kernel_LN$(TSUFFIX).$(SUFFIX) dtrmm_kernel_LT$(TSUFFIX).$(SUFFIX) \
|
||||
dtrmm_kernel_RN$(TSUFFIX).$(SUFFIX) dtrmm_kernel_RT$(TSUFFIX).$(SUFFIX) \
|
||||
dtrsm_kernel_LN$(TSUFFIX).$(SUFFIX) dtrsm_kernel_LT$(TSUFFIX).$(SUFFIX) \
|
||||
dtrsm_kernel_RN$(TSUFFIX).$(SUFFIX) dtrsm_kernel_RT$(TSUFFIX).$(SUFFIX) \
|
||||
dtrsm_kernel_RN$(TSUFFIX).$(SUFFIX) dtrsm_kernel_RT$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
QBLASOBJS += \
|
||||
qgemm_beta$(TSUFFIX).$(SUFFIX) \
|
||||
qtrmm_kernel_LN$(TSUFFIX).$(SUFFIX) qtrmm_kernel_LT$(TSUFFIX).$(SUFFIX) \
|
||||
qtrmm_kernel_RN$(TSUFFIX).$(SUFFIX) qtrmm_kernel_RT$(TSUFFIX).$(SUFFIX) \
|
||||
qtrsm_kernel_LN$(TSUFFIX).$(SUFFIX) qtrsm_kernel_LT$(TSUFFIX).$(SUFFIX) \
|
||||
qtrsm_kernel_RN$(TSUFFIX).$(SUFFIX) qtrsm_kernel_RT$(TSUFFIX).$(SUFFIX) \
|
||||
qtrsm_kernel_RN$(TSUFFIX).$(SUFFIX) qtrsm_kernel_RT$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
ifeq ($(BUILD_COMPLEX),1)
|
||||
CBLASOBJS += \
|
||||
cgemm_beta$(TSUFFIX).$(SUFFIX) \
|
||||
ctrmm_kernel_LN$(TSUFFIX).$(SUFFIX) ctrmm_kernel_LT$(TSUFFIX).$(SUFFIX) \
|
||||
ctrmm_kernel_LR$(TSUFFIX).$(SUFFIX) ctrmm_kernel_LC$(TSUFFIX).$(SUFFIX) \
|
||||
ctrmm_kernel_RN$(TSUFFIX).$(SUFFIX) ctrmm_kernel_RT$(TSUFFIX).$(SUFFIX) \
|
||||
ctrmm_kernel_RR$(TSUFFIX).$(SUFFIX) ctrmm_kernel_RC$(TSUFFIX).$(SUFFIX) \
|
||||
ctrmm_kernel_RR$(TSUFFIX).$(SUFFIX) ctrmm_kernel_RC$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
ifneq "$(or $(BUILD_COMPLEX),$(BUILD_COMPLEX16))" ""
|
||||
CBLASOBJS += \
|
||||
cgemm_beta$(TSUFFIX).$(SUFFIX) \
|
||||
ctrsm_kernel_LN$(TSUFFIX).$(SUFFIX) ctrsm_kernel_LT$(TSUFFIX).$(SUFFIX) \
|
||||
ctrsm_kernel_LR$(TSUFFIX).$(SUFFIX) ctrsm_kernel_LC$(TSUFFIX).$(SUFFIX) \
|
||||
ctrsm_kernel_RN$(TSUFFIX).$(SUFFIX) ctrsm_kernel_RT$(TSUFFIX).$(SUFFIX) \
|
||||
ctrsm_kernel_RR$(TSUFFIX).$(SUFFIX) ctrsm_kernel_RC$(TSUFFIX).$(SUFFIX) \
|
||||
ctrsm_kernel_RR$(TSUFFIX).$(SUFFIX) ctrsm_kernel_RC$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_COMPLEX16),1)
|
||||
ZBLASOBJS += \
|
||||
zgemm_beta$(TSUFFIX).$(SUFFIX) \
|
||||
ztrmm_kernel_LN$(TSUFFIX).$(SUFFIX) ztrmm_kernel_LT$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -194,7 +214,8 @@ ZBLASOBJS += \
|
|||
ztrsm_kernel_LN$(TSUFFIX).$(SUFFIX) ztrsm_kernel_LT$(TSUFFIX).$(SUFFIX) \
|
||||
ztrsm_kernel_LR$(TSUFFIX).$(SUFFIX) ztrsm_kernel_LC$(TSUFFIX).$(SUFFIX) \
|
||||
ztrsm_kernel_RN$(TSUFFIX).$(SUFFIX) ztrsm_kernel_RT$(TSUFFIX).$(SUFFIX) \
|
||||
ztrsm_kernel_RR$(TSUFFIX).$(SUFFIX) ztrsm_kernel_RC$(TSUFFIX).$(SUFFIX) \
|
||||
ztrsm_kernel_RR$(TSUFFIX).$(SUFFIX) ztrsm_kernel_RC$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
XBLASOBJS += \
|
||||
xgemm_beta$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -205,7 +226,7 @@ XBLASOBJS += \
|
|||
xtrsm_kernel_LN$(TSUFFIX).$(SUFFIX) xtrsm_kernel_LT$(TSUFFIX).$(SUFFIX) \
|
||||
xtrsm_kernel_LR$(TSUFFIX).$(SUFFIX) xtrsm_kernel_LC$(TSUFFIX).$(SUFFIX) \
|
||||
xtrsm_kernel_RN$(TSUFFIX).$(SUFFIX) xtrsm_kernel_RT$(TSUFFIX).$(SUFFIX) \
|
||||
xtrsm_kernel_RR$(TSUFFIX).$(SUFFIX) xtrsm_kernel_RC$(TSUFFIX).$(SUFFIX) \
|
||||
xtrsm_kernel_RR$(TSUFFIX).$(SUFFIX) xtrsm_kernel_RC$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
ifeq ($(USE_GEMM3M), 1)
|
||||
|
||||
|
@ -215,6 +236,7 @@ XBLASOBJS += xgemm3m_kernel$(TSUFFIX).$(SUFFIX)
|
|||
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_SINGLE),1)
|
||||
SBLASOBJS += \
|
||||
strmm_iunucopy$(TSUFFIX).$(SUFFIX) strmm_iunncopy$(TSUFFIX).$(SUFFIX) \
|
||||
strmm_ilnucopy$(TSUFFIX).$(SUFFIX) strmm_ilnncopy$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -223,7 +245,10 @@ SBLASOBJS += \
|
|||
strmm_ounucopy$(TSUFFIX).$(SUFFIX) strmm_ounncopy$(TSUFFIX).$(SUFFIX) \
|
||||
strmm_olnucopy$(TSUFFIX).$(SUFFIX) strmm_olnncopy$(TSUFFIX).$(SUFFIX) \
|
||||
strmm_outucopy$(TSUFFIX).$(SUFFIX) strmm_outncopy$(TSUFFIX).$(SUFFIX) \
|
||||
strmm_oltucopy$(TSUFFIX).$(SUFFIX) strmm_oltncopy$(TSUFFIX).$(SUFFIX) \
|
||||
strmm_oltucopy$(TSUFFIX).$(SUFFIX) strmm_oltncopy$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
ifneq "$(or $(BUILD_SINGLE),$(BUILD_DOUBLE))" ""
|
||||
SBLASOBJS += \
|
||||
strsm_iunucopy$(TSUFFIX).$(SUFFIX) strsm_iunncopy$(TSUFFIX).$(SUFFIX) \
|
||||
strsm_ilnucopy$(TSUFFIX).$(SUFFIX) strsm_ilnncopy$(TSUFFIX).$(SUFFIX) \
|
||||
strsm_iutucopy$(TSUFFIX).$(SUFFIX) strsm_iutncopy$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -231,10 +256,15 @@ SBLASOBJS += \
|
|||
strsm_ounucopy$(TSUFFIX).$(SUFFIX) strsm_ounncopy$(TSUFFIX).$(SUFFIX) \
|
||||
strsm_olnucopy$(TSUFFIX).$(SUFFIX) strsm_olnncopy$(TSUFFIX).$(SUFFIX) \
|
||||
strsm_outucopy$(TSUFFIX).$(SUFFIX) strsm_outncopy$(TSUFFIX).$(SUFFIX) \
|
||||
strsm_oltucopy$(TSUFFIX).$(SUFFIX) strsm_oltncopy$(TSUFFIX).$(SUFFIX) \
|
||||
strsm_oltucopy$(TSUFFIX).$(SUFFIX) strsm_oltncopy$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
ifeq ($(BUILD_SINGLE),1)
|
||||
SBLASOBJS += \
|
||||
ssymm_iutcopy$(TSUFFIX).$(SUFFIX) ssymm_iltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
ssymm_outcopy$(TSUFFIX).$(SUFFIX) ssymm_oltcopy$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_DOUBLE),1)
|
||||
DBLASOBJS += \
|
||||
dtrmm_iunucopy$(TSUFFIX).$(SUFFIX) dtrmm_iunncopy$(TSUFFIX).$(SUFFIX) \
|
||||
dtrmm_ilnucopy$(TSUFFIX).$(SUFFIX) dtrmm_ilnncopy$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -254,6 +284,7 @@ DBLASOBJS += \
|
|||
dtrsm_oltucopy$(TSUFFIX).$(SUFFIX) dtrsm_oltncopy$(TSUFFIX).$(SUFFIX) \
|
||||
dsymm_iutcopy$(TSUFFIX).$(SUFFIX) dsymm_iltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
dsymm_outcopy$(TSUFFIX).$(SUFFIX) dsymm_oltcopy$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
QBLASOBJS += \
|
||||
qtrmm_iunucopy$(TSUFFIX).$(SUFFIX) qtrmm_iunncopy$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -273,8 +304,9 @@ QBLASOBJS += \
|
|||
qtrsm_outucopy$(TSUFFIX).$(SUFFIX) qtrsm_outncopy$(TSUFFIX).$(SUFFIX) \
|
||||
qtrsm_oltucopy$(TSUFFIX).$(SUFFIX) qtrsm_oltncopy$(TSUFFIX).$(SUFFIX) \
|
||||
qsymm_iutcopy$(TSUFFIX).$(SUFFIX) qsymm_iltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
qsymm_outcopy$(TSUFFIX).$(SUFFIX) qsymm_oltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
qsymm_outcopy$(TSUFFIX).$(SUFFIX) qsymm_oltcopy$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
ifeq ($(BUILD_COMPLEX),1)
|
||||
CBLASOBJS += \
|
||||
ctrmm_iunucopy$(TSUFFIX).$(SUFFIX) ctrmm_iunncopy$(TSUFFIX).$(SUFFIX) \
|
||||
ctrmm_ilnucopy$(TSUFFIX).$(SUFFIX) ctrmm_ilnncopy$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -284,6 +316,13 @@ CBLASOBJS += \
|
|||
ctrmm_olnucopy$(TSUFFIX).$(SUFFIX) ctrmm_olnncopy$(TSUFFIX).$(SUFFIX) \
|
||||
ctrmm_outucopy$(TSUFFIX).$(SUFFIX) ctrmm_outncopy$(TSUFFIX).$(SUFFIX) \
|
||||
ctrmm_oltucopy$(TSUFFIX).$(SUFFIX) ctrmm_oltncopy$(TSUFFIX).$(SUFFIX) \
|
||||
csymm_iutcopy$(TSUFFIX).$(SUFFIX) csymm_iltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
csymm_outcopy$(TSUFFIX).$(SUFFIX) csymm_oltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
chemm_iutcopy$(TSUFFIX).$(SUFFIX) chemm_iltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
chemm_outcopy$(TSUFFIX).$(SUFFIX) chemm_oltcopy$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
ifneq "$(or $(BUILD_COMPLEX),$(BUILD_COMPLEX16))" ""
|
||||
CBLASOBJS += \
|
||||
ctrsm_iunucopy$(TSUFFIX).$(SUFFIX) ctrsm_iunncopy$(TSUFFIX).$(SUFFIX) \
|
||||
ctrsm_ilnucopy$(TSUFFIX).$(SUFFIX) ctrsm_ilnncopy$(TSUFFIX).$(SUFFIX) \
|
||||
ctrsm_iutucopy$(TSUFFIX).$(SUFFIX) ctrsm_iutncopy$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -291,12 +330,10 @@ CBLASOBJS += \
|
|||
ctrsm_ounucopy$(TSUFFIX).$(SUFFIX) ctrsm_ounncopy$(TSUFFIX).$(SUFFIX) \
|
||||
ctrsm_olnucopy$(TSUFFIX).$(SUFFIX) ctrsm_olnncopy$(TSUFFIX).$(SUFFIX) \
|
||||
ctrsm_outucopy$(TSUFFIX).$(SUFFIX) ctrsm_outncopy$(TSUFFIX).$(SUFFIX) \
|
||||
ctrsm_oltucopy$(TSUFFIX).$(SUFFIX) ctrsm_oltncopy$(TSUFFIX).$(SUFFIX) \
|
||||
csymm_iutcopy$(TSUFFIX).$(SUFFIX) csymm_iltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
csymm_outcopy$(TSUFFIX).$(SUFFIX) csymm_oltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
chemm_iutcopy$(TSUFFIX).$(SUFFIX) chemm_iltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
chemm_outcopy$(TSUFFIX).$(SUFFIX) chemm_oltcopy$(TSUFFIX).$(SUFFIX)
|
||||
ctrsm_oltucopy$(TSUFFIX).$(SUFFIX) ctrsm_oltncopy$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_COMPLEX16),1)
|
||||
ZBLASOBJS += \
|
||||
ztrmm_iunucopy$(TSUFFIX).$(SUFFIX) ztrmm_iunncopy$(TSUFFIX).$(SUFFIX) \
|
||||
ztrmm_ilnucopy$(TSUFFIX).$(SUFFIX) ztrmm_ilnncopy$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -318,6 +355,7 @@ ZBLASOBJS += \
|
|||
zsymm_outcopy$(TSUFFIX).$(SUFFIX) zsymm_oltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
zhemm_iutcopy$(TSUFFIX).$(SUFFIX) zhemm_iltcopy$(TSUFFIX).$(SUFFIX) \
|
||||
zhemm_outcopy$(TSUFFIX).$(SUFFIX) zhemm_oltcopy$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
XBLASOBJS += \
|
||||
xtrmm_iunucopy$(TSUFFIX).$(SUFFIX) xtrmm_iunncopy$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -343,6 +381,7 @@ XBLASOBJS += \
|
|||
|
||||
ifeq ($(USE_GEMM3M), 1)
|
||||
|
||||
ifeq ($(BUILD_COMPLEX),1)
|
||||
CBLASOBJS += \
|
||||
cgemm3m_incopyb$(TSUFFIX).$(SUFFIX) cgemm3m_itcopyb$(TSUFFIX).$(SUFFIX) \
|
||||
cgemm3m_incopyr$(TSUFFIX).$(SUFFIX) cgemm3m_itcopyr$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -362,7 +401,9 @@ CBLASOBJS += \
|
|||
chemm3m_ilcopyb$(TSUFFIX).$(SUFFIX) chemm3m_olcopyb$(TSUFFIX).$(SUFFIX) \
|
||||
chemm3m_ilcopyr$(TSUFFIX).$(SUFFIX) chemm3m_olcopyr$(TSUFFIX).$(SUFFIX) \
|
||||
chemm3m_ilcopyi$(TSUFFIX).$(SUFFIX) chemm3m_olcopyi$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_COMPLEX16),1)
|
||||
ZBLASOBJS += \
|
||||
zgemm3m_incopyb$(TSUFFIX).$(SUFFIX) zgemm3m_itcopyb$(TSUFFIX).$(SUFFIX) \
|
||||
zgemm3m_incopyr$(TSUFFIX).$(SUFFIX) zgemm3m_itcopyr$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -382,6 +423,7 @@ ZBLASOBJS += \
|
|||
zhemm3m_ilcopyb$(TSUFFIX).$(SUFFIX) zhemm3m_olcopyb$(TSUFFIX).$(SUFFIX) \
|
||||
zhemm3m_ilcopyr$(TSUFFIX).$(SUFFIX) zhemm3m_olcopyr$(TSUFFIX).$(SUFFIX) \
|
||||
zhemm3m_ilcopyi$(TSUFFIX).$(SUFFIX) zhemm3m_olcopyi$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
XBLASOBJS += \
|
||||
xgemm3m_incopyb$(TSUFFIX).$(SUFFIX) xgemm3m_itcopyb$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -406,20 +448,25 @@ XBLASOBJS += \
|
|||
endif
|
||||
|
||||
###### BLAS extensions #####
|
||||
|
||||
ifeq ($(BUILD_SINGLE),1)
|
||||
SBLASOBJS += \
|
||||
somatcopy_k_cn$(TSUFFIX).$(SUFFIX) somatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
|
||||
somatcopy_k_ct$(TSUFFIX).$(SUFFIX) somatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
|
||||
simatcopy_k_cn$(TSUFFIX).$(SUFFIX) simatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
|
||||
simatcopy_k_ct$(TSUFFIX).$(SUFFIX) simatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
|
||||
sgeadd_k$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
endif
|
||||
ifeq ($(BUILD_DOUBLE),1)
|
||||
DBLASOBJS += \
|
||||
domatcopy_k_cn$(TSUFFIX).$(SUFFIX) domatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
|
||||
domatcopy_k_ct$(TSUFFIX).$(SUFFIX) domatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
|
||||
dimatcopy_k_cn$(TSUFFIX).$(SUFFIX) dimatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
|
||||
dimatcopy_k_ct$(TSUFFIX).$(SUFFIX) dimatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
|
||||
dgeadd_k$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_COMPLEX),1)
|
||||
CBLASOBJS += \
|
||||
comatcopy_k_cn$(TSUFFIX).$(SUFFIX) comatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
|
||||
comatcopy_k_ct$(TSUFFIX).$(SUFFIX) comatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -430,7 +477,9 @@ CBLASOBJS += \
|
|||
cimatcopy_k_cnc$(TSUFFIX).$(SUFFIX) cimatcopy_k_rnc$(TSUFFIX).$(SUFFIX) \
|
||||
cimatcopy_k_ctc$(TSUFFIX).$(SUFFIX) cimatcopy_k_rtc$(TSUFFIX).$(SUFFIX) \
|
||||
cgeadd_k$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_COMPLEX16),1)
|
||||
ZBLASOBJS += \
|
||||
zomatcopy_k_cn$(TSUFFIX).$(SUFFIX) zomatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
|
||||
zomatcopy_k_ct$(TSUFFIX).$(SUFFIX) zomatcopy_k_rt$(TSUFFIX).$(SUFFIX) \
|
||||
|
@ -441,6 +490,7 @@ ZBLASOBJS += \
|
|||
zimatcopy_k_cnc$(TSUFFIX).$(SUFFIX) zimatcopy_k_rnc$(TSUFFIX).$(SUFFIX) \
|
||||
zimatcopy_k_ctc$(TSUFFIX).$(SUFFIX) zimatcopy_k_rtc$(TSUFFIX).$(SUFFIX) \
|
||||
zgeadd_k$(TSUFFIX).$(SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_HALF), 1)
|
||||
SHGEMMINCOPYOBJ_P = $(SHGEMMINCOPYOBJ:.$(SUFFIX)=.$(PSUFFIX))
|
||||
|
|
|
@ -114,7 +114,7 @@ gotoblas_t TABLE_NAME = {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if defined( BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if ( BUILD_SINGLE==1) || (BUILD_DOUBLE==1) || (BUILD_COMPLEX==1) || (BUILD_COMPLEX16==1)
|
||||
0, 0, 0,
|
||||
SGEMM_DEFAULT_UNROLL_M, SGEMM_DEFAULT_UNROLL_N,
|
||||
#ifdef SGEMM_DEFAULT_UNROLL_MN
|
||||
|
@ -130,34 +130,38 @@ gotoblas_t TABLE_NAME = {
|
|||
0,
|
||||
#endif
|
||||
|
||||
#if defined(BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1 ) || (BUILD_DOUBLE==1) || (BUILD_COMPLEX==1)
|
||||
samax_kTS, samin_kTS, smax_kTS, smin_kTS,
|
||||
isamax_kTS, isamin_kTS, ismax_kTS, ismin_kTS,
|
||||
snrm2_kTS, sasum_kTS,
|
||||
#endif
|
||||
#ifdef BUILD_SINGLE
|
||||
#if BUILD_SINGLE == 1
|
||||
ssum_kTS,
|
||||
#endif
|
||||
|
||||
#if defined(BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_DOUBLE==1) || (BUILD_COMPLEX==1)
|
||||
scopy_kTS, sdot_kTS,
|
||||
// dsdot_kTS,
|
||||
srot_kTS, saxpy_kTS,
|
||||
sscal_kTS,
|
||||
#endif
|
||||
#if (BUILD_SINGLE==1) || (BUILD_DOUBLE==1) || (BUILD_COMPLEX==1) || (BUILD_COMPLEX16==1)
|
||||
sscal_kTS,
|
||||
#endif
|
||||
#if (BUILD_SINGLE==1) || (BUILD_DOUBLE==1) || (BUILD_COMPLEX==1)
|
||||
sswap_kTS,
|
||||
sgemv_nTS, sgemv_tTS,
|
||||
#endif
|
||||
#ifdef BUILD_SINGLE
|
||||
#if BUILD_SINGLE == 1
|
||||
sger_kTS,
|
||||
ssymv_LTS, ssymv_UTS,
|
||||
#endif
|
||||
|
||||
#if (BUILD_SINGLE==1) || (BUILD_DOUBLE==1) || (BUILD_COMPLEX==1)
|
||||
#ifdef ARCH_X86_64
|
||||
sgemm_directTS,
|
||||
sgemm_direct_performantTS,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
sgemm_kernelTS, sgemm_betaTS,
|
||||
#if SGEMM_DEFAULT_UNROLL_M != SGEMM_DEFAULT_UNROLL_N
|
||||
sgemm_incopyTS, sgemm_itcopyTS,
|
||||
|
@ -167,7 +171,7 @@ gotoblas_t TABLE_NAME = {
|
|||
sgemm_oncopyTS, sgemm_otcopyTS,
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_SINGLE
|
||||
#if (BUILD_SINGLE==1) || (BUILD_DOUBLE==1)
|
||||
strsm_kernel_LNTS, strsm_kernel_LTTS, strsm_kernel_RNTS, strsm_kernel_RTTS,
|
||||
#if SGEMM_DEFAULT_UNROLL_M != SGEMM_DEFAULT_UNROLL_N
|
||||
strsm_iunucopyTS, strsm_iunncopyTS, strsm_iutucopyTS, strsm_iutncopyTS,
|
||||
|
@ -178,6 +182,8 @@ gotoblas_t TABLE_NAME = {
|
|||
#endif
|
||||
strsm_ounucopyTS, strsm_ounncopyTS, strsm_outucopyTS, strsm_outncopyTS,
|
||||
strsm_olnucopyTS, strsm_olnncopyTS, strsm_oltucopyTS, strsm_oltncopyTS,
|
||||
#endif
|
||||
#if BUILD_SINGLE == 1
|
||||
strmm_kernel_RNTS, strmm_kernel_RTTS, strmm_kernel_LNTS, strmm_kernel_LTTS,
|
||||
#if SGEMM_DEFAULT_UNROLL_M != SGEMM_DEFAULT_UNROLL_N
|
||||
strmm_iunucopyTS, strmm_iunncopyTS, strmm_iutucopyTS, strmm_iutncopyTS,
|
||||
|
@ -194,16 +200,16 @@ gotoblas_t TABLE_NAME = {
|
|||
ssymm_outcopyTS, ssymm_oltcopyTS,
|
||||
#endif
|
||||
ssymm_outcopyTS, ssymm_oltcopyTS,
|
||||
|
||||
#endif
|
||||
#if (BUILD_SINGLE==1) || (BUILD_DOUBLE==1)
|
||||
#ifndef NO_LAPACK
|
||||
sneg_tcopyTS, slaswp_ncopyTS,
|
||||
#else
|
||||
NULL,NULL,
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_DOUBLE) || defined(BUILD_COMPLEX16)
|
||||
#if (BUILD_DOUBLE==1) || (BUILD_COMPLEX16)
|
||||
0, 0, 0,
|
||||
DGEMM_DEFAULT_UNROLL_M, DGEMM_DEFAULT_UNROLL_N,
|
||||
#ifdef DGEMM_DEFAULT_UNROLL_MN
|
||||
|
@ -214,33 +220,33 @@ gotoblas_t TABLE_NAME = {
|
|||
#endif
|
||||
|
||||
|
||||
#if defined (BUILD_DOUBLE) || defined(BUILD_COMPLEX16)
|
||||
#if (BUILD_DOUBLE==1) || (BUILD_COMPLEX16)
|
||||
damax_kTS, damin_kTS, dmax_kTS, dmin_kTS,
|
||||
idamax_kTS, idamin_kTS, idmax_kTS, idmin_kTS,
|
||||
dnrm2_kTS, dasum_kTS,
|
||||
#endif
|
||||
#if defined (BUILD_DOUBLE)
|
||||
#if (BUILD_DOUBLE==1)
|
||||
dsum_kTS,
|
||||
#endif
|
||||
#if defined (BUILD_DOUBLE) || defined(BUILD_COMPLEX16)
|
||||
#if (BUILD_DOUBLE==1) || (BUILD_COMPLEX16)
|
||||
dcopy_kTS, ddot_kTS,
|
||||
#endif
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_DOUBLE)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_DOUBLE==1)
|
||||
dsdot_kTS,
|
||||
#endif
|
||||
#if defined (BUILD_DOUBLE) || defined(BUILD_COMPLEX16)
|
||||
#if (BUILD_DOUBLE==1) || (BUILD_COMPLEX16)
|
||||
drot_kTS,
|
||||
daxpy_kTS,
|
||||
dscal_kTS,
|
||||
dswap_kTS,
|
||||
dgemv_nTS, dgemv_tTS,
|
||||
#endif
|
||||
#if defined (BUILD_DOUBLE)
|
||||
#if (BUILD_DOUBLE==1)
|
||||
dger_kTS,
|
||||
dsymv_LTS, dsymv_UTS,
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_DOUBLE) || defined(BUILD_COMPLEX16)
|
||||
#if (BUILD_DOUBLE==1) || (BUILD_COMPLEX16)
|
||||
dgemm_kernelTS, dgemm_betaTS,
|
||||
#if DGEMM_DEFAULT_UNROLL_M != DGEMM_DEFAULT_UNROLL_N
|
||||
dgemm_incopyTS, dgemm_itcopyTS,
|
||||
|
@ -250,7 +256,7 @@ gotoblas_t TABLE_NAME = {
|
|||
dgemm_oncopyTS, dgemm_otcopyTS,
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_DOUBLE)
|
||||
#if (BUILD_DOUBLE==1)
|
||||
dtrsm_kernel_LNTS, dtrsm_kernel_LTTS, dtrsm_kernel_RNTS, dtrsm_kernel_RTTS,
|
||||
#if DGEMM_DEFAULT_UNROLL_M != DGEMM_DEFAULT_UNROLL_N
|
||||
dtrsm_iunucopyTS, dtrsm_iunncopyTS, dtrsm_iutucopyTS, dtrsm_iutncopyTS,
|
||||
|
@ -340,7 +346,7 @@ gotoblas_t TABLE_NAME = {
|
|||
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if (BUILD_COMPLEX || BUILD_COMPLEX16)
|
||||
0, 0, 0,
|
||||
CGEMM_DEFAULT_UNROLL_M, CGEMM_DEFAULT_UNROLL_N,
|
||||
#ifdef CGEMM_DEFAULT_UNROLL_MN
|
||||
|
@ -348,21 +354,34 @@ gotoblas_t TABLE_NAME = {
|
|||
#else
|
||||
MAX(CGEMM_DEFAULT_UNROLL_M, CGEMM_DEFAULT_UNROLL_N),
|
||||
#endif
|
||||
|
||||
camax_kTS, camin_kTS, icamax_kTS, icamin_kTS,
|
||||
cnrm2_kTS, casum_kTS, csum_kTS, ccopy_kTS,
|
||||
cdotu_kTS, cdotc_kTS, csrot_kTS,
|
||||
caxpy_kTS, caxpyc_kTS, cscal_kTS, cswap_kTS,
|
||||
#endif
|
||||
#if (BUILD_COMPLEX)
|
||||
cnrm2_kTS, casum_kTS, csum_kTS,
|
||||
#endif
|
||||
#if (BUILD_COMPLEX || BUILD_COMPLEX16)
|
||||
ccopy_kTS, cdotu_kTS, cdotc_kTS,
|
||||
#endif
|
||||
#if (BUILD_COMPLEX)
|
||||
csrot_kTS,
|
||||
#endif
|
||||
#if (BUILD_COMPLEX || BUILD_COMPLEX16)
|
||||
caxpy_kTS,
|
||||
caxpyc_kTS,
|
||||
cscal_kTS,
|
||||
cswap_kTS,
|
||||
|
||||
cgemv_nTS, cgemv_tTS, cgemv_rTS, cgemv_cTS,
|
||||
cgemv_oTS, cgemv_uTS, cgemv_sTS, cgemv_dTS,
|
||||
#endif
|
||||
#if (BUILD_COMPLEX)
|
||||
cgeru_kTS, cgerc_kTS, cgerv_kTS, cgerd_kTS,
|
||||
csymv_LTS, csymv_UTS,
|
||||
chemv_LTS, chemv_UTS, chemv_MTS, chemv_VTS,
|
||||
|
||||
#endif
|
||||
#if (BUILD_COMPLEX || BUILD_COMPLEX16)
|
||||
cgemm_kernel_nTS, cgemm_kernel_lTS, cgemm_kernel_rTS, cgemm_kernel_bTS,
|
||||
cgemm_betaTS,
|
||||
|
||||
#if CGEMM_DEFAULT_UNROLL_M != CGEMM_DEFAULT_UNROLL_N
|
||||
cgemm_incopyTS, cgemm_itcopyTS,
|
||||
#else
|
||||
|
@ -382,6 +401,8 @@ gotoblas_t TABLE_NAME = {
|
|||
#endif
|
||||
ctrsm_ounucopyTS, ctrsm_ounncopyTS, ctrsm_outucopyTS, ctrsm_outncopyTS,
|
||||
ctrsm_olnucopyTS, ctrsm_olnncopyTS, ctrsm_oltucopyTS, ctrsm_oltncopyTS,
|
||||
#endif
|
||||
#if (BUILD_COMPLEX)
|
||||
|
||||
ctrmm_kernel_RNTS, ctrmm_kernel_RTTS, ctrmm_kernel_RRTS, ctrmm_kernel_RCTS,
|
||||
ctrmm_kernel_LNTS, ctrmm_kernel_LTTS, ctrmm_kernel_LRTS, ctrmm_kernel_LCTS,
|
||||
|
@ -411,7 +432,7 @@ gotoblas_t TABLE_NAME = {
|
|||
|
||||
0, 0, 0,
|
||||
|
||||
#if defined(USE_GEMM3M)
|
||||
#if (USE_GEMM3M)
|
||||
#ifdef CGEMM3M_DEFAULT_UNROLL_M
|
||||
CGEMM3M_DEFAULT_UNROLL_M, CGEMM3M_DEFAULT_UNROLL_N, MAX(CGEMM3M_DEFAULT_UNROLL_M, CGEMM3M_DEFAULT_UNROLL_N),
|
||||
#else
|
||||
|
@ -469,16 +490,20 @@ gotoblas_t TABLE_NAME = {
|
|||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (BUILD_COMPLEX || BUILD_COMPLEX16)
|
||||
#ifndef NO_LAPACK
|
||||
cneg_tcopyTS, claswp_ncopyTS,
|
||||
cneg_tcopyTS,
|
||||
|
||||
claswp_ncopyTS,
|
||||
#else
|
||||
NULL, NULL,
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16 == 1
|
||||
0, 0, 0,
|
||||
ZGEMM_DEFAULT_UNROLL_M, ZGEMM_DEFAULT_UNROLL_N,
|
||||
#ifdef ZGEMM_DEFAULT_UNROLL_MN
|
||||
|
@ -548,7 +573,7 @@ gotoblas_t TABLE_NAME = {
|
|||
zhemm_outcopyTS, zhemm_oltcopyTS,
|
||||
|
||||
0, 0, 0,
|
||||
#if defined(USE_GEMM3M)
|
||||
#if (USE_GEMM3M)
|
||||
#ifdef ZGEMM3M_DEFAULT_UNROLL_M
|
||||
ZGEMM3M_DEFAULT_UNROLL_M, ZGEMM3M_DEFAULT_UNROLL_N, MAX(ZGEMM3M_DEFAULT_UNROLL_M, ZGEMM3M_DEFAULT_UNROLL_N),
|
||||
#else
|
||||
|
@ -681,7 +706,7 @@ gotoblas_t TABLE_NAME = {
|
|||
xhemm_outcopyTS, xhemm_oltcopyTS,
|
||||
|
||||
0, 0, 0,
|
||||
#if defined(USE_GEMM3M)
|
||||
#if (USE_GEMM3M)
|
||||
QGEMM_DEFAULT_UNROLL_M, QGEMM_DEFAULT_UNROLL_N, MAX(QGEMM_DEFAULT_UNROLL_M, QGEMM_DEFAULT_UNROLL_N),
|
||||
|
||||
xgemm3m_kernelTS,
|
||||
|
@ -746,110 +771,110 @@ gotoblas_t TABLE_NAME = {
|
|||
init_parameter,
|
||||
|
||||
SNUMOPT, DNUMOPT, QNUMOPT,
|
||||
#ifdef BUILD_SINGLE
|
||||
#if BUILD_SINGLE == 1
|
||||
saxpby_kTS,
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE == 1
|
||||
daxpby_kTS,
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX == 1
|
||||
caxpby_kTS,
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16== 1
|
||||
zaxpby_kTS,
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_SINGLE
|
||||
#if BUILD_SINGLE == 1
|
||||
somatcopy_k_cnTS, somatcopy_k_ctTS, somatcopy_k_rnTS, somatcopy_k_rtTS,
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE== 1
|
||||
domatcopy_k_cnTS, domatcopy_k_ctTS, domatcopy_k_rnTS, domatcopy_k_rtTS,
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX == 1
|
||||
comatcopy_k_cnTS, comatcopy_k_ctTS, comatcopy_k_rnTS, comatcopy_k_rtTS,
|
||||
comatcopy_k_cncTS, comatcopy_k_ctcTS, comatcopy_k_rncTS, comatcopy_k_rtcTS,
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16 == 1
|
||||
zomatcopy_k_cnTS, zomatcopy_k_ctTS, zomatcopy_k_rnTS, zomatcopy_k_rtTS,
|
||||
zomatcopy_k_cncTS, zomatcopy_k_ctcTS, zomatcopy_k_rncTS, zomatcopy_k_rtcTS,
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_SINGLE
|
||||
#if BUILD_SINGLE == 1
|
||||
simatcopy_k_cnTS, simatcopy_k_ctTS, simatcopy_k_rnTS, simatcopy_k_rtTS,
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE== 1
|
||||
dimatcopy_k_cnTS, dimatcopy_k_ctTS, dimatcopy_k_rnTS, dimatcopy_k_rtTS,
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX== 1
|
||||
cimatcopy_k_cnTS, cimatcopy_k_ctTS, cimatcopy_k_rnTS, cimatcopy_k_rtTS,
|
||||
cimatcopy_k_cncTS, cimatcopy_k_ctcTS, cimatcopy_k_rncTS, cimatcopy_k_rtcTS,
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
zimatcopy_k_cnTS, zimatcopy_k_ctTS, zimatcopy_k_rnTS, zimatcopy_k_rtTS,
|
||||
zimatcopy_k_cncTS, zimatcopy_k_ctcTS, zimatcopy_k_rncTS, zimatcopy_k_rtcTS,
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_SINGLE
|
||||
#if BUILD_SINGLE == 1
|
||||
sgeadd_kTS,
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE==1
|
||||
dgeadd_kTS,
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
cgeadd_kTS,
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
zgeadd_kTS
|
||||
#endif
|
||||
};
|
||||
|
||||
#if defined(ARCH_ARM64)
|
||||
#if (ARCH_ARM64)
|
||||
static void init_parameter(void) {
|
||||
#if defined(BUILD_HALF)
|
||||
#if (BUILD_HALF)
|
||||
TABLE_NAME.shgemm_p = SHGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#if defined(BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE == 1
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
|
||||
#if defined(BUILD_HALF)
|
||||
#if (BUILD_HALF)
|
||||
TABLE_NAME.shgemm_q = SHGEMM_DEFAULT_Q;
|
||||
#endif
|
||||
#ifdef BUILD_SINGLE
|
||||
#if BUILD_SINGLE == 1
|
||||
TABLE_NAME.sgemm_q = SGEMM_DEFAULT_Q;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE== 1
|
||||
TABLE_NAME.dgemm_q = DGEMM_DEFAULT_Q;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX== 1
|
||||
TABLE_NAME.cgemm_q = CGEMM_DEFAULT_Q;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
TABLE_NAME.zgemm_q = ZGEMM_DEFAULT_Q;
|
||||
#endif
|
||||
|
||||
#if defined(BUILD_HALF)
|
||||
#if (BUILD_HALF)
|
||||
TABLE_NAME.shgemm_r = SHGEMM_DEFAULT_R;
|
||||
#endif
|
||||
#ifdef BUILD_SINGLE
|
||||
#if BUILD_SINGLE == 1
|
||||
TABLE_NAME.sgemm_r = SGEMM_DEFAULT_R;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE==1
|
||||
TABLE_NAME.dgemm_r = DGEMM_DEFAULT_R;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
TABLE_NAME.cgemm_r = CGEMM_DEFAULT_R;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
TABLE_NAME.zgemm_r = ZGEMM_DEFAULT_R;
|
||||
#endif
|
||||
|
||||
|
@ -862,7 +887,7 @@ static void init_parameter(void) {
|
|||
TABLE_NAME.xgemm_r = XGEMM_DEFAULT_R;
|
||||
#endif
|
||||
|
||||
#if defined(USE_GEMM3M)
|
||||
#if (USE_GEMM3M)
|
||||
#ifdef CGEMM3M_DEFAULT_P
|
||||
TABLE_NAME.cgemm3m_p = CGEMM3M_DEFAULT_P;
|
||||
#else
|
||||
|
@ -907,8 +932,8 @@ static void init_parameter(void) {
|
|||
#endif
|
||||
|
||||
}
|
||||
#else // defined(ARCH_ARM64)
|
||||
#if defined(ARCH_POWER)
|
||||
#else // (ARCH_ARM64)
|
||||
#if (ARCH_POWER)
|
||||
static void init_parameter(void) {
|
||||
|
||||
#ifdef BUILD_HALF
|
||||
|
@ -938,7 +963,7 @@ static void init_parameter(void) {
|
|||
}
|
||||
#else //POWER
|
||||
|
||||
#if defined(ARCH_ZARCH)
|
||||
#if (ARCH_ZARCH)
|
||||
static void init_parameter(void) {
|
||||
#ifdef BUILD_HALF
|
||||
TABLE_NAME.shgemm_p = SHGEMM_DEFAULT_P;
|
||||
|
@ -1104,20 +1129,20 @@ static void init_parameter(void) {
|
|||
TABLE_NAME.shgemm_r = SHGEMM_DEFAULT_R;
|
||||
TABLE_NAME.shgemm_q = SHGEMM_DEFAULT_Q;
|
||||
#endif
|
||||
#ifdef BUILD_SINGLE
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_q = SGEMM_DEFAULT_Q;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if (BUILD_DOUBLE==1) || (BUILD_COMPLEX16)
|
||||
TABLE_NAME.dgemm_q = DGEMM_DEFAULT_Q;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX == 1
|
||||
TABLE_NAME.cgemm_q = CGEMM_DEFAULT_Q;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
TABLE_NAME.zgemm_q = ZGEMM_DEFAULT_Q;
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX == 1
|
||||
#ifdef CGEMM3M_DEFAULT_Q
|
||||
TABLE_NAME.cgemm3m_q = CGEMM3M_DEFAULT_Q;
|
||||
#else
|
||||
|
@ -1125,7 +1150,7 @@ static void init_parameter(void) {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16 == 1
|
||||
#ifdef ZGEMM3M_DEFAULT_Q
|
||||
TABLE_NAME.zgemm3m_q = ZGEMM3M_DEFAULT_Q;
|
||||
#else
|
||||
|
@ -1139,22 +1164,22 @@ static void init_parameter(void) {
|
|||
TABLE_NAME.xgemm3m_q = QGEMM_DEFAULT_Q;
|
||||
#endif
|
||||
|
||||
#if defined(CORE_KATMAI) || defined(CORE_COPPERMINE) || defined(CORE_BANIAS) || defined(CORE_YONAH) || defined(CORE_ATHLON)
|
||||
#if (CORE_KATMAI) || (CORE_COPPERMINE) || (CORE_BANIAS) || (CORE_YONAH) || (CORE_ATHLON)
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "Katmai, Coppermine, Banias, Athlon\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = 64 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE == 1
|
||||
TABLE_NAME.dgemm_p = 32 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
TABLE_NAME.cgemm_p = 32 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
TABLE_NAME.zgemm_p = 16 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1169,16 +1194,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Northwood\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = 96 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE == 1
|
||||
TABLE_NAME.dgemm_p = 48 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
TABLE_NAME.cgemm_p = 48 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
TABLE_NAME.zgemm_p = 24 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1193,16 +1218,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Atom\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = 256;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE ==1
|
||||
TABLE_NAME.dgemm_p = 128;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
TABLE_NAME.cgemm_p = 128;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
TABLE_NAME.zgemm_p = 64;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1217,16 +1242,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Prescott\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = 56 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE ==1
|
||||
TABLE_NAME.dgemm_p = 28 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
TABLE_NAME.cgemm_p = 28 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16 == 1
|
||||
TABLE_NAME.zgemm_p = 14 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1241,16 +1266,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Core2\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = 92 * (l2 >> 9) + 8;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE==1
|
||||
TABLE_NAME.dgemm_p = 46 * (l2 >> 9) + 8;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
TABLE_NAME.cgemm_p = 46 * (l2 >> 9) + 4;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
TABLE_NAME.zgemm_p = 23 * (l2 >> 9) + 4;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1265,16 +1290,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Penryn\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = 42 * (l2 >> 9) + 8;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE == 1
|
||||
TABLE_NAME.dgemm_p = 42 * (l2 >> 9) + 8;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
TABLE_NAME.cgemm_p = 21 * (l2 >> 9) + 4;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
TABLE_NAME.zgemm_p = 21 * (l2 >> 9) + 4;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1289,16 +1314,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Dunnington\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = 42 * (l2 >> 9) + 8;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE ==1
|
||||
TABLE_NAME.dgemm_p = 42 * (l2 >> 9) + 8;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
TABLE_NAME.cgemm_p = 21 * (l2 >> 9) + 4;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
TABLE_NAME.zgemm_p = 21 * (l2 >> 9) + 4;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1314,16 +1339,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Nehalem\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1338,16 +1363,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Sandybridge\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1362,16 +1387,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Haswell\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if (BUILD_DOUBLE==1) || (BUILD_COMPLEX16)
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1380,22 +1405,22 @@ static void init_parameter(void) {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (SKYLAKEX) || defined (COOPERLAKE)
|
||||
#if defined(SKYLAKEX) || defined(COOPERLAKE)
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "SkylakeX\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1411,16 +1436,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Opteron\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = 224 + 56 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE
|
||||
TABLE_NAME.dgemm_p = 112 + 28 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = 112 + 28 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = 56 + 14 * (l2 >> 7);
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1435,16 +1460,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Barcelona\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1459,16 +1484,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Bobcate\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1483,16 +1508,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Bulldozer\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1507,16 +1532,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Excavator\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1532,16 +1557,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Piledriver\n");
|
||||
#endif
|
||||
|
||||
#if defined(BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1556,16 +1581,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Steamroller\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1580,16 +1605,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "Zen\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef EXPRECISION
|
||||
|
@ -1605,16 +1630,16 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "NANO\n");
|
||||
#endif
|
||||
|
||||
#if defined (BUILD_SINGLE) || defined(BUILD_COMPLEX)
|
||||
#if (BUILD_SINGLE==1) || (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if (BUILD_DOUBLE==1)
|
||||
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if (BUILD_COMPLEX==1)
|
||||
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if (BUILD_COMPLEX16==1)
|
||||
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
|
||||
#endif
|
||||
|
||||
|
@ -1626,7 +1651,7 @@ static void init_parameter(void) {
|
|||
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
#ifdef CGEMM3M_DEFAULT_P
|
||||
TABLE_NAME.cgemm3m_p = CGEMM3M_DEFAULT_P;
|
||||
#else
|
||||
|
@ -1634,7 +1659,7 @@ static void init_parameter(void) {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
#ifdef ZGEMM3M_DEFAULT_P
|
||||
TABLE_NAME.zgemm3m_p = ZGEMM3M_DEFAULT_P;
|
||||
#else
|
||||
|
@ -1647,20 +1672,20 @@ static void init_parameter(void) {
|
|||
#endif
|
||||
|
||||
|
||||
#ifdef BUILD_SINGLE
|
||||
#if BUILD_SINGLE == 1
|
||||
TABLE_NAME.sgemm_p = ((TABLE_NAME.sgemm_p + SGEMM_DEFAULT_UNROLL_M - 1)/SGEMM_DEFAULT_UNROLL_M) * SGEMM_DEFAULT_UNROLL_M;
|
||||
#endif
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE== 1
|
||||
TABLE_NAME.dgemm_p = ((TABLE_NAME.dgemm_p + DGEMM_DEFAULT_UNROLL_M - 1)/DGEMM_DEFAULT_UNROLL_M) * DGEMM_DEFAULT_UNROLL_M;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
TABLE_NAME.cgemm_p = ((TABLE_NAME.cgemm_p + CGEMM_DEFAULT_UNROLL_M - 1)/CGEMM_DEFAULT_UNROLL_M) * CGEMM_DEFAULT_UNROLL_M;
|
||||
#endif
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
TABLE_NAME.zgemm_p = ((TABLE_NAME.zgemm_p + ZGEMM_DEFAULT_UNROLL_M - 1)/ZGEMM_DEFAULT_UNROLL_M) * ZGEMM_DEFAULT_UNROLL_M;
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX==1
|
||||
#ifdef CGEMM3M_DEFAULT_UNROLL_M
|
||||
TABLE_NAME.cgemm3m_p = ((TABLE_NAME.cgemm3m_p + CGEMM3M_DEFAULT_UNROLL_M - 1)/CGEMM3M_DEFAULT_UNROLL_M) * CGEMM3M_DEFAULT_UNROLL_M;
|
||||
#else
|
||||
|
@ -1668,7 +1693,7 @@ static void init_parameter(void) {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16==1
|
||||
#ifdef ZGEMM3M_DEFAULT_UNROLL_M
|
||||
TABLE_NAME.zgemm3m_p = ((TABLE_NAME.zgemm3m_p + ZGEMM3M_DEFAULT_UNROLL_M - 1)/ZGEMM3M_DEFAULT_UNROLL_M) * ZGEMM3M_DEFAULT_UNROLL_M;
|
||||
#else
|
||||
|
@ -1686,14 +1711,14 @@ static void init_parameter(void) {
|
|||
fprintf(stderr, "L2 = %8d DGEMM_P .. %d\n", l2, TABLE_NAME.dgemm_p);
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_SINGLE
|
||||
#if BUILD_SINGLE==1
|
||||
TABLE_NAME.sgemm_r = (((BUFFER_SIZE -
|
||||
((TABLE_NAME.sgemm_p * TABLE_NAME.sgemm_q * 4 + TABLE_NAME.offsetA
|
||||
+ TABLE_NAME.align) & ~TABLE_NAME.align)
|
||||
) / (TABLE_NAME.sgemm_q * 4) - 15) & ~15);
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_DOUBLE
|
||||
#if BUILD_DOUBLE==1
|
||||
TABLE_NAME.dgemm_r = (((BUFFER_SIZE -
|
||||
((TABLE_NAME.dgemm_p * TABLE_NAME.dgemm_q * 8 + TABLE_NAME.offsetA
|
||||
+ TABLE_NAME.align) & ~TABLE_NAME.align)
|
||||
|
@ -1707,28 +1732,28 @@ static void init_parameter(void) {
|
|||
) / (TABLE_NAME.qgemm_q * 16) - 15) & ~15);
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX ==1
|
||||
TABLE_NAME.cgemm_r = (((BUFFER_SIZE -
|
||||
((TABLE_NAME.cgemm_p * TABLE_NAME.cgemm_q * 8 + TABLE_NAME.offsetA
|
||||
+ TABLE_NAME.align) & ~TABLE_NAME.align)
|
||||
) / (TABLE_NAME.cgemm_q * 8) - 15) & ~15);
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16 ==1
|
||||
TABLE_NAME.zgemm_r = (((BUFFER_SIZE -
|
||||
((TABLE_NAME.zgemm_p * TABLE_NAME.zgemm_q * 16 + TABLE_NAME.offsetA
|
||||
+ TABLE_NAME.align) & ~TABLE_NAME.align)
|
||||
) / (TABLE_NAME.zgemm_q * 16) - 15) & ~15);
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX
|
||||
#if BUILD_COMPLEX == 1
|
||||
TABLE_NAME.cgemm3m_r = (((BUFFER_SIZE -
|
||||
((TABLE_NAME.cgemm3m_p * TABLE_NAME.cgemm3m_q * 8 + TABLE_NAME.offsetA
|
||||
+ TABLE_NAME.align) & ~TABLE_NAME.align)
|
||||
) / (TABLE_NAME.cgemm3m_q * 8) - 15) & ~15);
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_COMPLEX16
|
||||
#if BUILD_COMPLEX16 == 1
|
||||
TABLE_NAME.zgemm3m_r = (((BUFFER_SIZE -
|
||||
((TABLE_NAME.zgemm3m_p * TABLE_NAME.zgemm3m_q * 16 + TABLE_NAME.offsetA
|
||||
+ TABLE_NAME.align) & ~TABLE_NAME.align)
|
||||
|
@ -1755,4 +1780,4 @@ static void init_parameter(void) {
|
|||
}
|
||||
#endif //POWER
|
||||
#endif //ZARCH
|
||||
#endif //defined(ARCH_ARM64)
|
||||
#endif //(ARCH_ARM64)
|
||||
|
|
Loading…
Reference in New Issue