diff --git a/CMakeLists.txt b/CMakeLists.txt index e7ec90a2e7..09481ca04e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,6 +29,7 @@ option(ENABLE_MSCCL_KERNEL "Enable MSCCL while compiling" option(ENABLE_MSCCLPP "Enable MSCCL++" ON) option(ENABLE_MSCCLPP_CLIP "Enable MSCCL++ CLIP" OFF) option(ENABLE_MSCCLPP_EXECUTOR "Enable MSCCL++ Executor" OFF) +option(ENABLE_MSCCLPP_FORMAT_CHECKS "Enable formatting checks in MSCCL++" OFF) option(ENABLE_NPKIT "Enable NPKit" OFF) option(ENABLE_IFC "Enable indirect function call" OFF) option(INSTALL_DEPENDENCIES "Force install dependencies" OFF) diff --git a/cmake/MSCCLPP.cmake b/cmake/MSCCLPP.cmake index 51d07261a0..21fbc64e49 100644 --- a/cmake/MSCCLPP.cmake +++ b/cmake/MSCCLPP.cmake @@ -108,6 +108,11 @@ if(ENABLE_MSCCLPP) WORKING_DIRECTORY ${MSCCLPP_SOURCE} ) + execute_process( + COMMAND git apply ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/disable-format-checks.patch + WORKING_DIRECTORY ${MSCCLPP_SOURCE} + ) + set(CMAKE_INHERITED_ARGS "") set(CMAKE_ARGS_LIST "CMAKE_PREFIX_PATH;CMAKE_INSTALL_RPATH_USE_LINK_PATH;HIP_COMPILER") foreach(arg IN LISTS CMAKE_ARGS_LIST) @@ -140,7 +145,8 @@ if(ENABLE_MSCCLPP) #GIT_TAG 4ee15b7ad085daaf74349d4c49c9b8480d28f0dc INSTALL_DIR ${MSCCLPP_ROOT} LIST_SEPARATOR % - CMAKE_ARGS "-DGPU_TARGETS=${MSCCLPP_GPU_TARGETS}" -DMSCCLPP_BYPASS_GPU_CHECK=ON -DMSCCLPP_USE_ROCM=ON -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DMSCCLPP_BUILD_APPS_NCCL=ON -DMSCCLPP_BUILD_PYTHON_BINDINGS=OFF -DMSCCLPP_BUILD_TESTS=OFF -DMSCCLPP_CLIP_ENABLED=${ENABLE_MSCCLPP_CLIP} -DMSCCLPP_ENABLE_EXECUTOR=${ENABLE_MSCCLPP_EXECUTOR} -DCMAKE_INSTALL_PREFIX= -DCMAKE_VERBOSE_MAKEFILE=1 "${CMAKE_INHERITED_ARGS}" -DFETCHCONTENT_SOURCE_DIR_JSON=${JSON_SOURCE} LOG_DOWNLOAD FALSE + CMAKE_ARGS "-DGPU_TARGETS=${MSCCLPP_GPU_TARGETS}" -DMSCCLPP_BYPASS_GPU_CHECK=ON -DMSCCLPP_USE_ROCM=ON -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DMSCCLPP_BUILD_APPS_NCCL=ON -DMSCCLPP_BUILD_PYTHON_BINDINGS=OFF -DMSCCLPP_BUILD_TESTS=OFF -DMSCCLPP_CLIP_ENABLED=${ENABLE_MSCCLPP_CLIP} -DMSCCLPP_ENABLE_EXECUTOR=${ENABLE_MSCCLPP_EXECUTOR} -DMSCCLPP_ENABLE_FORMAT_CHECKS=${ENABLE_MSCCLPP_FORMAT_CHECKS} -DCMAKE_INSTALL_PREFIX= -DCMAKE_VERBOSE_MAKEFILE=1 "${CMAKE_INHERITED_ARGS}" -DFETCHCONTENT_SOURCE_DIR_JSON=${JSON_SOURCE} + LOG_DOWNLOAD FALSE LOG_CONFIGURE FALSE LOG_BUILD FALSE LOG_INSTALL FALSE @@ -150,6 +156,11 @@ if(ENABLE_MSCCLPP) find_package(mscclpp_nccl REQUIRED) + execute_process( + COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/disable-format-checks.patch + WORKING_DIRECTORY ${MSCCLPP_SOURCE} + ) + execute_process( COMMAND git apply --reverse ${CMAKE_CURRENT_SOURCE_DIR}/ext-src/disable-executor.patch WORKING_DIRECTORY ${MSCCLPP_SOURCE} diff --git a/ext-src/disable-format-checks.patch b/ext-src/disable-format-checks.patch new file mode 100644 index 0000000000..f7046b68be --- /dev/null +++ b/ext-src/disable-format-checks.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a94b634..09ca1fa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -92,7 +92,9 @@ else() + endif() + + # Format targets +-include(${PROJECT_SOURCE_DIR}/cmake/AddFormatTargets.cmake) ++if(MSCCLPP_ENABLE_FORMAT_CHECKS) ++ include(${PROJECT_SOURCE_DIR}/cmake/AddFormatTargets.cmake) ++endif() + + # Find ibverbs and libnuma + find_package(IBVerbs)