Skip to content

Commit 4ea8823

Browse files
committedFeb 6, 2025
Cancel NCCL slimming
1 parent e7754aa commit 4ea8823

File tree

1 file changed

+31
-31
lines changed

1 file changed

+31
-31
lines changed
 

‎cmake/External/nccl.cmake

+31-31
Original file line numberDiff line numberDiff line change
@@ -56,41 +56,41 @@ if(NOT __NCCL_INCLUDED)
5656
)
5757

5858
# Detect objcopy version
59-
execute_process(COMMAND "${CMAKE_OBJCOPY}" "--version" OUTPUT_VARIABLE OBJCOPY_VERSION_STR)
60-
string(REGEX REPLACE "GNU objcopy .+ ([0-9])\\.([0-9]+).*" "\\1" OBJCOPY_VERSION_MAJOR ${OBJCOPY_VERSION_STR})
61-
string(REGEX REPLACE "GNU objcopy .+ ([0-9])\\.([0-9]+).*" "\\2" OBJCOPY_VERSION_MINOR ${OBJCOPY_VERSION_STR})
59+
# execute_process(COMMAND "${CMAKE_OBJCOPY}" "--version" OUTPUT_VARIABLE OBJCOPY_VERSION_STR)
60+
# string(REGEX REPLACE "GNU objcopy .+ ([0-9])\\.([0-9]+).*" "\\1" OBJCOPY_VERSION_MAJOR ${OBJCOPY_VERSION_STR})
61+
# string(REGEX REPLACE "GNU objcopy .+ ([0-9])\\.([0-9]+).*" "\\2" OBJCOPY_VERSION_MINOR ${OBJCOPY_VERSION_STR})
6262

