From 2878ae8a1f28e25192197aac30003fb1c1734633 Mon Sep 17 00:00:00 2001 From: Dick Carter Date: Fri, 11 Sep 2020 23:37:31 -0700 Subject: [PATCH 1/3] [1.x] Backport Add cmake flag USE_FATBIN_COMPRESSION, ON by default (#19123) --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8c7cfe1a2a78..92dd32b52b20 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,7 @@ Format: Auto | Common | All | LIST(ARCH_AND_PTX ...) option(USE_NCCL "Use NVidia NCCL with CUDA" OFF) option(USE_OPENCV "Build with OpenCV support" ON) option(USE_OPENMP "Build with Openmp support" ON) +option(USE_FATBIN_COMPRESSION "Compress nvcc fatbin output" ON) cmake_dependent_option(USE_CUDNN "Build with cudnn support" ON "USE_CUDA" OFF) # one could set CUDNN_ROOT for search path cmake_dependent_option(USE_NVTX "Build with nvtx support if found" ON "USE_CUDA" OFF) cmake_dependent_option(USE_SSE "Build with x86 SSE instruction support" ON "NOT ARM" OFF) @@ -669,6 +670,10 @@ endif() add_subdirectory("3rdparty/mshadow") set(MXNET_INSTALL_TARGETS mxnet) +if(USE_CUDA AND USE_FATBIN_COMPRESSION) + string(APPEND CMAKE_CUDA_FLAGS "--fatbin-options -compress-all ") + message("-- CUDA: Adding NVCC options: --fatbin-options -compress-all ") +endif() if(UNIX) string(APPEND CMAKE_CUDA_FLAGS "${CUDA_ARCH_FLAGS_SPACES}") # Create dummy file since we want an empty shared library before linking From 4bb3df00ba5c509975363da8ece5cd89dc8f574a Mon Sep 17 00:00:00 2001 From: Dick Carter Date: Tue, 15 Sep 2020 23:32:49 -0700 Subject: [PATCH 2/3] Trigger CI From 38c9d57f9a14578be4fc739b9d6880b49b00c4fc Mon Sep 17 00:00:00 2001 From: Dick Carter Date: Wed, 16 Sep 2020 14:41:44 -0700 Subject: [PATCH 3/3] Appending to existing CMAKE_CUDA_FLAGS in all cases --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 92dd32b52b20..74374ab66b1b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -671,11 +671,11 @@ add_subdirectory("3rdparty/mshadow") set(MXNET_INSTALL_TARGETS mxnet) if(USE_CUDA AND USE_FATBIN_COMPRESSION) - string(APPEND CMAKE_CUDA_FLAGS "--fatbin-options -compress-all ") - message("-- CUDA: Adding NVCC options: --fatbin-options -compress-all ") + string(APPEND CMAKE_CUDA_FLAGS " --fatbin-options --compress-all") + message("-- CUDA: Adding NVCC options: --fatbin-options --compress-all") endif() if(UNIX) - string(APPEND CMAKE_CUDA_FLAGS "${CUDA_ARCH_FLAGS_SPACES}") + string(APPEND CMAKE_CUDA_FLAGS " ${CUDA_ARCH_FLAGS_SPACES}") # Create dummy file since we want an empty shared library before linking set(DUMMY_SOURCE ${CMAKE_BINARY_DIR}/dummy.c) file(WRITE ${DUMMY_SOURCE} "") @@ -722,7 +722,7 @@ elseif(MSVC) COMMAND gen_warp $ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/ DEPENDS $) else(USE_SPLIT_ARCH_DLL) string(REPLACE ";" " " NVCC_FLAGS_ARCH "${NVCC_FLAGS_ARCH}") - set(CMAKE_CUDA_FLAGS "${CUDA_ARCH_FLAGS_SPACES}") + string(APPEND CMAKE_CUDA_FLAGS " ${CUDA_ARCH_FLAGS_SPACES}") add_library(mxnet SHARED ${SOURCE}) target_link_libraries(mxnet PUBLIC mshadow) target_compile_options(