include(pten_kernel) set(kernel_declare_file ${PADDLE_BINARY_DIR}/paddle/pten/kernels/declarations.h.tmp CACHE INTERNAL "declarations.h file") set(kernel_declare_file_final ${PADDLE_BINARY_DIR}/paddle/pten/kernels/declarations.h) file(WRITE ${kernel_declare_file} "// Generated by the paddle/pten/kernels/CMakeLists.txt. DO NOT EDIT!\n\n#pragma once\n\n") # kernel primitive api add_subdirectory(primitive) # pten hybird functors and functions called by kernels add_subdirectory(hybird) add_subdirectory(cpu) if(WITH_GPU OR WITH_ROCM) add_subdirectory(gpu) endif() if(WITH_MKLDNN) # mkldnn will be deprecated and use the new name dnnl add_subdirectory(dnnl) endif() if(WITH_ASCEND_CL) add_subdirectory(npu) endif() if(WITH_XPU) add_subdirectory(xpu) endif() # pten depends all pten kernel targets set_property(GLOBAL PROPERTY PTEN_KERNELS "") set(COMMON_KERNEL_DEPS dense_tensor kernel_context kernel_factory) set(COMMON_KERNEL_DEPS ${COMMON_KERNEL_DEPS} eigen_function) # auto build kernel targets by cmake register_kernels(EXCLUDES flatten_kernel DEPS ${COMMON_KERNEL_DEPS}) # TODO(chenweihang): auto parse compile deps by include headers later set(FLATTEN_DEPS ${COMMON_KERNEL_DEPS} utils_cpu unary) if(WITH_GPU OR WITH_ROCM) set(FLATTEN_DEPS ${FLATTEN_DEPS} utils_gpu) elseif(WITH_XPU) set(FLATTEN_DEPS ${FLATTEN_DEPS} utils_xpu) endif() kernel_library(flatten_kernel DEPS ${FLATTEN_DEPS}) get_property(pten_kernels GLOBAL PROPERTY PTEN_KERNELS) message(STATUS "PTEN_KERNELS: ${pten_kernels}") copy_if_different(${kernel_declare_file} ${kernel_declare_file_final})