6363
# TODO: Replace me with SKIP_NCCL_SLIMMING option (and investigate why it does not work on newer compilers)
64-
if("$ENV{BUILD_ENVIRONMENT}" MATCHES ".*-libtorch-cxx11-abi$")
65-
# See https://github.com/pytorch/pytorch/issues/83887
66-
message(WARNING "Skip NCCL library slimming for cxx11-abi builds")
64+
# if("$ENV{BUILD_ENVIRONMENT}" MATCHES ".*-libtorch-cxx11-abi$")
65+
# # See https://github.com/pytorch/pytorch/issues/83887
66+
# message(WARNING "Skip NCCL library slimming for cxx11-abi builds")
67+
# set(__NCCL_LIBRARY_DEP nccl_external)
68+
# set(NCCL_LIBRARIES ${__NCCL_BUILD_DIR}/lib/libnccl_static.a)
69+
# elseif((${OBJCOPY_VERSION_MAJOR} GREATER 2) OR ((${OBJCOPY_VERSION_MAJOR} EQUAL 2) AND (${OBJCOPY_VERSION_MINOR} GREATER 27)))
70+
# message(WARNING "Enabling NCCL library slimming")
71+
# add_custom_command(
72+
# OUTPUT "${__NCCL_BUILD_DIR}/lib/libnccl_slim_static.a"
73+
# DEPENDS nccl_external
74+
# COMMAND "${CMAKE_COMMAND}" -E make_directory "${__NCCL_BUILD_DIR}/objects"
75+
# COMMAND cd objects
76+
# COMMAND "${CMAKE_AR}" x "${__NCCL_BUILD_DIR}/lib/libnccl_static.a"
77+
# COMMAND for obj in all_gather_* all_reduce_* broadcast_* reduce_*.o$<SEMICOLON> do "${CMAKE_OBJCOPY}" --remove-relocations .nvFatBinSegment --remove-section __nv_relfatbin $$obj$<SEMICOLON> done
78+
# COMMAND "${CMAKE_AR}" cr "${__NCCL_BUILD_DIR}/lib/libnccl_slim_static.a" "*.o"
79+
# COMMAND "${CMAKE_AR}" xN 1 "${__NCCL_BUILD_DIR}/lib/libnccl_static.a" net.o
80+
# COMMAND "${CMAKE_AR}" q "${__NCCL_BUILD_DIR}/lib/libnccl_slim_static.a" net.o
81+
# COMMAND cd -
82+
# COMMAND "${CMAKE_COMMAND}" -E remove_directory "${__NCCL_BUILD_DIR}/objects"
83+
# WORKING_DIRECTORY "${__NCCL_BUILD_DIR}"
84+
# COMMENT "Slimming NCCL"
85+
# )
86+
# add_custom_target(nccl_slim_external DEPENDS "${__NCCL_BUILD_DIR}/lib/libnccl_slim_static.a")
87+
# set(__NCCL_LIBRARY_DEP nccl_slim_external)
88+
# set(NCCL_LIBRARIES ${__NCCL_BUILD_DIR}/lib/libnccl_slim_static.a)
89+
# else()
90+
# message(WARNING "Objcopy version is too old to support NCCL library slimming")
6791
set(__NCCL_LIBRARY_DEP nccl_external)
6892
set(NCCL_LIBRARIES ${__NCCL_BUILD_DIR}/lib/libnccl_static.a)
69-
elseif((${OBJCOPY_VERSION_MAJOR} GREATER 2) OR ((${OBJCOPY_VERSION_MAJOR} EQUAL 2) AND (${OBJCOPY_VERSION_MINOR} GREATER 27)))
70-
message(WARNING "Enabling NCCL library slimming")
71-
add_custom_command(
72-
OUTPUT "${__NCCL_BUILD_DIR}/lib/libnccl_slim_static.a"
73-
DEPENDS nccl_external
74-
COMMAND "${CMAKE_COMMAND}" -E make_directory "${__NCCL_BUILD_DIR}/objects"
75-
COMMAND cd objects
76-
COMMAND "${CMAKE_AR}" x "${__NCCL_BUILD_DIR}/lib/libnccl_static.a"
77-
COMMAND for obj in all_gather_* all_reduce_* broadcast_* reduce_*.o$<SEMICOLON> do "${CMAKE_OBJCOPY}" --remove-relocations .nvFatBinSegment --remove-section __nv_relfatbin $$obj$<SEMICOLON> done
78-
COMMAND "${CMAKE_AR}" cr "${__NCCL_BUILD_DIR}/lib/libnccl_slim_static.a" "*.o"
79-
COMMAND "${CMAKE_AR}" xN 1 "${__NCCL_BUILD_DIR}/lib/libnccl_static.a" net.o
80-
COMMAND "${CMAKE_AR}" q "${__NCCL_BUILD_DIR}/lib/libnccl_slim_static.a" net.o
81-
COMMAND cd -
82-
COMMAND "${CMAKE_COMMAND}" -E remove_directory "${__NCCL_BUILD_DIR}/objects"
83-
WORKING_DIRECTORY "${__NCCL_BUILD_DIR}"
84-
COMMENT "Slimming NCCL"
85-
)
86-
add_custom_target(nccl_slim_external DEPENDS "${__NCCL_BUILD_DIR}/lib/libnccl_slim_static.a")
87-
set(__NCCL_LIBRARY_DEP nccl_slim_external)
88-
set(NCCL_LIBRARIES ${__NCCL_BUILD_DIR}/lib/libnccl_slim_static.a)
89-
else()
90-
message(WARNING "Objcopy version is too old to support NCCL library slimming")
91-
set(__NCCL_LIBRARY_DEP nccl_external)
92-
set(NCCL_LIBRARIES ${__NCCL_BUILD_DIR}/lib/libnccl_static.a)
93-
endif()
93+
# endif()
9494

9595
set(NCCL_FOUND TRUE)
9696
add_library(__caffe2_nccl INTERFACE)

0 commit comments

Comments
 (0)
Please sign in to comment.