@@ -11,6 +11,16 @@ set(DNNL_ENABLE_PRIMITIVE_CACHE TRUE CACHE BOOL "" FORCE)
1111set (DNNL_LIBRARY_TYPE STATIC CACHE STRING "" FORCE)
1212
1313#find_package(TorchCCL REQUIRED)
14+ # Find OneCCL Lib
15+ set (DEPENDS_LIB)
16+ if (USE_CCL)
17+ include (${IPEX_ROOT_DIR} /cmake/Modules/FindoneCCL.cmake)
18+ # Find OneCCL Lib
19+ link_directories (${IPEX_CPU_CPP_THIRD_PARTY_ROOT} /oneCCL/deps/mpi/lib)
20+ find_package (oneCCL REQUIRED)
21+ list (APPEND DEPENDS_LIB oneCCL)
22+ list (APPEND DEPENDS_LIB mpi)
23+ endif ()
1424
1525# TODO: Once llga is merged into oneDNN, use oneDNN directly as the third_party of IPEX
1626# use the oneDNN in llga temporarily: third_party/llga/third_party/oneDNN
@@ -34,6 +44,14 @@ if(USE_LIBXSMM)
3444 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_LIBXSMM" )
3545endif (USE_LIBXSMM)
3646
47+ if (USE_CCL)
48+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_CCL" )
49+ endif (USE_CCL)
50+
51+ if (USE_SHM)
52+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_SHM" )
53+ endif (USE_SHM)
54+
3755set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBUILD_IPEX_MAIN_LIB" )
3856
3957# ---[ Main build
@@ -73,6 +91,7 @@ add_subdirectory(${IPEX_CPU_ROOT_DIR}/isa)
7391add_subdirectory (${IPEX_CPU_ROOT_DIR} /toolkit)
7492add_subdirectory (${IPEX_CPU_ROOT_DIR} /runtime)
7593add_subdirectory (${IPEX_CPU_ROOT_DIR} /utils)
94+ add_subdirectory (${IPEX_CPU_ROOT_DIR} /comm)
7695
7796add_subdirectory (${IPEX_CPU_ROOT_DIR} /jit)
7897
@@ -84,7 +103,8 @@ if(USE_LIBXSMM)
84103endif (USE_LIBXSMM)
85104
86105set (IPEX_CPU_CPP_SRCS ${IPEX_CPU_CPP_DYNDISP_SRCS} ${IPEX_CPU_CPP_ISA_SRCS_GEN} ${IPEX_CPU_CPP_UTILS_SRCS} ${IPEX_CPU_CPP_QUANTIZATION_SRCS} ${IPEX_CPU_CPP_JIT_SRCS} ${IPEX_JIT_COMMON_CPP_SRCS}
87- ${IPEX_CPU_CPP_ISA_SRCS} ${IPEX_CPU_CPP_IDEEP_SRCS} ${IPEX_CPU_CPP_AUTOCAST_SRCS} ${IPEX_CPU_CPP_ATEN_SRCS} ${IPEX_CPU_CPP_RUNTIME_SRCS} ${IPEX_CPU_CPP_TOOLKIT_SRCS} ${IPEX_UTLIS_CPP_SRCS} ${IPEX_CPU_CPP_TPP_SRCS} )
106+ ${IPEX_CPU_CPP_ISA_SRCS} ${IPEX_CPU_CPP_IDEEP_SRCS} ${IPEX_CPU_CPP_AUTOCAST_SRCS} ${IPEX_CPU_CPP_ATEN_SRCS} ${IPEX_CPU_CPP_RUNTIME_SRCS} ${IPEX_CPU_CPP_TOOLKIT_SRCS} ${IPEX_UTLIS_CPP_SRCS}
107+ ${IPEX_CPU_CPP_TPP_SRCS} ${IPEX_CPU_CPP_COMM_SRCS} )
88108
89109list (REMOVE_ITEM IPEX_CPU_CPP_SRCS ${IPEX_CPU_CPP_ISA_SRCS_ORIGIN} )
90110
@@ -123,6 +143,7 @@ target_include_directories(${PLUGIN_NAME_CPU} PUBLIC ${ONEDNN_GENERATED_INCLUDE}
123143
124144target_include_directories (${PLUGIN_NAME_CPU} PUBLIC ${IPEX_CPU_CPP_THIRD_PARTY_ROOT} /ideep/include )
125145target_include_directories (${PLUGIN_NAME_CPU} PUBLIC ${PYTHON_INCLUDE_DIR} )
146+ target_link_libraries (${PLUGIN_NAME_CPU} PUBLIC ${DEPENDS_LIB} )
126147
127148include (${IPEX_ROOT_DIR} /cmake/ClangFormat.cmake)
128149if (CLANG_FORMAT)
@@ -221,6 +242,7 @@ if(BUILD_STRIPPED_BIN)
221242 set_target_properties (${PLUGIN_NAME_CPU} PROPERTIES LINK_FLAGS_RELEASE -s)
222243endif ()
223244
245+
224246install (TARGETS ${PLUGIN_NAME_CPU}
225247 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
226248 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
0 commit comments