@@ -56,41 +56,41 @@ if(NOT __NCCL_INCLUDED)
56
56
)
57
57
58
58
# 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})
62
62
63
63
# 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")
67
91
set (__NCCL_LIBRARY_DEP nccl_external)
68
92
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()
94
94
95
95
set (NCCL_FOUND TRUE )
96
96
add_library (__caffe2_nccl INTERFACE )
0 commit comments