From 4fd5d36459cf40dd322d7361153d1f775cfcc51d Mon Sep 17 00:00:00 2001 From: Nikita Shulga Date: Thu, 11 Nov 2021 16:44:04 -0800 Subject: [PATCH 1/3] Set cuversion to 113 for cmake builds --- .circleci/config.yml | 6 +++--- .circleci/regenerate.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c0c47d62e7a..4c7bf22dc67 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1644,16 +1644,16 @@ workflows: name: cmake_linux_cpu python_version: '3.8' - cmake_linux_gpu: - cu_version: cu102 + cu_version: cu113 name: cmake_linux_gpu python_version: '3.8' - wheel_docker_image: pytorch/manylinux-cuda102 + wheel_docker_image: pytorch/manylinux-cuda113 - cmake_windows_cpu: cu_version: cpu name: cmake_windows_cpu python_version: '3.8' - cmake_windows_gpu: - cu_version: cu102 + cu_version: cu113 name: cmake_windows_gpu python_version: '3.8' - cmake_macos_cpu: diff --git a/.circleci/regenerate.py b/.circleci/regenerate.py index ac903fd0f71..2413e4adbac 100755 --- a/.circleci/regenerate.py +++ b/.circleci/regenerate.py @@ -268,9 +268,9 @@ def cmake_workflows(indentation=6): for device in device_types: job = {"name": f"cmake_{os_type}_{device}", "python_version": python_version} - job["cu_version"] = "cu102" if device == "gpu" else "cpu" + job["cu_version"] = "cu113" if device == "gpu" else "cpu" if device == "gpu" and os_type == "linux": - job["wheel_docker_image"] = "pytorch/manylinux-cuda102" + job["wheel_docker_image"] = "pytorch/manylinux-cuda113" jobs.append({f"cmake_{os_type}_{device}": job}) return indent(indentation, jobs) From c7e6ea59ff979b1c991365ac146a32daf58a0e1b Mon Sep 17 00:00:00 2001 From: Nikita Shulga Date: Tue, 16 Nov 2021 08:35:54 -0800 Subject: [PATCH 2/3] Build CUDA-11 Windows cmake using C++17 --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2dec2de88e7..5082f374736 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,11 @@ if(WITH_CUDA) add_definitions(-D__CUDA_NO_HALF_OPERATORS__) add_definitions(-DWITH_CUDA) set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --expt-relaxed-constexpr") + # CUDA-11.x can not be compiled using C++14 standard on Windows + string(REGEX MATCH "^[0-9]+" CUDA_MAJOR ${CMAKE_CUDA_COMPILER_VERSION}) + if(${CUDA_MAJOR} GREATER 10 AND MSVC) + set(CMAKE_CXX_STANDARD 17) + endif() endif() find_package(Python3 COMPONENTS Development) From 8a6713c2e8055217089c7f0663d53438888509d9 Mon Sep 17 00:00:00 2001 From: Nikita Shulga Date: Tue, 16 Nov 2021 08:39:22 -0800 Subject: [PATCH 3/3] Cherry-pick pkg_helper changes from pytorch/audio back to vision --- packaging/pkg_helpers.bash | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/packaging/pkg_helpers.bash b/packaging/pkg_helpers.bash index 897cc103345..d670f789548 100644 --- a/packaging/pkg_helpers.bash +++ b/packaging/pkg_helpers.bash @@ -52,7 +52,6 @@ setup_cuda() { else export CUDA_HOME=/usr/local/cuda-11.3/ fi - export FORCE_CUDA=1 export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5;8.0;8.6" ;; cu112) @@ -61,7 +60,6 @@ setup_cuda() { else export CUDA_HOME=/usr/local/cuda-11.2/ fi - export FORCE_CUDA=1 export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5;8.0;8.6" ;; cu111) @@ -70,7 +68,6 @@ setup_cuda() { else export CUDA_HOME=/usr/local/cuda-11.1/ fi - export FORCE_CUDA=1 export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5;8.0;8.6" ;; cu110) @@ -79,7 +76,6 @@ setup_cuda() { else export CUDA_HOME=/usr/local/cuda-11.0/ fi - export FORCE_CUDA=1 export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5;8.0" ;; cu102) @@ -88,7 +84,6 @@ setup_cuda() { else export CUDA_HOME=/usr/local/cuda-10.2/ fi - export FORCE_CUDA=1 export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5" ;; cu101) @@ -97,7 +92,6 @@ setup_cuda() { else export CUDA_HOME=/usr/local/cuda-10.1/ fi - export FORCE_CUDA=1 export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5" ;; cu100) @@ -106,7 +100,6 @@ setup_cuda() { else export CUDA_HOME=/usr/local/cuda-10.0/ fi - export FORCE_CUDA=1 export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5" ;; cu92) @@ -115,7 +108,6 @@ setup_cuda() { else export CUDA_HOME=/usr/local/cuda-9.2/ fi - export FORCE_CUDA=1 export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0" ;; cpu) @@ -128,6 +120,11 @@ setup_cuda() { exit 1 ;; esac + if [[ -n "$CUDA_HOME" ]]; then + # Adds nvcc binary to the search path so that CMake's `find_package(CUDA)` will pick the right one + export PATH="$CUDA_HOME/bin:$PATH" + export FORCE_CUDA=1 + fi } # Populate build version if necessary, and add version suffix