From a64c6749b53fbd423e73ff42bf82bdecf6e0a219 Mon Sep 17 00:00:00 2001 From: Andrey Talman Date: Thu, 21 Apr 2022 12:15:51 -0400 Subject: [PATCH] CUDA 11.6 and cudnn related changes (#5803) Co-authored-by: Nikita Shulga Co-authored-by: Vasilis Vryniotis --- .circleci/config.yml | 448 ++++++++++++++++++++ .circleci/regenerate.py | 10 +- packaging/build_conda.sh | 4 +- packaging/pkg_helpers.bash | 95 +---- packaging/windows/internal/cuda_install.bat | 154 ++----- 5 files changed, 511 insertions(+), 200 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5d8e2fc5bc9..6e6e8656ab3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1141,6 +1141,12 @@ workflows: name: binary_linux_wheel_py3.7_cu115 python_version: '3.7' wheel_docker_image: pytorch/manylinux-cuda115 + - binary_linux_wheel: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + name: binary_linux_wheel_py3.7_cu116 + python_version: '3.7' + wheel_docker_image: pytorch/manylinux-cuda116 - binary_linux_wheel: cu_version: rocm4.5.2 name: binary_linux_wheel_py3.7_rocm4.5.2 @@ -1175,6 +1181,12 @@ workflows: name: binary_linux_wheel_py3.8_cu115 python_version: '3.8' wheel_docker_image: pytorch/manylinux-cuda115 + - binary_linux_wheel: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + name: binary_linux_wheel_py3.8_cu116 + python_version: '3.8' + wheel_docker_image: pytorch/manylinux-cuda116 - binary_linux_wheel: cu_version: rocm4.5.2 name: binary_linux_wheel_py3.8_rocm4.5.2 @@ -1209,6 +1221,12 @@ workflows: name: binary_linux_wheel_py3.9_cu115 python_version: '3.9' wheel_docker_image: pytorch/manylinux-cuda115 + - binary_linux_wheel: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + name: binary_linux_wheel_py3.9_cu116 + python_version: '3.9' + wheel_docker_image: pytorch/manylinux-cuda116 - binary_linux_wheel: cu_version: rocm4.5.2 name: binary_linux_wheel_py3.9_rocm4.5.2 @@ -1243,6 +1261,12 @@ workflows: name: binary_linux_wheel_py3.10_cu115 python_version: '3.10' wheel_docker_image: pytorch/manylinux-cuda115 + - binary_linux_wheel: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + name: binary_linux_wheel_py3.10_cu116 + python_version: '3.10' + wheel_docker_image: pytorch/manylinux-cuda116 - binary_linux_wheel: cu_version: rocm4.5.2 name: binary_linux_wheel_py3.10_rocm4.5.2 @@ -1304,6 +1328,15 @@ workflows: only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ name: binary_win_wheel_py3.7_cu115 python_version: '3.7' + - binary_win_wheel: + cu_version: cu116 + filters: + branches: + only: main + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: binary_win_wheel_py3.7_cu116 + python_version: '3.7' - binary_win_wheel: cu_version: cpu filters: @@ -1331,6 +1364,15 @@ workflows: only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ name: binary_win_wheel_py3.8_cu115 python_version: '3.8' + - binary_win_wheel: + cu_version: cu116 + filters: + branches: + only: main + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: binary_win_wheel_py3.8_cu116 + python_version: '3.8' - binary_win_wheel: cu_version: cpu filters: @@ -1358,6 +1400,15 @@ workflows: only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ name: binary_win_wheel_py3.9_cu115 python_version: '3.9' + - binary_win_wheel: + cu_version: cu116 + filters: + branches: + only: main + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: binary_win_wheel_py3.9_cu116 + python_version: '3.9' - binary_win_wheel: cu_version: cpu name: binary_win_wheel_py3.10_cpu @@ -1373,8 +1424,17 @@ workflows: python_version: '3.10' - binary_win_wheel: cu_version: cu115 + filters: + branches: + only: main + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ name: binary_win_wheel_py3.10_cu115 python_version: '3.10' + - binary_win_wheel: + cu_version: cu116 + name: binary_win_wheel_py3.10_cu116 + python_version: '3.10' - binary_linux_conda: conda_docker_image: pytorch/conda-builder:cpu cu_version: cpu @@ -1399,6 +1459,12 @@ workflows: name: binary_linux_conda_py3.7_cu115 python_version: '3.7' wheel_docker_image: pytorch/manylinux-cuda115 + - binary_linux_conda: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + name: binary_linux_conda_py3.7_cu116 + python_version: '3.7' + wheel_docker_image: pytorch/manylinux-cuda116 - binary_linux_conda: conda_docker_image: pytorch/conda-builder:cpu cu_version: cpu @@ -1423,6 +1489,12 @@ workflows: name: binary_linux_conda_py3.8_cu115 python_version: '3.8' wheel_docker_image: pytorch/manylinux-cuda115 + - binary_linux_conda: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + name: binary_linux_conda_py3.8_cu116 + python_version: '3.8' + wheel_docker_image: pytorch/manylinux-cuda116 - binary_linux_conda: conda_docker_image: pytorch/conda-builder:cpu cu_version: cpu @@ -1447,6 +1519,12 @@ workflows: name: binary_linux_conda_py3.9_cu115 python_version: '3.9' wheel_docker_image: pytorch/manylinux-cuda115 + - binary_linux_conda: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + name: binary_linux_conda_py3.9_cu116 + python_version: '3.9' + wheel_docker_image: pytorch/manylinux-cuda116 - binary_linux_conda: conda_docker_image: pytorch/conda-builder:cpu cu_version: cpu @@ -1471,6 +1549,12 @@ workflows: name: binary_linux_conda_py3.10_cu115 python_version: '3.10' wheel_docker_image: pytorch/manylinux-cuda115 + - binary_linux_conda: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + name: binary_linux_conda_py3.10_cu116 + python_version: '3.10' + wheel_docker_image: pytorch/manylinux-cuda116 - binary_macos_conda: conda_docker_image: pytorch/conda-builder:cpu cu_version: cpu @@ -1522,6 +1606,15 @@ workflows: only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ name: binary_win_conda_py3.7_cu115 python_version: '3.7' + - binary_win_conda: + cu_version: cu116 + filters: + branches: + only: main + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: binary_win_conda_py3.7_cu116 + python_version: '3.7' - binary_win_conda: cu_version: cpu filters: @@ -1549,6 +1642,15 @@ workflows: only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ name: binary_win_conda_py3.8_cu115 python_version: '3.8' + - binary_win_conda: + cu_version: cu116 + filters: + branches: + only: main + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: binary_win_conda_py3.8_cu116 + python_version: '3.8' - binary_win_conda: cu_version: cpu filters: @@ -1576,6 +1678,15 @@ workflows: only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ name: binary_win_conda_py3.9_cu115 python_version: '3.9' + - binary_win_conda: + cu_version: cu116 + filters: + branches: + only: main + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: binary_win_conda_py3.9_cu116 + python_version: '3.9' - binary_win_conda: cu_version: cpu name: binary_win_conda_py3.10_cpu @@ -1591,8 +1702,17 @@ workflows: python_version: '3.10' - binary_win_conda: cu_version: cu115 + filters: + branches: + only: main + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ name: binary_win_conda_py3.10_cu115 python_version: '3.10' + - binary_win_conda: + cu_version: cu116 + name: binary_win_conda_py3.10_cu116 + python_version: '3.10' - build_docs: filters: branches: @@ -1897,6 +2017,28 @@ workflows: requires: - nightly_binary_linux_wheel_py3.7_cu115 subfolder: cu115/ + - binary_linux_wheel: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_wheel_py3.7_cu116 + python_version: '3.7' + wheel_docker_image: pytorch/manylinux-cuda116 + - binary_wheel_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_wheel_py3.7_cu116_upload + requires: + - nightly_binary_linux_wheel_py3.7_cu116 + subfolder: cu116/ - binary_linux_wheel: cu_version: rocm4.5.2 filters: @@ -2027,6 +2169,28 @@ workflows: requires: - nightly_binary_linux_wheel_py3.8_cu115 subfolder: cu115/ + - binary_linux_wheel: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_wheel_py3.8_cu116 + python_version: '3.8' + wheel_docker_image: pytorch/manylinux-cuda116 + - binary_wheel_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_wheel_py3.8_cu116_upload + requires: + - nightly_binary_linux_wheel_py3.8_cu116 + subfolder: cu116/ - binary_linux_wheel: cu_version: rocm4.5.2 filters: @@ -2157,6 +2321,28 @@ workflows: requires: - nightly_binary_linux_wheel_py3.9_cu115 subfolder: cu115/ + - binary_linux_wheel: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_wheel_py3.9_cu116 + python_version: '3.9' + wheel_docker_image: pytorch/manylinux-cuda116 + - binary_wheel_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_wheel_py3.9_cu116_upload + requires: + - nightly_binary_linux_wheel_py3.9_cu116 + subfolder: cu116/ - binary_linux_wheel: cu_version: rocm4.5.2 filters: @@ -2287,6 +2473,28 @@ workflows: requires: - nightly_binary_linux_wheel_py3.10_cu115 subfolder: cu115/ + - binary_linux_wheel: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_wheel_py3.10_cu116 + python_version: '3.10' + wheel_docker_image: pytorch/manylinux-cuda116 + - binary_wheel_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_wheel_py3.10_cu116_upload + requires: + - nightly_binary_linux_wheel_py3.10_cu116 + subfolder: cu116/ - binary_linux_wheel: cu_version: rocm4.5.2 filters: @@ -2477,6 +2685,26 @@ workflows: requires: - nightly_binary_win_wheel_py3.7_cu115 subfolder: cu115/ + - binary_win_wheel: + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_wheel_py3.7_cu116 + python_version: '3.7' + - binary_wheel_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_wheel_py3.7_cu116_upload + requires: + - nightly_binary_win_wheel_py3.7_cu116 + subfolder: cu116/ - binary_win_wheel: cu_version: cpu filters: @@ -2537,6 +2765,26 @@ workflows: requires: - nightly_binary_win_wheel_py3.8_cu115 subfolder: cu115/ + - binary_win_wheel: + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_wheel_py3.8_cu116 + python_version: '3.8' + - binary_wheel_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_wheel_py3.8_cu116_upload + requires: + - nightly_binary_win_wheel_py3.8_cu116 + subfolder: cu116/ - binary_win_wheel: cu_version: cpu filters: @@ -2597,6 +2845,26 @@ workflows: requires: - nightly_binary_win_wheel_py3.9_cu115 subfolder: cu115/ + - binary_win_wheel: + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_wheel_py3.9_cu116 + python_version: '3.9' + - binary_wheel_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_wheel_py3.9_cu116_upload + requires: + - nightly_binary_win_wheel_py3.9_cu116 + subfolder: cu116/ - binary_win_wheel: cu_version: cpu filters: @@ -2657,6 +2925,26 @@ workflows: requires: - nightly_binary_win_wheel_py3.10_cu115 subfolder: cu115/ + - binary_win_wheel: + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_wheel_py3.10_cu116 + python_version: '3.10' + - binary_wheel_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_wheel_py3.10_cu116_upload + requires: + - nightly_binary_win_wheel_py3.10_cu116 + subfolder: cu116/ - binary_linux_conda: conda_docker_image: pytorch/conda-builder:cpu cu_version: cpu @@ -2741,6 +3029,27 @@ workflows: name: nightly_binary_linux_conda_py3.7_cu115_upload requires: - nightly_binary_linux_conda_py3.7_cu115 + - binary_linux_conda: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_conda_py3.7_cu116 + python_version: '3.7' + wheel_docker_image: pytorch/manylinux-cuda116 + - binary_conda_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_conda_py3.7_cu116_upload + requires: + - nightly_binary_linux_conda_py3.7_cu116 - binary_linux_conda: conda_docker_image: pytorch/conda-builder:cpu cu_version: cpu @@ -2825,6 +3134,27 @@ workflows: name: nightly_binary_linux_conda_py3.8_cu115_upload requires: - nightly_binary_linux_conda_py3.8_cu115 + - binary_linux_conda: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_conda_py3.8_cu116 + python_version: '3.8' + wheel_docker_image: pytorch/manylinux-cuda116 + - binary_conda_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_conda_py3.8_cu116_upload + requires: + - nightly_binary_linux_conda_py3.8_cu116 - binary_linux_conda: conda_docker_image: pytorch/conda-builder:cpu cu_version: cpu @@ -2909,6 +3239,27 @@ workflows: name: nightly_binary_linux_conda_py3.9_cu115_upload requires: - nightly_binary_linux_conda_py3.9_cu115 + - binary_linux_conda: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_conda_py3.9_cu116 + python_version: '3.9' + wheel_docker_image: pytorch/manylinux-cuda116 + - binary_conda_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_conda_py3.9_cu116_upload + requires: + - nightly_binary_linux_conda_py3.9_cu116 - binary_linux_conda: conda_docker_image: pytorch/conda-builder:cpu cu_version: cpu @@ -2993,6 +3344,27 @@ workflows: name: nightly_binary_linux_conda_py3.10_cu115_upload requires: - nightly_binary_linux_conda_py3.10_cu115 + - binary_linux_conda: + conda_docker_image: pytorch/conda-builder:cuda116 + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_conda_py3.10_cu116 + python_version: '3.10' + wheel_docker_image: pytorch/manylinux-cuda116 + - binary_conda_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_linux_conda_py3.10_cu116_upload + requires: + - nightly_binary_linux_conda_py3.10_cu116 - binary_macos_conda: conda_docker_image: pytorch/conda-builder:cpu cu_version: cpu @@ -3134,6 +3506,25 @@ workflows: name: nightly_binary_win_conda_py3.7_cu115_upload requires: - nightly_binary_win_conda_py3.7_cu115 + - binary_win_conda: + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_conda_py3.7_cu116 + python_version: '3.7' + - binary_conda_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_conda_py3.7_cu116_upload + requires: + - nightly_binary_win_conda_py3.7_cu116 - binary_win_conda: cu_version: cpu filters: @@ -3191,6 +3582,25 @@ workflows: name: nightly_binary_win_conda_py3.8_cu115_upload requires: - nightly_binary_win_conda_py3.8_cu115 + - binary_win_conda: + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_conda_py3.8_cu116 + python_version: '3.8' + - binary_conda_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_conda_py3.8_cu116_upload + requires: + - nightly_binary_win_conda_py3.8_cu116 - binary_win_conda: cu_version: cpu filters: @@ -3248,6 +3658,25 @@ workflows: name: nightly_binary_win_conda_py3.9_cu115_upload requires: - nightly_binary_win_conda_py3.9_cu115 + - binary_win_conda: + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_conda_py3.9_cu116 + python_version: '3.9' + - binary_conda_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_conda_py3.9_cu116_upload + requires: + - nightly_binary_win_conda_py3.9_cu116 - binary_win_conda: cu_version: cpu filters: @@ -3305,6 +3734,25 @@ workflows: name: nightly_binary_win_conda_py3.10_cu115_upload requires: - nightly_binary_win_conda_py3.10_cu115 + - binary_win_conda: + cu_version: cu116 + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_conda_py3.10_cu116 + python_version: '3.10' + - binary_conda_upload: + context: org-member + filters: + branches: + only: nightly + tags: + only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ + name: nightly_binary_win_conda_py3.10_cu116_upload + requires: + - nightly_binary_win_conda_py3.10_cu116 docker_build: triggers: - schedule: diff --git a/.circleci/regenerate.py b/.circleci/regenerate.py index 52f632fcb2a..c31194716f1 100755 --- a/.circleci/regenerate.py +++ b/.circleci/regenerate.py @@ -32,8 +32,8 @@ def build_workflows(prefix="", filter_branch=None, upload=False, indentation=6, for os_type in ["linux", "macos", "win"]: python_versions = PYTHON_VERSIONS cu_versions_dict = { - "linux": ["cpu", "cu102", "cu113", "cu115", "rocm4.5.2", "rocm5.0"], - "win": ["cpu", "cu113", "cu115"], + "linux": ["cpu", "cu102", "cu113", "cu115", "cu116", "rocm4.5.2", "rocm5.0"], + "win": ["cpu", "cu113", "cu115", "cu116"], "macos": ["cpu"], } cu_versions = cu_versions_dict[os_type] @@ -122,14 +122,10 @@ def upload_doc_job(filter_branch): manylinux_images = { - "cu92": "pytorch/manylinux-cuda92", - "cu101": "pytorch/manylinux-cuda101", "cu102": "pytorch/manylinux-cuda102", - "cu110": "pytorch/manylinux-cuda110", - "cu111": "pytorch/manylinux-cuda111", - "cu112": "pytorch/manylinux-cuda112", "cu113": "pytorch/manylinux-cuda113", "cu115": "pytorch/manylinux-cuda115", + "cu116": "pytorch/manylinux-cuda116", } diff --git a/packaging/build_conda.sh b/packaging/build_conda.sh index b127e0f10fa..6c11853bf8d 100755 --- a/packaging/build_conda.sh +++ b/packaging/build_conda.sh @@ -12,9 +12,9 @@ setup_conda_cudatoolkit_constraint setup_visual_studio_constraint setup_junit_results_folder -# nvidia channel included for cudatoolkit >= 11 however for 11.5 we use conda-forge +# nvidia channel included for cudatoolkit >= 11 however for 11.5 and 11.6 we use conda-forge export CUDATOOLKIT_CHANNEL="nvidia" -if [[ "$CU_VERSION" == cu115 ]]; then +if [[ "$CU_VERSION" == cu115 || "$CU_VERSION" == cu116 ]]; then export CUDATOOLKIT_CHANNEL="conda-forge" fi diff --git a/packaging/pkg_helpers.bash b/packaging/pkg_helpers.bash index 329891a0721..9da177dafaf 100644 --- a/packaging/pkg_helpers.bash +++ b/packaging/pkg_helpers.bash @@ -46,6 +46,14 @@ setup_cuda() { # Now work out the CUDA settings case "$CU_VERSION" in + cu116) + if [[ "$OSTYPE" == "msys" ]]; then + export CUDA_HOME="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.6" + else + export CUDA_HOME=/usr/local/cuda-11.6/ + fi + export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5;8.0;8.6" + ;; cu115) if [[ "$OSTYPE" == "msys" ]]; then export CUDA_HOME="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.5" @@ -62,30 +70,6 @@ setup_cuda() { fi export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5;8.0;8.6" ;; - cu112) - if [[ "$OSTYPE" == "msys" ]]; then - export CUDA_HOME="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.2" - else - export CUDA_HOME=/usr/local/cuda-11.2/ - fi - export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5;8.0;8.6" - ;; - cu111) - if [[ "$OSTYPE" == "msys" ]]; then - export CUDA_HOME="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.1" - else - export CUDA_HOME=/usr/local/cuda-11.1/ - fi - export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5;8.0;8.6" - ;; - cu110) - if [[ "$OSTYPE" == "msys" ]]; then - export CUDA_HOME="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.0" - else - export CUDA_HOME=/usr/local/cuda-11.0/ - fi - export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5;8.0" - ;; cu102) if [[ "$OSTYPE" == "msys" ]]; then export CUDA_HOME="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2" @@ -94,30 +78,6 @@ setup_cuda() { fi export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5" ;; - cu101) - if [[ "$OSTYPE" == "msys" ]]; then - export CUDA_HOME="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.1" - else - export CUDA_HOME=/usr/local/cuda-10.1/ - fi - export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5" - ;; - cu100) - if [[ "$OSTYPE" == "msys" ]]; then - export CUDA_HOME="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.0" - else - export CUDA_HOME=/usr/local/cuda-10.0/ - fi - export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5" - ;; - cu92) - if [[ "$OSTYPE" == "msys" ]]; then - export CUDA_HOME="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.2" - else - export CUDA_HOME=/usr/local/cuda-9.2/ - fi - export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0" - ;; cpu) ;; rocm*) @@ -289,33 +249,18 @@ setup_conda_cudatoolkit_constraint() { export CONDA_BUILD_VARIANT="cpu" else case "$CU_VERSION" in + cu116) + export CONDA_CUDATOOLKIT_CONSTRAINT="- cudatoolkit >=11.6,<11.7 # [not osx]" + ;; cu115) export CONDA_CUDATOOLKIT_CONSTRAINT="- cudatoolkit >=11.5,<11.6 # [not osx]" ;; cu113) export CONDA_CUDATOOLKIT_CONSTRAINT="- cudatoolkit >=11.3,<11.4 # [not osx]" ;; - cu112) - export CONDA_CUDATOOLKIT_CONSTRAINT="- cudatoolkit >=11.2,<11.3 # [not osx]" - ;; - cu111) - export CONDA_CUDATOOLKIT_CONSTRAINT="- cudatoolkit >=11.1,<11.2 # [not osx]" - ;; - cu110) - export CONDA_CUDATOOLKIT_CONSTRAINT="- cudatoolkit >=11.0,<11.1 # [not osx]" - ;; cu102) export CONDA_CUDATOOLKIT_CONSTRAINT="- cudatoolkit >=10.2,<10.3 # [not osx]" ;; - cu101) - export CONDA_CUDATOOLKIT_CONSTRAINT="- cudatoolkit >=10.1,<10.2 # [not osx]" - ;; - cu100) - export CONDA_CUDATOOLKIT_CONSTRAINT="- cudatoolkit >=10.0,<10.1 # [not osx]" - ;; - cu92) - export CONDA_CUDATOOLKIT_CONSTRAINT="- cudatoolkit >=9.2,<9.3 # [not osx]" - ;; cpu) export CONDA_CUDATOOLKIT_CONSTRAINT="" export CONDA_BUILD_VARIANT="cpu" @@ -336,30 +281,18 @@ setup_conda_cudatoolkit_plain_constraint() { export CMAKE_USE_CUDA=0 else case "$CU_VERSION" in + cu116) + export CONDA_CUDATOOLKIT_CONSTRAINT="cudatoolkit=11.6" + ;; cu115) export CONDA_CUDATOOLKIT_CONSTRAINT="cudatoolkit=11.5" ;; cu113) export CONDA_CUDATOOLKIT_CONSTRAINT="cudatoolkit=11.3" ;; - cu112) - export CONDA_CUDATOOLKIT_CONSTRAINT="cudatoolkit=11.2" - ;; - cu111) - export CONDA_CUDATOOLKIT_CONSTRAINT="cudatoolkit=11.1" - ;; cu102) export CONDA_CUDATOOLKIT_CONSTRAINT="cudatoolkit=10.2" ;; - cu101) - export CONDA_CUDATOOLKIT_CONSTRAINT="cudatoolkit=10.1" - ;; - cu100) - export CONDA_CUDATOOLKIT_CONSTRAINT="cudatoolkit=10.0" - ;; - cu92) - export CONDA_CUDATOOLKIT_CONSTRAINT="cudatoolkit=9.2" - ;; cpu) export CONDA_CUDATOOLKIT_CONSTRAINT="" export CONDA_BUILD_VARIANT="cpu" diff --git a/packaging/windows/internal/cuda_install.bat b/packaging/windows/internal/cuda_install.bat index 41960224eba..578e1c72ed5 100644 --- a/packaging/windows/internal/cuda_install.bat +++ b/packaging/windows/internal/cuda_install.bat @@ -20,72 +20,17 @@ set /a CUDA_VER=%CU_VERSION:cu=% set CUDA_VER_MAJOR=%CUDA_VER:~0,-1% set CUDA_VER_MINOR=%CUDA_VER:~-1,1% set CUDA_VERSION_STR=%CUDA_VER_MAJOR%.%CUDA_VER_MINOR% +set CUDNN_FOLDER="cuda" +set CUDNN_LIB_FOLDER="lib\x64" - -if %CUDA_VER% EQU 92 goto cuda92 -if %CUDA_VER% EQU 100 goto cuda100 -if %CUDA_VER% EQU 101 goto cuda101 if %CUDA_VER% EQU 102 goto cuda102 -if %CUDA_VER% EQU 110 goto cuda110 -if %CUDA_VER% EQU 111 goto cuda111 -if %CUDA_VER% EQU 112 goto cuda112 if %CUDA_VER% EQU 113 goto cuda113 if %CUDA_VER% EQU 115 goto cuda115 - +if %CUDA_VER% EQU 116 goto cuda116 echo CUDA %CUDA_VERSION_STR% is not supported exit /b 1 -:cuda92 -if not exist "%SRC_DIR%\temp_build\cuda_9.2.148_win10.exe" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/win2016/cuda_9.2.148_win10.exe --output "%SRC_DIR%\temp_build\cuda_9.2.148_win10.exe" - if errorlevel 1 exit /b 1 - set "CUDA_SETUP_FILE=%SRC_DIR%\temp_build\cuda_9.2.148_win10.exe" - set "ARGS=nvcc_9.2 cuobjdump_9.2 nvprune_9.2 cupti_9.2 cublas_9.2 cublas_dev_9.2 cudart_9.2 cufft_9.2 cufft_dev_9.2 curand_9.2 curand_dev_9.2 cusolver_9.2 cusolver_dev_9.2 cusparse_9.2 cusparse_dev_9.2 nvgraph_9.2 nvgraph_dev_9.2 npp_9.2 npp_dev_9.2 nvrtc_9.2 nvrtc_dev_9.2 nvml_dev_9.2" -) - -if not exist "%SRC_DIR%\temp_build\cudnn-9.2-windows10-x64-v7.2.1.38.zip" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/win2016/cudnn-9.2-windows10-x64-v7.2.1.38.zip --output "%SRC_DIR%\temp_build\cudnn-9.2-windows10-x64-v7.2.1.38.zip" - if errorlevel 1 exit /b 1 - set "CUDNN_SETUP_FILE=%SRC_DIR%\temp_build\cudnn-9.2-windows10-x64-v7.2.1.38.zip" -) - -goto cuda_common - -:cuda100 - -if not exist "%SRC_DIR%\temp_build\cuda_10.0.130_411.31_win10.exe" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/win2016/cuda_10.0.130_411.31_win10.exe --output "%SRC_DIR%\temp_build\cuda_10.0.130_411.31_win10.exe" - if errorlevel 1 exit /b 1 - set "CUDA_SETUP_FILE=%SRC_DIR%\temp_build\cuda_10.0.130_411.31_win10.exe" - set "ARGS=nvcc_10.0 cuobjdump_10.0 nvprune_10.0 cupti_10.0 cublas_10.0 cublas_dev_10.0 cudart_10.0 cufft_10.0 cufft_dev_10.0 curand_10.0 curand_dev_10.0 cusolver_10.0 cusolver_dev_10.0 cusparse_10.0 cusparse_dev_10.0 nvgraph_10.0 nvgraph_dev_10.0 npp_10.0 npp_dev_10.0 nvrtc_10.0 nvrtc_dev_10.0 nvml_dev_10.0" -) - -if not exist "%SRC_DIR%\temp_build\cudnn-10.0-windows10-x64-v7.4.1.5.zip" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/win2016/cudnn-10.0-windows10-x64-v7.4.1.5.zip --output "%SRC_DIR%\temp_build\cudnn-10.0-windows10-x64-v7.4.1.5.zip" - if errorlevel 1 exit /b 1 - set "CUDNN_SETUP_FILE=%SRC_DIR%\temp_build\cudnn-10.0-windows10-x64-v7.4.1.5.zip" -) - -goto cuda_common - -:cuda101 - -if not exist "%SRC_DIR%\temp_build\cuda_10.1.243_426.00_win10.exe" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/cuda_10.1.243_426.00_win10.exe --output "%SRC_DIR%\temp_build\cuda_10.1.243_426.00_win10.exe" - if errorlevel 1 exit /b 1 - set "CUDA_SETUP_FILE=%SRC_DIR%\temp_build\cuda_10.1.243_426.00_win10.exe" - set "ARGS=nvcc_10.1 cuobjdump_10.1 nvprune_10.1 cupti_10.1 cublas_10.1 cublas_dev_10.1 cudart_10.1 cufft_10.1 cufft_dev_10.1 curand_10.1 curand_dev_10.1 cusolver_10.1 cusolver_dev_10.1 cusparse_10.1 cusparse_dev_10.1 nvgraph_10.1 nvgraph_dev_10.1 npp_10.1 npp_dev_10.1 nvjpeg_10.1 nvjpeg_dev_10.1 nvrtc_10.1 nvrtc_dev_10.1 nvml_dev_10.1" -) - -if not exist "%SRC_DIR%\temp_build\cudnn-10.1-windows10-x64-v7.6.4.38.zip" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/cudnn-10.1-windows10-x64-v7.6.4.38.zip --output "%SRC_DIR%\temp_build\cudnn-10.1-windows10-x64-v7.6.4.38.zip" - if errorlevel 1 exit /b 1 - set "CUDNN_SETUP_FILE=%SRC_DIR%\temp_build\cudnn-10.1-windows10-x64-v7.6.4.38.zip" -) - -goto cuda_common - :cuda102 if not exist "%SRC_DIR%\temp_build\cuda_10.2.89_441.22_win10.exe" ( @@ -112,92 +57,81 @@ echo Installing GPU driver DLLs goto cuda_common -:cuda110 - -if not exist "%SRC_DIR%\temp_build\cuda_11.0.2_451.48_win10.exe" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/cuda_11.0.2_451.48_win10.exe --output "%SRC_DIR%\temp_build\cuda_11.0.2_451.48_win10.exe" - if errorlevel 1 exit /b 1 - set "CUDA_SETUP_FILE=%SRC_DIR%\temp_build\cuda_11.0.2_451.48_win10.exe" - set "ARGS=nvcc_11.0 cuobjdump_11.0 nvprune_11.0 nvprof_11.0 cupti_11.0 cublas_11.0 cublas_dev_11.0 cudart_11.0 cufft_11.0 cufft_dev_11.0 curand_11.0 curand_dev_11.0 cusolver_11.0 cusolver_dev_11.0 cusparse_11.0 cusparse_dev_11.0 npp_11.0 npp_dev_11.0 nvjpeg_11.0 nvjpeg_dev_11.0 nvrtc_11.0 nvrtc_dev_11.0 nvml_dev_11.0" -) - -if not exist "%SRC_DIR%\temp_build\cudnn-11.0-windows-x64-v8.0.4.30.zip" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/cudnn-11.0-windows-x64-v8.0.4.30.zip --output "%SRC_DIR%\temp_build\cudnn-11.0-windows-x64-v8.0.4.30.zip" - if errorlevel 1 exit /b 1 - set "CUDNN_SETUP_FILE=%SRC_DIR%\temp_build\cudnn-11.0-windows-x64-v8.0.4.30.zip" -) - -goto cuda_common - -:cuda111 +:cuda113 -if not exist "%SRC_DIR%\temp_build\cuda_11.1.1_456.81_win10.exe" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/cuda_11.1.1_456.81_win10.exe --output "%SRC_DIR%\temp_build\cuda_11.1.1_456.81_win10.exe" +set CUDA_INSTALL_EXE=cuda_11.3.0_465.89_win10.exe +if not exist "%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" ( + curl -k -L "https://ossci-windows.s3.amazonaws.com/%CUDA_INSTALL_EXE%" --output "%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" if errorlevel 1 exit /b 1 - set "CUDA_SETUP_FILE=%SRC_DIR%\temp_build\cuda_11.1.1_456.81_win10.exe" - set "ARGS=nvcc_11.1 cuobjdump_11.1 nvprune_11.1 nvprof_11.1 cupti_11.1 cublas_11.1 cublas_dev_11.1 cudart_11.1 cufft_11.1 cufft_dev_11.1 curand_11.1 curand_dev_11.1 cusolver_11.1 cusolver_dev_11.1 cusparse_11.1 cusparse_dev_11.1 npp_11.1 npp_dev_11.1 nvjpeg_11.1 nvjpeg_dev_11.1 nvrtc_11.1 nvrtc_dev_11.1 nvml_dev_11.1" -) + set "CUDA_SETUP_FILE=%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" + set "ARGS=thrust_11.3 nvcc_11.3 cuobjdump_11.3 nvprune_11.3 nvprof_11.3 cupti_11.3 cublas_11.3 cublas_dev_11.3 cudart_11.3 cufft_11.3 cufft_dev_11.3 curand_11.3 curand_dev_11.3 cusolver_11.3 cusolver_dev_11.3 cusparse_11.3 cusparse_dev_11.3 npp_11.3 npp_dev_11.3 nvjpeg_11.3 nvjpeg_dev_11.3 nvrtc_11.3 nvrtc_dev_11.3 nvml_dev_11.3" -if not exist "%SRC_DIR%\temp_build\cudnn-11.1-windows-x64-v8.0.5.39.zip" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/cudnn-11.1-windows-x64-v8.0.5.39.zip --output "%SRC_DIR%\temp_build\cudnn-11.1-windows-x64-v8.0.5.39.zip" - if errorlevel 1 exit /b 1 - set "CUDNN_SETUP_FILE=%SRC_DIR%\temp_build\cudnn-11.1-windows-x64-v8.0.5.39.zip" ) -goto cuda_common - -:cuda112 - -if not exist "%SRC_DIR%\temp_build\cuda_11.2.0_460.89_win10.exe" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/cuda_11.2.0_460.89_win10.exe --output "%SRC_DIR%\temp_build\cuda_11.2.0_460.89_win10.exe" +set CUDNN_INSTALL_ZIP=cudnn-windows-x86_64-8.3.2.44_cuda11.5-archive.zip +set CUDNN_FOLDER=cudnn-windows-x86_64-8.3.2.44_cuda11.5-archive +set CUDNN_LIB_FOLDER="lib" +if not exist "%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" ( + curl -k -L "http://s3.amazonaws.com/ossci-windows/%CUDNN_INSTALL_ZIP%" --output "%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" if errorlevel 1 exit /b 1 - set "CUDA_SETUP_FILE=%SRC_DIR%\temp_build\cuda_11.2.0_460.89_win10.exe" - set "ARGS=nvcc_11.2 cuobjdump_11.2 nvprune_11.2 nvprof_11.2 cupti_11.2 cublas_11.2 cublas_dev_11.2 cudart_11.2 cufft_11.2 cufft_dev_11.2 curand_11.2 curand_dev_11.2 cusolver_11.2 cusolver_dev_11.2 cusparse_11.2 cusparse_dev_11.2 npp_11.2 npp_dev_11.2 nvjpeg_11.2 nvjpeg_dev_11.2 nvrtc_11.2 nvrtc_dev_11.2 nvml_dev_11.2" -) + set "CUDNN_SETUP_FILE=%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" -if not exist "%SRC_DIR%\temp_build\cudnn-11.2-windows-x64-v8.1.0.77.zip" ( - curl -k -L http://s3.amazonaws.com/ossci-windows/cudnn-11.2-windows-x64-v8.1.0.77.zip --output "%SRC_DIR%\temp_build\cudnn-11.2-windows-x64-v8.1.0.77.zip" - if errorlevel 1 exit /b 1 - set "CUDNN_SETUP_FILE=%SRC_DIR%\temp_build\cudnn-11.2-windows-x64-v8.1.0.77.zip" + rem Make sure windows path contains zlib dll + curl -k -L "http://s3.amazonaws.com/ossci-windows/zlib123dllx64.zip" --output "%SRC_DIR%\temp_build\zlib123dllx64.zip" + 7z x "%SRC_DIR%\temp_build\zlib123dllx64.zip" -o"%SRC_DIR%\temp_build\zlib" + xcopy /Y "%SRC_DIR%\temp_build\zlib\dll_x64\*.dll" "C:\Windows\System32" ) goto cuda_common -:cuda113 +:cuda115 -set CUDA_INSTALL_EXE=cuda_11.3.0_465.89_win10.exe +set CUDA_INSTALL_EXE=cuda_11.5.0_496.13_win10.exe if not exist "%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" ( curl -k -L "https://ossci-windows.s3.amazonaws.com/%CUDA_INSTALL_EXE%" --output "%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" if errorlevel 1 exit /b 1 set "CUDA_SETUP_FILE=%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" - set "ARGS=thrust_11.3 nvcc_11.3 cuobjdump_11.3 nvprune_11.3 nvprof_11.3 cupti_11.3 cublas_11.3 cublas_dev_11.3 cudart_11.3 cufft_11.3 cufft_dev_11.3 curand_11.3 curand_dev_11.3 cusolver_11.3 cusolver_dev_11.3 cusparse_11.3 cusparse_dev_11.3 npp_11.3 npp_dev_11.3 nvjpeg_11.3 nvjpeg_dev_11.3 nvrtc_11.3 nvrtc_dev_11.3 nvml_dev_11.3" - + set "ARGS=thrust_11.5 nvcc_11.5 cuobjdump_11.5 nvprune_11.5 nvprof_11.5 cupti_11.5 cublas_11.5 cublas_dev_11.5 cudart_11.5 cufft_11.5 cufft_dev_11.5 curand_11.5 curand_dev_11.5 cusolver_11.5 cusolver_dev_11.5 cusparse_11.5 cusparse_dev_11.5 npp_11.5 npp_dev_11.5 nvrtc_11.5 nvrtc_dev_11.5 nvml_dev_11.5" ) -set CUDNN_INSTALL_ZIP=cudnn-11.3-windows-x64-v8.2.0.53.zip +set CUDNN_INSTALL_ZIP=cudnn-windows-x86_64-8.3.2.44_cuda11.5-archive.zip +set CUDNN_FOLDER=cudnn-windows-x86_64-8.3.2.44_cuda11.5-archive +set CUDNN_LIB_FOLDER="lib" if not exist "%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" ( curl -k -L "http://s3.amazonaws.com/ossci-windows/%CUDNN_INSTALL_ZIP%" --output "%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" if errorlevel 1 exit /b 1 set "CUDNN_SETUP_FILE=%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" + + rem Make sure windows path contains zlib dll + curl -k -L "http://s3.amazonaws.com/ossci-windows/zlib123dllx64.zip" --output "%SRC_DIR%\temp_build\zlib123dllx64.zip" + 7z x "%SRC_DIR%\temp_build\zlib123dllx64.zip" -o"%SRC_DIR%\temp_build\zlib" + xcopy /Y "%SRC_DIR%\temp_build\zlib\dll_x64\*.dll" "C:\Windows\System32" ) goto cuda_common -:cuda115 +:cuda116 -set CUDA_INSTALL_EXE=cuda_11.5.0_496.13_win10.exe +set CUDA_INSTALL_EXE=cuda_11.6.0_511.23_windows.exe if not exist "%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" ( curl -k -L "https://ossci-windows.s3.amazonaws.com/%CUDA_INSTALL_EXE%" --output "%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" if errorlevel 1 exit /b 1 set "CUDA_SETUP_FILE=%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" - set "ARGS=thrust_11.5 nvcc_11.5 cuobjdump_11.5 nvprune_11.5 nvprof_11.5 cupti_11.5 cublas_11.5 cublas_dev_11.5 cudart_11.5 cufft_11.5 cufft_dev_11.5 curand_11.5 curand_dev_11.5 cusolver_11.5 cusolver_dev_11.5 cusparse_11.5 cusparse_dev_11.5 npp_11.5 npp_dev_11.5 nvrtc_11.5 nvrtc_dev_11.5 nvml_dev_11.5" + set "ARGS=thrust_11.6 nvcc_11.6 cuobjdump_11.6 nvprune_11.6 nvprof_11.6 cupti_11.6 cublas_11.6 cublas_dev_11.6 cudart_11.6 cufft_11.6 cufft_dev_11.6 curand_11.6 curand_dev_11.6 cusolver_11.6 cusolver_dev_11.6 cusparse_11.6 cusparse_dev_11.6 npp_11.6 npp_dev_11.6 nvrtc_11.6 nvrtc_dev_11.6 nvml_dev_11.6" ) -set CUDNN_INSTALL_ZIP=cudnn-11.3-windows-x64-v8.2.0.53.zip +set CUDNN_INSTALL_ZIP=cudnn-windows-x86_64-8.3.2.44_cuda11.5-archive.zip +set CUDNN_FOLDER=cudnn-windows-x86_64-8.3.2.44_cuda11.5-archive +set CUDNN_LIB_FOLDER="lib" if not exist "%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" ( curl -k -L "http://s3.amazonaws.com/ossci-windows/%CUDNN_INSTALL_ZIP%" --output "%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" if errorlevel 1 exit /b 1 set "CUDNN_SETUP_FILE=%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" + + rem Make sure windows path contains zlib dll + curl -k -L "http://s3.amazonaws.com/ossci-windows/zlib123dllx64.zip" --output "%SRC_DIR%\temp_build\zlib123dllx64.zip" + 7z x "%SRC_DIR%\temp_build\zlib123dllx64.zip" -o"%SRC_DIR%\temp_build\zlib" + xcopy /Y "%SRC_DIR%\temp_build\zlib\dll_x64\*.dll" "C:\Windows\System32" ) goto cuda_common @@ -256,9 +190,9 @@ if not exist "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_ST echo Installing cuDNN... 7z x %CUDNN_SETUP_FILE% -o"%SRC_DIR%\temp_build\cudnn" -xcopy /Y "%SRC_DIR%\temp_build\cudnn\cuda\bin\*.*" "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%\bin" -xcopy /Y "%SRC_DIR%\temp_build\cudnn\cuda\lib\x64\*.*" "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%\lib\x64" -xcopy /Y "%SRC_DIR%\temp_build\cudnn\cuda\include\*.*" "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%\include" +xcopy /Y "%SRC_DIR%\temp_build\cudnn\%CUDNN_FOLDER%\bin\*.*" "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%\bin" +xcopy /Y "%SRC_DIR%\temp_build\cudnn\%CUDNN_FOLDER%\%CUDNN_LIB_FOLDER%\*.*" "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%\lib\x64" +xcopy /Y "%SRC_DIR%\temp_build\cudnn\%CUDNN_FOLDER%\include\*.*" "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%\include" echo Cleaning temp files rd /s /q "%SRC_DIR%\temp_build" || ver > nul