Changed kernel filenames to vars. These will need to be read from KERNEL.

Added some kernel/L3 objects.
This commit is contained in:
Hank Anderson 2015-02-09 09:52:14 -06:00
parent 7fa5c4e2fd
commit 4c65afcce1
1 changed files with 74 additions and 31 deletions

View File

@ -1,11 +1,8 @@
include_directories(${CMAKE_SOURCE_DIR}) include_directories(${CMAKE_SOURCE_DIR})
# TODO: need to read ${KERNELDIR}/KERNEL into CMake vars
# Makeflie # Makeflie
message(STATUS "${ARCH}")
if (${ARCH} STREQUAL "x86") if (${ARCH} STREQUAL "x86")
GenerateNamedObjects("${KERNELDIR}/cpuid.S" "") GenerateNamedObjects("${KERNELDIR}/cpuid.S" "")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
@ -14,56 +11,74 @@ endif ()
# Makefile.L1 # Makefile.L1
# these are using hardcoded filenames for now, should get them from the KERNEL vars, e.g. DAMAXKERNEL instead of amax.S # TODO: need to read ${KERNELDIR}/KERNEL into CMake vars
GenerateNamedObjects("${KERNELDIR}/amax.S" "DOUBLE" "USE_ABS" "amax_k") set(DAMAXKERNEL amax.S)
set(DAMINKERNEL amax.S)
set(DMAXKERNEL amax.S)
set(DMINKERNEL amax.S)
set(IDAMAXKERNEL iamax.S)
set(IDAMINKERNEL iamax.S)
set(IDMAXKERNEL iamax.S)
set(IDMINKERNEL iamax.S)
set(DASUMKERNEL asum.S)
set(DAXPYKERNEL axpy.S)
set(DCOPYKERNEL copy.S)
set(DDOTKERNEL dot.S)
set(DNRM2KERNEL nrm2.S)
set(DROTKERNEL rot.S)
set(DSCALKERNEL scal.S)
set(DSWAPKERNEL swap.S)
set(DAXPBYKERNEL ../arm/axpby.c)
GenerateNamedObjects("${KERNELDIR}/${DAMAXKERNEL}" "DOUBLE" "USE_ABS" "amax_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/amax.S" "DOUBLE" "USE_ABS;USE_MIN" "amin_k") GenerateNamedObjects("${KERNELDIR}/${DAMINKERNEL}" "DOUBLE" "USE_ABS;USE_MIN" "amin_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/amax.S" "DOUBLE" "" "max_k") GenerateNamedObjects("${KERNELDIR}/${DMAXKERNEL}" "DOUBLE" "" "max_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/amax.S" "DOUBLE" "" "min_k") GenerateNamedObjects("${KERNELDIR}/${DMINKERNEL}" "DOUBLE" "" "min_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/iamax.S" "DOUBLE" "USE_ABS" "i*amax_k") GenerateNamedObjects("${KERNELDIR}/${IDAMAXKERNEL}" "DOUBLE" "USE_ABS" "i*amax_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/iamax.S" "DOUBLE" "USE_ABS;USE_MIN" "i*amin_k") GenerateNamedObjects("${KERNELDIR}/${IDAMINKERNEL}" "DOUBLE" "USE_ABS;USE_MIN" "i*amin_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/iamax.S" "DOUBLE" "" "i*max_k") GenerateNamedObjects("${KERNELDIR}/${IDMAXKERNEL}" "DOUBLE" "" "i*max_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/iamax.S" "DOUBLE" "" "i*min_k") GenerateNamedObjects("${KERNELDIR}/${IDMINKERNEL}" "DOUBLE" "" "i*min_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/asum.S" "DOUBLE" "" "asum_k") GenerateNamedObjects("${KERNELDIR}/${DASUMKERNEL}" "DOUBLE" "" "asum_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/axpy.S" "DOUBLE" "" "axpy_k") GenerateNamedObjects("${KERNELDIR}/${DAXPYKERNEL}" "DOUBLE" "" "axpy_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/copy.S" "DOUBLE" "C_INTERFACE" "copy_k") GenerateNamedObjects("${KERNELDIR}/${DCOPYKERNEL}" "DOUBLE" "C_INTERFACE" "copy_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/dot.S" "DOUBLE" "" "dot_k") GenerateNamedObjects("${KERNELDIR}/${DDOTKERNEL}" "DOUBLE" "" "dot_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/nrm2.S" "DOUBLE" "" "nrm2_k") GenerateNamedObjects("${KERNELDIR}/${DNRM2KERNEL}" "DOUBLE" "" "nrm2_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/rot.S" "DOUBLE" "" "rot_k") GenerateNamedObjects("${KERNELDIR}/${DROTKERNEL}" "DOUBLE" "" "rot_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/scal.S" "DOUBLE" "" "scal_k") GenerateNamedObjects("${KERNELDIR}/${DSCALKERNEL}" "DOUBLE" "" "scal_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/swap.S" "DOUBLE" "" "swap_k") GenerateNamedObjects("${KERNELDIR}/${DSWAPKERNEL}" "DOUBLE" "" "swap_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("arm/axpby.c" "DOUBLE" "" "axpby_k") GenerateNamedObjects("${KERNELDIR}/${DAXPBYKERNEL}" "DOUBLE" "" "axpby_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
# Makefile.L2 # Makefile.L2
@ -81,17 +96,45 @@ GenerateNamedObjects("generic/ger.c" "DOUBLE" "" "ger_k")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT}) list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
# Makefile.L3 # Makefile.L3
#DKERNELOBJS += \
# dgemm_kernel$(TSUFFIX).$(SUFFIX) \
# $(DGEMMINCOPYOBJ) $(DGEMMITCOPYOBJ) \
# $(DGEMMONCOPYOBJ) $(DGEMMOTCOPYOBJ)
#DBLASOBJS += \ set(DGEMM_BETA ../generic/gemm_beta.c)
# dgemm_beta$(TSUFFIX).$(SUFFIX) \ set(DGEMMKERNEL gemm_kernel_2x4_penryn.S)
# dtrmm_kernel_LN$(TSUFFIX).$(SUFFIX) dtrmm_kernel_LT$(TSUFFIX).$(SUFFIX) \
# dtrmm_kernel_RN$(TSUFFIX).$(SUFFIX) dtrmm_kernel_RT$(TSUFFIX).$(SUFFIX) \ GenerateNamedObjects("${KERNELDIR}/${DGEMMKERNEL}" "DOUBLE")
# dtrsm_kernel_LN$(TSUFFIX).$(SUFFIX) dtrsm_kernel_LT$(TSUFFIX).$(SUFFIX) \ list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
# dtrsm_kernel_RN$(TSUFFIX).$(SUFFIX) dtrsm_kernel_RT$(TSUFFIX).$(SUFFIX) \
if (DGEMMINCOPY)
GenerateNamedObjects(${DGEMMINCOPY} "DOUBLE")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
endif ()
if (DGEMMITCOPY)
GenerateNamedObjects(${DGEMMITCOPY} "DOUBLE")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
endif ()
if (DGEMMONCOPY)
GenerateNamedObjects(${DGEMMONCOPY} "DOUBLE")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
endif ()
if (DGEMMOTCOPY)
GenerateNamedObjects(${DGEMMOTCOPY} "DOUBLE")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
endif ()
GenerateNamedObjects("${KERNELDIR}/${DGEMM_BETA}" "DOUBLE")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateCombinationObjects("${KERNELDIR}/${DGEMMKERNEL}" "LEFT;TRANSA" "R;N" "DOUBLE" "TRMMKERNEL" 2 "trmm_kernel")
list(APPEND DBLAS_OBJS ${COMBO_OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/${DGEMMKERNEL}" "DOUBLE" "UPPER;LN;TRSMKERNEL" "trsm_kernel_LN")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/${DGEMMKERNEL}" "DOUBLE" "LT;TRSMKERNEL" "trsm_kernel_LT")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/${DGEMMKERNEL}" "DOUBLE" "UPPER;RN;TRSMKERNEL" "trsm_kernel_RN")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
GenerateNamedObjects("${KERNELDIR}/${DGEMMKERNEL}" "DOUBLE" "RT;TRSMKERNEL" "trsm_kernel_RT")
list(APPEND DBLAS_OBJS ${OBJ_LIST_OUT})
#DBLASOBJS += \ #DBLASOBJS += \
# dtrmm_iunucopy$(TSUFFIX).$(SUFFIX) dtrmm_iunncopy$(TSUFFIX).$(SUFFIX) \ # dtrmm_iunucopy$(TSUFFIX).$(SUFFIX) dtrmm_iunncopy$(TSUFFIX).$(SUFFIX) \