Merge pull request #599 from marian-nmt/nccl-unused-function

clang: Disable unused-function warnings for 3rd-party NCCL library
This commit is contained in:
Kenneth Heafield 2020-02-15 21:25:45 +00:00 committed by GitHub
commit 63272d1bc4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -86,6 +86,12 @@ if(CUDA_FOUND)
if(COMPILE_CUDA_SM70) if(COMPILE_CUDA_SM70)
set(GENCODE "${GENCODE} -gencode=arch=compute_70,code=sm_70") set(GENCODE "${GENCODE} -gencode=arch=compute_70,code=sm_70")
endif(COMPILE_CUDA_SM70) endif(COMPILE_CUDA_SM70)
# clang generates a lot of unused function warnings for NCCL
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(NCCL_CXXFLAGS "-Wno-unused-function")
else()
set(NCCL_CXXFLAGS "")
endif()
# install nccl in ${CMAKE_BINARY_DIR}/local similar to /usr/local linux installation # install nccl in ${CMAKE_BINARY_DIR}/local similar to /usr/local linux installation
ExternalProject_Add(nccl_install ExternalProject_Add(nccl_install
@ -95,7 +101,7 @@ if(CUDA_FOUND)
BUILD_COMMAND BUILD_COMMAND
$(MAKE) -f ${CMAKE_CURRENT_SOURCE_DIR}/nccl/Makefile src.build $(MAKE) -f ${CMAKE_CURRENT_SOURCE_DIR}/nccl/Makefile src.build
BUILDDIR=${CMAKE_BINARY_DIR}/local CUDA_HOME=${CUDA_TOOLKIT_ROOT_DIR} BUILDDIR=${CMAKE_BINARY_DIR}/local CUDA_HOME=${CUDA_TOOLKIT_ROOT_DIR}
CUDA8_GENCODE=${GENCODE} CXX=${CMAKE_CXX_COMPILER} CUDA8_GENCODE=${GENCODE} CXX=${CMAKE_CXX_COMPILER} CXXFLAGS=${NCCL_CXXFLAGS}
INSTALL_COMMAND "") INSTALL_COMMAND "")
set_target_properties(nccl PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/local/lib/libnccl_static.a) set_target_properties(nccl PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/local/lib/libnccl_static.a)