add_subdirectory(dynload) add_subdirectory(gpu) set(BACKENDS_SRCS all_context.cc cpu/cpu_context.cc cpu/cpu_info.cc) if(NOT APPLE AND NOT WIN32) list(APPEND BACKENDS_SRCS device_code.cc) endif() if(WITH_GPU OR WITH_ROCM) list(APPEND BACKENDS_SRCS gpu/gpu_context.cc gpu/gpu_info.cc gpu/gpu_resources.cc) if(WITH_GPU) if(WIN32) nv_library( cuda_graph_lib static SRCS gpu/cuda/cuda_graph.cc DEPS dynload_cuda onednn) list(APPEND BACKENDS_SRCS gpu/cuda/cuda_info.cc) else() list(APPEND BACKENDS_SRCS gpu/cuda/cuda_info.cc gpu/cuda/cuda_graph.cc) endif() endif() if(WITH_ROCM) list(APPEND BACKENDS_SRCS gpu/rocm/rocm_info.cc gpu/rocm/hip_graph.cc) endif() endif() if(WITH_XPU) list(APPEND BACKENDS_SRCS xpu/xpu_context.cc xpu/xpu_info.cc xpu/enforce_xpu.cc) list(APPEND BACKENDS_SRCS xpu/cuda_graph.cc) list( APPEND BACKENDS_SRCS xpu/xpu_op_list.cc xpu/xpu1_op_list.cc xpu/xpu2_op_list.cc xpu/xpu3_op_list.cc xpu/xpu_l3_strategy.cc) endif() if(WITH_ONEDNN) list(APPEND BACKENDS_SRCS onednn/onednn_context.cc) list(APPEND BACKENDS_SRCS onednn/axpy_handler.cc) list(APPEND BACKENDS_SRCS onednn/matmul_utils.cc) endif() list( APPEND BACKENDS_SRCS callback_manager.cc stream.cc event.cc device_manager.cc context_pool.cc c_cuda_graph_lib.h) if(WITH_GPU OR WITH_ROCM OR WITH_CUSTOM_DEVICE) list(APPEND BACKENDS_SRCS device_base.cc) endif() if(WITH_CUSTOM_DEVICE) list( APPEND BACKENDS_SRCS custom/custom_context.cc custom/custom_device.cc custom/custom_device_func.cc custom/custom_device_op_list.cc custom/cuda_graph.h custom/cuda_graph.cc) endif() collect_srcs(backends_srcs SRCS ${BACKENDS_SRCS})