mirror of
https://github.com/microsoft/mscclpp.git
synced 2026-03-23 16:47:48 +00:00
Reorganize current native algorithm implementation and DSL algorithm implementation. Provide unified API for DSL algo and native algo and provide interface to tune the algo Provide interface for pytorch integration with native API and DSL --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: chhwang <8018170+chhwang@users.noreply.github.com>
28 lines
1.1 KiB
CMake
28 lines
1.1 KiB
CMake
# Copyright (c) Microsoft Corporation.
|
|
# Licensed under the MIT license.
|
|
|
|
find_package(Python 3.8 COMPONENTS Interpreter Development.Module REQUIRED)
|
|
include(FetchContent)
|
|
FetchContent_Declare(nanobind GIT_REPOSITORY https://github.com/wjakob/nanobind.git GIT_TAG v1.9.2)
|
|
FetchContent_MakeAvailable(nanobind)
|
|
|
|
FetchContent_Declare(dlpack
|
|
GIT_REPOSITORY https://github.com/dmlc/dlpack.git
|
|
GIT_TAG 5c210da409e7f1e51ddf445134a4376fdbd70d7d
|
|
)
|
|
|
|
FetchContent_GetProperties(dlpack)
|
|
if(NOT dlpack_POPULATED)
|
|
FetchContent_Populate(dlpack)
|
|
# Add dlpack subdirectory but exclude it from installation
|
|
add_subdirectory(${dlpack_SOURCE_DIR} ${dlpack_BINARY_DIR} EXCLUDE_FROM_ALL)
|
|
endif()
|
|
|
|
file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS *.cpp)
|
|
nanobind_add_module(mscclpp_py ${SOURCES})
|
|
set_target_properties(mscclpp_py PROPERTIES OUTPUT_NAME _mscclpp)
|
|
set_target_properties(mscclpp_py PROPERTIES INSTALL_RPATH "\$ORIGIN/lib")
|
|
target_link_libraries(mscclpp_py PRIVATE dlpack mscclpp mscclpp_collectives ${GPU_LIBRARIES})
|
|
target_include_directories(mscclpp_py SYSTEM PRIVATE ${GPU_INCLUDE_DIRS})
|
|
install(TARGETS mscclpp_py LIBRARY DESTINATION .)
|