Modify the order that cmake set the KERNEL variables (generic now is fallback)

This commit is contained in:
Rafael Cardoso Fernandes Sousa 2021-11-24 20:07:20 -06:00
parent fb891f33da
commit d5c9353f1b
2 changed files with 202 additions and 198 deletions

View File

@ -1,214 +1,218 @@
# helper functions for the kernel CMakeLists.txt # helper functions for the kernel CMakeLists.txt
function(SetFallback KERNEL SOURCE_PATH)
if (NOT (DEFINED ${KERNEL}))
set(${KERNEL} ${SOURCE_PATH} PARENT_SCOPE)
endif ()
endfunction()
# Set the default filenames for L1 objects. Most of these will be overridden by the appropriate KERNEL file.
macro(SetDefaultL1) macro(SetDefaultL1)
set(SAMAXKERNEL amax.S) SetFallback(SAMAXKERNEL amax.S)
set(DAMAXKERNEL amax.S) SetFallback(DAMAXKERNEL amax.S)
set(QAMAXKERNEL amax.S) SetFallback(QAMAXKERNEL amax.S)
set(CAMAXKERNEL zamax.S) SetFallback(CAMAXKERNEL zamax.S)
set(ZAMAXKERNEL zamax.S) SetFallback(ZAMAXKERNEL zamax.S)
set(XAMAXKERNEL zamax.S) SetFallback(XAMAXKERNEL zamax.S)
set(SAMINKERNEL amin.S) SetFallback(SAMINKERNEL amin.S)
set(DAMINKERNEL amin.S) SetFallback(DAMINKERNEL amin.S)
set(QAMINKERNEL amin.S) SetFallback(QAMINKERNEL amin.S)
set(CAMINKERNEL zamin.S) SetFallback(CAMINKERNEL zamin.S)
set(ZAMINKERNEL zamin.S) SetFallback(ZAMINKERNEL zamin.S)
set(XAMINKERNEL zamin.S) SetFallback(XAMINKERNEL zamin.S)
set(SMAXKERNEL max.S) SetFallback(SMAXKERNEL max.S)
set(DMAXKERNEL max.S) SetFallback(DMAXKERNEL max.S)
set(QMAXKERNEL max.S) SetFallback(QMAXKERNEL max.S)
set(SMINKERNEL min.S) SetFallback(SMINKERNEL min.S)
set(DMINKERNEL min.S) SetFallback(DMINKERNEL min.S)
set(QMINKERNEL min.S) SetFallback(QMINKERNEL min.S)
set(ISAMAXKERNEL iamax.S) SetFallback(ISAMAXKERNEL iamax.S)
set(IDAMAXKERNEL iamax.S) SetFallback(IDAMAXKERNEL iamax.S)
set(IQAMAXKERNEL iamax.S) SetFallback(IQAMAXKERNEL iamax.S)
set(ICAMAXKERNEL izamax.S) SetFallback(ICAMAXKERNEL izamax.S)
set(IZAMAXKERNEL izamax.S) SetFallback(IZAMAXKERNEL izamax.S)
set(IXAMAXKERNEL izamax.S) SetFallback(IXAMAXKERNEL izamax.S)
set(ISAMINKERNEL iamin.S) SetFallback(ISAMINKERNEL iamin.S)
set(IDAMINKERNEL iamin.S) SetFallback(IDAMINKERNEL iamin.S)
set(IQAMINKERNEL iamin.S) SetFallback(IQAMINKERNEL iamin.S)
set(ICAMINKERNEL izamin.S) SetFallback(ICAMINKERNEL izamin.S)
set(IZAMINKERNEL izamin.S) SetFallback(IZAMINKERNEL izamin.S)
set(IXAMINKERNEL izamin.S) SetFallback(IXAMINKERNEL izamin.S)
set(ISMAXKERNEL iamax.S) SetFallback(ISMAXKERNEL iamax.S)
set(IDMAXKERNEL iamax.S) SetFallback(IDMAXKERNEL iamax.S)
set(IQMAXKERNEL iamax.S) SetFallback(IQMAXKERNEL iamax.S)
set(ISMINKERNEL iamin.S) SetFallback(ISMINKERNEL iamin.S)
set(IDMINKERNEL iamin.S) SetFallback(IDMINKERNEL iamin.S)
set(IQMINKERNEL iamin.S) SetFallback(IQMINKERNEL iamin.S)
set(SASUMKERNEL asum.S) SetFallback(SASUMKERNEL asum.S)
set(DASUMKERNEL asum.S) SetFallback(DASUMKERNEL asum.S)
set(CASUMKERNEL zasum.S) SetFallback(CASUMKERNEL zasum.S)
set(ZASUMKERNEL zasum.S) SetFallback(ZASUMKERNEL zasum.S)
set(QASUMKERNEL asum.S) SetFallback(QASUMKERNEL asum.S)
set(XASUMKERNEL zasum.S) SetFallback(XASUMKERNEL zasum.S)
set(SAXPYKERNEL axpy.S) SetFallback(SAXPYKERNEL axpy.S)
set(DAXPYKERNEL axpy.S) SetFallback(DAXPYKERNEL axpy.S)
set(CAXPYKERNEL zaxpy.S) SetFallback(CAXPYKERNEL zaxpy.S)
set(ZAXPYKERNEL zaxpy.S) SetFallback(ZAXPYKERNEL zaxpy.S)
set(QAXPYKERNEL axpy.S) SetFallback(QAXPYKERNEL axpy.S)
set(XAXPYKERNEL zaxpy.S) SetFallback(XAXPYKERNEL zaxpy.S)
set(SCOPYKERNEL copy.S) SetFallback(SCOPYKERNEL copy.S)
set(DCOPYKERNEL copy.S) SetFallback(DCOPYKERNEL copy.S)
set(CCOPYKERNEL zcopy.S) SetFallback(CCOPYKERNEL zcopy.S)
set(ZCOPYKERNEL zcopy.S) SetFallback(ZCOPYKERNEL zcopy.S)
set(QCOPYKERNEL copy.S) SetFallback(QCOPYKERNEL copy.S)
set(XCOPYKERNEL zcopy.S) SetFallback(XCOPYKERNEL zcopy.S)
set(SDOTKERNEL dot.S) SetFallback(SDOTKERNEL dot.S)
set(DDOTKERNEL dot.S) SetFallback(DDOTKERNEL dot.S)
set(CDOTKERNEL zdot.S) SetFallback(CDOTKERNEL zdot.S)
set(ZDOTKERNEL zdot.S) SetFallback(ZDOTKERNEL zdot.S)
set(QDOTKERNEL dot.S) SetFallback(QDOTKERNEL dot.S)
set(XDOTKERNEL zdot.S) SetFallback(XDOTKERNEL zdot.S)
set(SNRM2KERNEL nrm2.S) SetFallback(SNRM2KERNEL nrm2.S)
set(DNRM2KERNEL nrm2.S) SetFallback(DNRM2KERNEL nrm2.S)
set(QNRM2KERNEL nrm2.S) SetFallback(QNRM2KERNEL nrm2.S)
set(CNRM2KERNEL znrm2.S) SetFallback(CNRM2KERNEL znrm2.S)
set(ZNRM2KERNEL znrm2.S) SetFallback(ZNRM2KERNEL znrm2.S)
set(XNRM2KERNEL znrm2.S) SetFallback(XNRM2KERNEL znrm2.S)
set(SROTKERNEL rot.S) SetFallback(SROTKERNEL rot.S)
set(DROTKERNEL rot.S) SetFallback(DROTKERNEL rot.S)
set(QROTKERNEL rot.S) SetFallback(QROTKERNEL rot.S)
set(CROTKERNEL zrot.S) SetFallback(CROTKERNEL zrot.S)
set(ZROTKERNEL zrot.S) SetFallback(ZROTKERNEL zrot.S)
set(XROTKERNEL zrot.S) SetFallback(XROTKERNEL zrot.S)
set(SSCALKERNEL scal.S) SetFallback(SSCALKERNEL scal.S)
set(DSCALKERNEL scal.S) SetFallback(DSCALKERNEL scal.S)
set(CSCALKERNEL zscal.S) SetFallback(CSCALKERNEL zscal.S)
set(ZSCALKERNEL zscal.S) SetFallback(ZSCALKERNEL zscal.S)
set(QSCALKERNEL scal.S) SetFallback(QSCALKERNEL scal.S)
set(XSCALKERNEL zscal.S) SetFallback(XSCALKERNEL zscal.S)
set(SSWAPKERNEL swap.S) SetFallback(SSWAPKERNEL swap.S)
set(DSWAPKERNEL swap.S) SetFallback(DSWAPKERNEL swap.S)
set(CSWAPKERNEL zswap.S) SetFallback(CSWAPKERNEL zswap.S)
set(ZSWAPKERNEL zswap.S) SetFallback(ZSWAPKERNEL zswap.S)
set(QSWAPKERNEL swap.S) SetFallback(QSWAPKERNEL swap.S)
set(XSWAPKERNEL zswap.S) SetFallback(XSWAPKERNEL zswap.S)
set(SGEMVNKERNEL gemv_n.S) SetFallback(SGEMVNKERNEL gemv_n.S)
set(SGEMVTKERNEL gemv_t.S) SetFallback(SGEMVTKERNEL gemv_t.S)
set(DGEMVNKERNEL gemv_n.S) SetFallback(DGEMVNKERNEL gemv_n.S)
set(DGEMVTKERNEL gemv_t.S) SetFallback(DGEMVTKERNEL gemv_t.S)
set(CGEMVNKERNEL zgemv_n.S) SetFallback(CGEMVNKERNEL zgemv_n.S)
set(CGEMVTKERNEL zgemv_t.S) SetFallback(CGEMVTKERNEL zgemv_t.S)
set(ZGEMVNKERNEL zgemv_n.S) SetFallback(ZGEMVNKERNEL zgemv_n.S)
set(ZGEMVTKERNEL zgemv_t.S) SetFallback(ZGEMVTKERNEL zgemv_t.S)
set(QGEMVNKERNEL gemv_n.S) SetFallback(QGEMVNKERNEL gemv_n.S)
set(QGEMVTKERNEL gemv_t.S) SetFallback(QGEMVTKERNEL gemv_t.S)
set(XGEMVNKERNEL zgemv_n.S) SetFallback(XGEMVNKERNEL zgemv_n.S)
set(XGEMVTKERNEL zgemv_t.S) SetFallback(XGEMVTKERNEL zgemv_t.S)
set(SCABS_KERNEL ../generic/cabs.c) SetFallback(SCABS_KERNEL ../generic/cabs.c)
set(DCABS_KERNEL ../generic/cabs.c) SetFallback(DCABS_KERNEL ../generic/cabs.c)
set(QCABS_KERNEL ../generic/cabs.c) SetFallback(QCABS_KERNEL ../generic/cabs.c)
set(LSAME_KERNEL ../generic/lsame.c) SetFallback(LSAME_KERNEL ../generic/lsame.c)
set(SAXPBYKERNEL ../arm/axpby.c) SetFallback(SAXPBYKERNEL ../arm/axpby.c)
set(DAXPBYKERNEL ../arm/axpby.c) SetFallback(DAXPBYKERNEL ../arm/axpby.c)
set(CAXPBYKERNEL ../arm/zaxpby.c) SetFallback(CAXPBYKERNEL ../arm/zaxpby.c)
set(ZAXPBYKERNEL ../arm/zaxpby.c) SetFallback(ZAXPBYKERNEL ../arm/zaxpby.c)
set(SSUMKERNEL sum.S) SetFallback(SSUMKERNEL sum.S)
set(DSUMKERNEL sum.S) SetFallback(DSUMKERNEL sum.S)
set(CSUMKERNEL zsum.S) SetFallback(CSUMKERNEL zsum.S)
set(ZSUMKERNEL zsum.S) SetFallback(ZSUMKERNEL zsum.S)
set(QSUMKERNEL sum.S) SetFallback(QSUMKERNEL sum.S)
set(XSUMKERNEL zsum.S) SetFallback(XSUMKERNEL zsum.S)
if (BUILD_BFLOAT16) if (BUILD_BFLOAT16)
set(SHAMINKERNEL ../arm/amin.c) SetFallback(SHAMINKERNEL ../arm/amin.c)
set(SHAMAXKERNEL ../arm/amax.c) SetFallback(SHAMAXKERNEL ../arm/amax.c)
set(SHMAXKERNEL ../arm/max.c) SetFallback(SHMAXKERNEL ../arm/max.c)
set(SHMINKERNEL ../arm/min.c) SetFallback(SHMINKERNEL ../arm/min.c)
set(ISHAMAXKERNEL ../arm/iamax.c) SetFallback(ISHAMAXKERNEL ../arm/iamax.c)
set(ISHAMINKERNEL ../arm/iamin.c) SetFallback(ISHAMINKERNEL ../arm/iamin.c)
set(ISHMAXKERNEL ../arm/imax.c) SetFallback(ISHMAXKERNEL ../arm/imax.c)
set(ISHMINKERNEL ../arm/imin.c) SetFallback(ISHMINKERNEL ../arm/imin.c)
set(SHASUMKERNEL ../arm/asum.c) SetFallback(SHASUMKERNEL ../arm/asum.c)
set(SHAXPYKERNEL ../arm/axpy.c) SetFallback(SHAXPYKERNEL ../arm/axpy.c)
set(SHAXPBYKERNEL ../arm/axpby.c) SetFallback(SHAXPBYKERNEL ../arm/axpby.c)
set(SHCOPYKERNEL ../arm/copy.c) SetFallback(SHCOPYKERNEL ../arm/copy.c)
set(SBDOTKERNEL ../x86_64/sbdot.c) SetFallback(SBDOTKERNEL ../x86_64/sbdot.c)
set(SHROTKERNEL ../arm/rot.c) SetFallback(SHROTKERNEL ../arm/rot.c)
set(SHSCALKERNEL ../arm/scal.c) SetFallback(SHSCALKERNEL ../arm/scal.c)
set(SHNRM2KERNEL ../arm/nrm2.c) SetFallback(SHNRM2KERNEL ../arm/nrm2.c)
set(SHSUMKERNEL ../arm/sum.c) SetFallback(SHSUMKERNEL ../arm/sum.c)
set(SHSWAPKERNEL ../arm/swap.c) SetFallback(SHSWAPKERNEL ../arm/swap.c)
set(TOBF16KERNEL ../x86_64/tobf16.c) SetFallback(TOBF16KERNEL ../x86_64/tobf16.c)
set(BF16TOKERNEL ../x86_64/bf16to.c) SetFallback(BF16TOKERNEL ../x86_64/bf16to.c)
set(SBGEMVNKERNEL ../x86_64/sbgemv_n.c) SetFallback(SBGEMVNKERNEL ../x86_64/sbgemv_n.c)
set(SBGEMVTKERNEL ../x86_64/sbgemv_t.c) SetFallback(SBGEMVTKERNEL ../x86_64/sbgemv_t.c)
endif () endif ()
endmacro () endmacro ()
macro(SetDefaultL2) macro(SetDefaultL2)
set(SGEMVNKERNEL ../arm/gemv_n.c) SetFallback(SGEMVNKERNEL ../arm/gemv_n.c)
set(SGEMVTKERNEL ../arm/gemv_t.c) SetFallback(SGEMVTKERNEL ../arm/gemv_t.c)
set(DGEMVNKERNEL gemv_n.S) SetFallback(DGEMVNKERNEL gemv_n.S)
set(DGEMVTKERNEL gemv_t.S) SetFallback(DGEMVTKERNEL gemv_t.S)
set(CGEMVNKERNEL zgemv_n.S) SetFallback(CGEMVNKERNEL zgemv_n.S)
set(CGEMVTKERNEL zgemv_t.S) SetFallback(CGEMVTKERNEL zgemv_t.S)
set(ZGEMVNKERNEL zgemv_n.S) SetFallback(ZGEMVNKERNEL zgemv_n.S)
set(ZGEMVTKERNEL zgemv_t.S) SetFallback(ZGEMVTKERNEL zgemv_t.S)
set(QGEMVNKERNEL gemv_n.S) SetFallback(QGEMVNKERNEL gemv_n.S)
set(QGEMVTKERNEL gemv_t.S) SetFallback(QGEMVTKERNEL gemv_t.S)
set(XGEMVNKERNEL zgemv_n.S) SetFallback(XGEMVNKERNEL zgemv_n.S)
set(XGEMVTKERNEL zgemv_t.S) SetFallback(XGEMVTKERNEL zgemv_t.S)
set(SGERKERNEL ../generic/ger.c) SetFallback(SGERKERNEL ../generic/ger.c)
set(DGERKERNEL ../generic/ger.c) SetFallback(DGERKERNEL ../generic/ger.c)
set(QGERKERNEL ../generic/ger.c) SetFallback(QGERKERNEL ../generic/ger.c)
set(CGERUKERNEL ../generic/zger.c) SetFallback(CGERUKERNEL ../generic/zger.c)
set(CGERCKERNEL ../generic/zger.c) SetFallback(CGERCKERNEL ../generic/zger.c)
set(ZGERUKERNEL ../generic/zger.c) SetFallback(ZGERUKERNEL ../generic/zger.c)
set(ZGERCKERNEL ../generic/zger.c) SetFallback(ZGERCKERNEL ../generic/zger.c)
set(XGERUKERNEL ../generic/zger.c) SetFallback(XGERUKERNEL ../generic/zger.c)
set(XGERCKERNEL ../generic/zger.c) SetFallback(XGERCKERNEL ../generic/zger.c)
set(SSYMV_U_KERNEL ../generic/symv_k.c) SetFallback(SSYMV_U_KERNEL ../generic/symv_k.c)
set(SSYMV_L_KERNEL ../generic/symv_k.c) SetFallback(SSYMV_L_KERNEL ../generic/symv_k.c)
set(DSYMV_U_KERNEL ../generic/symv_k.c) SetFallback(DSYMV_U_KERNEL ../generic/symv_k.c)
set(DSYMV_L_KERNEL ../generic/symv_k.c) SetFallback(DSYMV_L_KERNEL ../generic/symv_k.c)
set(QSYMV_U_KERNEL ../generic/symv_k.c) SetFallback(QSYMV_U_KERNEL ../generic/symv_k.c)
set(QSYMV_L_KERNEL ../generic/symv_k.c) SetFallback(QSYMV_L_KERNEL ../generic/symv_k.c)
set(CSYMV_U_KERNEL ../generic/zsymv_k.c) SetFallback(CSYMV_U_KERNEL ../generic/zsymv_k.c)
set(CSYMV_L_KERNEL ../generic/zsymv_k.c) SetFallback(CSYMV_L_KERNEL ../generic/zsymv_k.c)
set(ZSYMV_U_KERNEL ../generic/zsymv_k.c) SetFallback(ZSYMV_U_KERNEL ../generic/zsymv_k.c)
set(ZSYMV_L_KERNEL ../generic/zsymv_k.c) SetFallback(ZSYMV_L_KERNEL ../generic/zsymv_k.c)
set(XSYMV_U_KERNEL ../generic/zsymv_k.c) SetFallback(XSYMV_U_KERNEL ../generic/zsymv_k.c)
set(XSYMV_L_KERNEL ../generic/zsymv_k.c) SetFallback(XSYMV_L_KERNEL ../generic/zsymv_k.c)
set(CHEMV_U_KERNEL ../generic/zhemv_k.c) SetFallback(CHEMV_U_KERNEL ../generic/zhemv_k.c)
set(CHEMV_L_KERNEL ../generic/zhemv_k.c) SetFallback(CHEMV_L_KERNEL ../generic/zhemv_k.c)
set(CHEMV_V_KERNEL ../generic/zhemv_k.c) SetFallback(CHEMV_V_KERNEL ../generic/zhemv_k.c)
set(CHEMV_M_KERNEL ../generic/zhemv_k.c) SetFallback(CHEMV_M_KERNEL ../generic/zhemv_k.c)
set(ZHEMV_U_KERNEL ../generic/zhemv_k.c) SetFallback(ZHEMV_U_KERNEL ../generic/zhemv_k.c)
set(ZHEMV_L_KERNEL ../generic/zhemv_k.c) SetFallback(ZHEMV_L_KERNEL ../generic/zhemv_k.c)
set(ZHEMV_V_KERNEL ../generic/zhemv_k.c) SetFallback(ZHEMV_V_KERNEL ../generic/zhemv_k.c)
set(ZHEMV_M_KERNEL ../generic/zhemv_k.c) SetFallback(ZHEMV_M_KERNEL ../generic/zhemv_k.c)
set(XHEMV_U_KERNEL ../generic/zhemv_k.c) SetFallback(XHEMV_U_KERNEL ../generic/zhemv_k.c)
set(XHEMV_L_KERNEL ../generic/zhemv_k.c) SetFallback(XHEMV_L_KERNEL ../generic/zhemv_k.c)
set(XHEMV_V_KERNEL ../generic/zhemv_k.c) SetFallback(XHEMV_V_KERNEL ../generic/zhemv_k.c)
set(XHEMV_M_KERNEL ../generic/zhemv_k.c) SetFallback(XHEMV_M_KERNEL ../generic/zhemv_k.c)
if (BUILD_BFLOAT16) if (BUILD_BFLOAT16)
set(SBGEMVNKERNEL ../x86_64/sbgemv_n.c) SetFallback(SBGEMVNKERNEL ../x86_64/sbgemv_n.c)
set(SBGEMVTKERNEL ../x86_64/sbgemv_t.c) SetFallback(SBGEMVTKERNEL ../x86_64/sbgemv_t.c)
set(SHGERKERNEL ../generic/ger.c) SetFallback(SHGERKERNEL ../generic/ger.c)
endif () endif ()
endmacro () endmacro ()
macro(SetDefaultL3) macro(SetDefaultL3)
set(SGEADD_KERNEL ../generic/geadd.c) SetFallback(SGEADD_KERNEL ../generic/geadd.c)
set(DGEADD_KERNEL ../generic/geadd.c) SetFallback(DGEADD_KERNEL ../generic/geadd.c)
set(CGEADD_KERNEL ../generic/zgeadd.c) SetFallback(CGEADD_KERNEL ../generic/zgeadd.c)
set(ZGEADD_KERNEL ../generic/zgeadd.c) SetFallback(ZGEADD_KERNEL ../generic/zgeadd.c)
if (BUILD_BFLOAT16) if (BUILD_BFLOAT16)
set(SHGEADD_KERNEL ../generic/geadd.c) SetFallback(SHGEADD_KERNEL ../generic/geadd.c)
set(SBGEMMKERNEL ../generic/gemmkernel_2x2.c) SetFallback(SBGEMMKERNEL ../generic/gemmkernel_2x2.c)
set(SBGEMM_BETA ../generic/gemm_beta.c) SetFallback(SBGEMM_BETA ../generic/gemm_beta.c)
set(SBGEMMINCOPY ../generic/gemm_ncopy_2.c) SetFallback(SBGEMMINCOPY ../generic/gemm_ncopy_2.c)
set(SBGEMMITCOPY ../generic/gemm_tcopy_2.c) SetFallback(SBGEMMITCOPY ../generic/gemm_tcopy_2.c)
set(SBGEMMONCOPY ../generic/gemm_ncopy_2.c) SetFallback(SBGEMMONCOPY ../generic/gemm_ncopy_2.c)
set(SBGEMMOTCOPY ../generic/gemm_tcopy_2.c) SetFallback(SBGEMMOTCOPY ../generic/gemm_tcopy_2.c)
set(SBGEMMINCOPYOBJ sbgemm_incopy.o) SetFallback(SBGEMMINCOPYOBJ sbgemm_incopy.o)
set(SBGEMMITCOPYOBJ sbgemm_itcopy.o) SetFallback(SBGEMMITCOPYOBJ sbgemm_itcopy.o)
set(SBGEMMONCOPYOBJ sbgemm_oncopy.o) SetFallback(SBGEMMONCOPYOBJ sbgemm_oncopy.o)
set(SBGEMMOTCOPYOBJ sbgemm_otcopy.o) SetFallback(SBGEMMOTCOPYOBJ sbgemm_otcopy.o)
endif () endif ()
endmacro () endmacro ()

View File

@ -9,11 +9,11 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS)
if (${DYNAMIC_ARCH}) if (${DYNAMIC_ARCH})
include("${PROJECT_SOURCE_DIR}/cmake/system.cmake") include("${PROJECT_SOURCE_DIR}/cmake/system.cmake")
endif () endif ()
ParseMakefileVars("${KERNELDIR}/KERNEL")
ParseMakefileVars("${KERNELDIR}/KERNEL.${TARGET_CORE}")
SetDefaultL1() SetDefaultL1()
SetDefaultL2() SetDefaultL2()
SetDefaultL3() SetDefaultL3()
ParseMakefileVars("${KERNELDIR}/KERNEL")
ParseMakefileVars("${KERNELDIR}/KERNEL.${TARGET_CORE}")
set(KERNEL_INTERFACE common_level1.h common_level2.h common_level3.h) set(KERNEL_INTERFACE common_level1.h common_level2.h common_level3.h)
if(NOT NO_LAPACK) if(NOT NO_LAPACK)