diff --git a/.github/workflows/build-conda-images.yml b/.github/workflows/build-conda-images.yml index 533aea817..72579c9e7 100644 --- a/.github/workflows/build-conda-images.yml +++ b/.github/workflows/build-conda-images.yml @@ -26,7 +26,7 @@ jobs: runs-on: linux.2xlarge strategy: matrix: - cuda_version: ["10.2", "11.3", "11.5", "11.6", "11.7", "11.8", "cpu"] + cuda_version: ["11.6", "11.7", "11.8", "cpu"] env: CUDA_VERSION: ${{ matrix.cuda_version }} steps: diff --git a/.github/workflows/build-libtorch-images.yml b/.github/workflows/build-libtorch-images.yml index f866b27ec..686ab577b 100644 --- a/.github/workflows/build-libtorch-images.yml +++ b/.github/workflows/build-libtorch-images.yml @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-18.04 strategy: matrix: - cuda_version: ["11.7", "11.6", "11.5", "11.3", "10.2"] + cuda_version: ["11.7", "11.6"] env: GPU_ARCH_TYPE: cuda GPU_ARCH_VERSION: ${{ matrix.cuda_version }} diff --git a/.github/workflows/build-magma-linux.yml b/.github/workflows/build-magma-linux.yml index f6398ae2b..5585e6bd9 100644 --- a/.github/workflows/build-magma-linux.yml +++ b/.github/workflows/build-magma-linux.yml @@ -30,7 +30,7 @@ jobs: runs-on: linux.2xlarge strategy: matrix: - cuda_version: ["118", "117", "116", "115"] + cuda_version: ["118", "117", "116"] steps: - name: Checkout PyTorch builder uses: actions/checkout@v2 diff --git a/.github/workflows/build-manywheel-images.yml b/.github/workflows/build-manywheel-images.yml index 27f0da234..9bca4ee4c 100644 --- a/.github/workflows/build-manywheel-images.yml +++ b/.github/workflows/build-manywheel-images.yml @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-18.04 strategy: matrix: - cuda_version: ["11.7", "11.6", "11.3"] + cuda_version: ["11.7", "11.6"] env: GPU_ARCH_TYPE: cuda GPU_ARCH_VERSION: ${{ matrix.cuda_version }} diff --git a/analytics/validate_binaries.py b/analytics/validate_binaries.py index c3fd4ff2b..65965c59a 100644 --- a/analytics/validate_binaries.py +++ b/analytics/validate_binaries.py @@ -6,10 +6,10 @@ PLATFORMS = ["osx-64", "linux-64", "win-64"] PYTHON_VERSIONS = ["3.10", "3.9", "3.8", "3.7"] CUDA_CUDNN_VERSION = [ - ("11.5", "8.3.2"), ("11.3", "8.2.0"), ("11.1", "8.0.5"), ("10.2", "7.6.5"), ("cpu", None) + ("11.7", "8.5.0"), ("cpu", None) ] CHANNEL = "pytorch-test" -VERSION = "1.11.*" +VERSION = "1.13.*" def generate_expected_builds(platform: str) -> set: @@ -22,9 +22,6 @@ def generate_expected_builds(platform: str) -> set: for cuda_version, cudnn_version in CUDA_CUDNN_VERSION: if platform == "win-64": - if cuda_version == "10.2": - # win does not support cuda 10.2 - continue cudnn_version = "8" if cuda_version == "cpu": diff --git a/common/install_cuda.sh b/common/install_cuda.sh index 4e9a41e9d..de64d43df 100644 --- a/common/install_cuda.sh +++ b/common/install_cuda.sh @@ -2,80 +2,6 @@ set -ex -function install_102 { - echo "Installing CUDA 10.2 and CuDNN" - rm -rf /usr/local/cuda-10.2 /usr/local/cuda - # # install CUDA 10.2 in the same container - wget -q http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run - chmod +x cuda_10.2.89_440.33.01_linux.run - ./cuda_10.2.89_440.33.01_linux.run --extract=/tmp/cuda - rm -f cuda_10.2.89_440.33.01_linux.run - mv /tmp/cuda/cuda-toolkit /usr/local/cuda-10.2 - rm -rf /tmp/cuda - rm -f /usr/local/cuda && ln -s /usr/local/cuda-10.2 /usr/local/cuda - - # install CUDA 10.2 CuDNN - # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement - mkdir tmp_cudnn && cd tmp_cudnn - wget -q http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb -O cudnn-dev.deb - wget -q http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb -O cudnn.deb - ar -x cudnn-dev.deb && tar -xvf data.tar.xz - ar -x cudnn.deb && tar -xvf data.tar.xz - mkdir -p cuda/include && mkdir -p cuda/lib64 - cp -a usr/include/x86_64-linux-gnu/cudnn_v7.h cuda/include/cudnn.h - cp -a usr/lib/x86_64-linux-gnu/libcudnn* cuda/lib64 - mv cuda/lib64/libcudnn_static_v7.a cuda/lib64/libcudnn_static.a - ln -s libcudnn.so.7 cuda/lib64/libcudnn.so - chmod +x cuda/lib64/*.so - cp -a cuda/include/* /usr/local/cuda/include/ - cp -a cuda/lib64/* /usr/local/cuda/lib64/ - cd .. - rm -rf tmp_cudnn - ldconfig -} - -function install_113 { - echo "Installing CUDA 11.3 and CuDNN 8.3" - rm -rf /usr/local/cuda-11.3 /usr/local/cuda - # install CUDA 11.3.1 in the same container - wget -q https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run - chmod +x cuda_11.3.1_465.19.01_linux.run - ./cuda_11.3.1_465.19.01_linux.run --toolkit --silent - rm -f cuda_11.3.1_465.19.01_linux.run - rm -f /usr/local/cuda && ln -s /usr/local/cuda-11.3 /usr/local/cuda - - # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement - mkdir tmp_cudnn && cd tmp_cudnn - wget -q https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.2/local_installers/11.5/cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz -O cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz - tar xf cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz - cp -a cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive/include/* /usr/local/cuda/include/ - cp -a cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive/lib/* /usr/local/cuda/lib64/ - cd .. - rm -rf tmp_cudnn - ldconfig -} - -function install_115 { - echo "Installing CUDA 11.5 and CuDNN 8.3" - rm -rf /usr/local/cuda-11.5 /usr/local/cuda - # install CUDA 11.5.0 in the same container - wget -q https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run - chmod +x cuda_11.5.0_495.29.05_linux.run - ./cuda_11.5.0_495.29.05_linux.run --toolkit --silent - rm -f cuda_11.5.0_495.29.05_linux.run - rm -f /usr/local/cuda && ln -s /usr/local/cuda-11.5 /usr/local/cuda - - # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement - mkdir tmp_cudnn && cd tmp_cudnn - wget -q https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.2/local_installers/11.5/cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz -O cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz - tar xf cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive.tar.xz - cp -a cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive/include/* /usr/local/cuda/include/ - cp -a cudnn-linux-x86_64-8.3.2.44_cuda11.5-archive/lib/* /usr/local/cuda/lib64/ - cd .. - rm -rf tmp_cudnn - ldconfig -} - function install_116 { echo "Installing CUDA 11.6 and CuDNN 8.3" rm -rf /usr/local/cuda-11.6 /usr/local/cuda @@ -139,101 +65,6 @@ function install_118 { ldconfig } -function prune_102 { - echo "Pruning CUDA 10.2 and CuDNN" - ##################################################################################### - # CUDA 10.2 prune static libs - ##################################################################################### - export NVPRUNE="/usr/local/cuda-10.2/bin/nvprune" - export CUDA_LIB_DIR="/usr/local/cuda-10.2/lib64" - - export GENCODE="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75" - export GENCODE_CUDNN="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75" - - if [[ -n "$OVERRIDE_GENCODE" ]]; then - export GENCODE=$OVERRIDE_GENCODE - fi - - # all CUDA libs except CuDNN and CuBLAS (cudnn and cublas need arch 3.7 included) - ls $CUDA_LIB_DIR/ | grep "\.a" | grep -v "culibos" | grep -v "cudart" | grep -v "cudnn" | grep -v "cublas" | grep -v "metis" \ - | xargs -I {} bash -c \ - "echo {} && $NVPRUNE $GENCODE $CUDA_LIB_DIR/{} -o $CUDA_LIB_DIR/{}" - - # prune CuDNN and CuBLAS - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcudnn_static.a -o $CUDA_LIB_DIR/libcudnn_static.a - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublas_static.a -o $CUDA_LIB_DIR/libcublas_static.a - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublasLt_static.a -o $CUDA_LIB_DIR/libcublasLt_static.a - - ##################################################################################### - # CUDA 10.2 prune visual tools - ##################################################################################### - export CUDA_BASE="/usr/local/cuda-10.2/" - rm -rf $CUDA_BASE/libnsight $CUDA_BASE/libnvvp $CUDA_BASE/nsightee_plugins $CUDA_BASE/nsight-compute-2019.5.0 $CUDA_BASE/nsight-systems-2019.5.2 - -} - -function prune_113 { - echo "Pruning CUDA 11.3 and CuDNN" - ##################################################################################### - # CUDA 11.3 prune static libs - ##################################################################################### - export NVPRUNE="/usr/local/cuda-11.3/bin/nvprune" - export CUDA_LIB_DIR="/usr/local/cuda-11.3/lib64" - - export GENCODE="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86" - export GENCODE_CUDNN="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86" - - if [[ -n "$OVERRIDE_GENCODE" ]]; then - export GENCODE=$OVERRIDE_GENCODE - fi - - # all CUDA libs except CuDNN and CuBLAS (cudnn and cublas need arch 3.7 included) - ls $CUDA_LIB_DIR/ | grep "\.a" | grep -v "culibos" | grep -v "cudart" | grep -v "cudnn" | grep -v "cublas" | grep -v "metis" \ - | xargs -I {} bash -c \ - "echo {} && $NVPRUNE $GENCODE $CUDA_LIB_DIR/{} -o $CUDA_LIB_DIR/{}" - - # prune CuDNN and CuBLAS - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublas_static.a -o $CUDA_LIB_DIR/libcublas_static.a - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublasLt_static.a -o $CUDA_LIB_DIR/libcublasLt_static.a - - ##################################################################################### - # CUDA 11.3 prune visual tools - ##################################################################################### - export CUDA_BASE="/usr/local/cuda-11.3/" - rm -rf $CUDA_BASE/libnvvp $CUDA_BASE/nsightee_plugins $CUDA_BASE/nsight-compute-2021.1.0 $CUDA_BASE/nsight-systems-2021.1.3 -} - -function prune_115 { - echo "Pruning CUDA 11.5 and CuDNN" - ##################################################################################### - # CUDA 11.3 prune static libs - ##################################################################################### - export NVPRUNE="/usr/local/cuda-11.5/bin/nvprune" - export CUDA_LIB_DIR="/usr/local/cuda-11.5/lib64" - - export GENCODE="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86" - export GENCODE_CUDNN="-gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86" - - if [[ -n "$OVERRIDE_GENCODE" ]]; then - export GENCODE=$OVERRIDE_GENCODE - fi - - # all CUDA libs except CuDNN and CuBLAS (cudnn and cublas need arch 3.7 included) - ls $CUDA_LIB_DIR/ | grep "\.a" | grep -v "culibos" | grep -v "cudart" | grep -v "cudnn" | grep -v "cublas" | grep -v "metis" \ - | xargs -I {} bash -c \ - "echo {} && $NVPRUNE $GENCODE $CUDA_LIB_DIR/{} -o $CUDA_LIB_DIR/{}" - - # prune CuDNN and CuBLAS - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublas_static.a -o $CUDA_LIB_DIR/libcublas_static.a - $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublasLt_static.a -o $CUDA_LIB_DIR/libcublasLt_static.a - - ##################################################################################### - # CUDA 11.5 prune visual tools - ##################################################################################### - export CUDA_BASE="/usr/local/cuda-11.5/" - rm -rf $CUDA_BASE/libnvvp $CUDA_BASE/nsightee_plugins $CUDA_BASE/nsight-compute-2021.3.0 $CUDA_BASE/nsight-systems-2021.3.3 -} - function prune_116 { echo "Pruning CUDA 11.6 and CuDNN" ##################################################################################### @@ -331,12 +162,6 @@ function prune_118 { while test $# -gt 0 do case "$1" in - 10.2) install_102; prune_102 - ;; - 11.3) install_113; prune_113 - ;; - 11.5) install_115; prune_115 - ;; 11.6) install_116; prune_116 ;; 11.7) install_117; prune_117 diff --git a/conda/Dockerfile b/conda/Dockerfile index dbbb85c1c..70166bd4b 100644 --- a/conda/Dockerfile +++ b/conda/Dockerfile @@ -44,18 +44,6 @@ FROM base as cuda RUN rm -rf /usr/local/cuda-* ADD ./common/install_cuda.sh install_cuda.sh -FROM cuda as cuda10.2 -RUN bash ./install_cuda.sh 10.2 -ENV DESIRED_CUDA=10.2 - -FROM cuda as cuda11.3 -RUN bash ./install_cuda.sh 11.3 -ENV DESIRED_CUDA=11.3 - -FROM cuda as cuda11.5 -RUN bash ./install_cuda.sh 11.5 -ENV DESIRED_CUDA=11.5 - FROM cuda as cuda11.6 RUN bash ./install_cuda.sh 11.6 ENV DESIRED_CUDA=11.6 @@ -74,9 +62,6 @@ ADD ./common/install_mnist.sh install_mnist.sh RUN bash ./install_mnist.sh FROM base as all_cuda -COPY --from=cuda10.2 /usr/local/cuda-10.2 /usr/local/cuda-10.2 -COPY --from=cuda11.3 /usr/local/cuda-11.3 /usr/local/cuda-11.3 -COPY --from=cuda11.5 /usr/local/cuda-11.5 /usr/local/cuda-11.5 COPY --from=cuda11.6 /usr/local/cuda-11.6 /usr/local/cuda-11.6 COPY --from=cuda11.7 /usr/local/cuda-11.7 /usr/local/cuda-11.7 COPY --from=cuda11.8 /usr/local/cuda-11.8 /usr/local/cuda-11.8 diff --git a/conda/build_all_docker.sh b/conda/build_all_docker.sh index c91951b40..1dc5ffe4f 100755 --- a/conda/build_all_docker.sh +++ b/conda/build_all_docker.sh @@ -4,6 +4,6 @@ set -eou pipefail TOPDIR=$(git rev-parse --show-toplevel) -for CUDA_VERSION in 11.8 11.7 11.6 11.5 11.3 10.2 cpu; do +for CUDA_VERSION in 11.8 11.7 11.6 cpu; do CUDA_VERSION="${CUDA_VERSION}" conda/build_docker.sh done diff --git a/conda/build_pytorch.sh b/conda/build_pytorch.sh index dd7cf71a6..7d130e8c0 100755 --- a/conda/build_pytorch.sh +++ b/conda/build_pytorch.sh @@ -272,12 +272,6 @@ else elif [[ "$desired_cuda" == "11.6" ]]; then export CONDA_CUDATOOLKIT_CONSTRAINT=" - pytorch-cuda >=11.6,<11.7 # [not osx]" export MAGMA_PACKAGE=" - magma-cuda116 # [not osx and not win]" - elif [[ "$desired_cuda" == "11.3" ]]; then - export CONDA_CUDATOOLKIT_CONSTRAINT=" - cudatoolkit >=11.3,<11.4 # [not osx]" - export MAGMA_PACKAGE=" - magma-cuda113 # [not osx and not win]" - elif [[ "$desired_cuda" == "10.2" ]]; then - export CONDA_CUDATOOLKIT_CONSTRAINT=" - cudatoolkit >=10.2,<10.3 # [not osx]" - export MAGMA_PACKAGE=" - magma-cuda102 # [not osx and not win]" else echo "unhandled desired_cuda: $desired_cuda" exit 1 diff --git a/conda/pytorch-nightly/build.sh b/conda/pytorch-nightly/build.sh index cb5e7005d..c80d27f32 100755 --- a/conda/pytorch-nightly/build.sh +++ b/conda/pytorch-nightly/build.sh @@ -55,24 +55,7 @@ if [[ -n "$build_with_cuda" ]]; then export TORCH_CUDA_ARCH_LIST="3.7+PTX;5.0" export USE_STATIC_CUDNN=1 # links cudnn statically (driven by tools/setup_helpers/cudnn.py) - if [[ $CUDA_VERSION == 10* ]]; then - export TORCH_CUDA_ARCH_LIST="$TORCH_CUDA_ARCH_LIST;6.0;6.1;7.0;7.5" - DEPS_LIST=(/usr/local/cuda-10.2/extras/CUPTI/lib64/libcupti.so.10.2) - elif [[ $CUDA_VERSION == 11.3* ]]; then - export TORCH_CUDA_ARCH_LIST="$TORCH_CUDA_ARCH_LIST;6.0;6.1;7.0;7.5;8.0;8.6" - #for cuda 11.3 we use cudnn 8.3.2.44 https://docs.nvidia.com/deeplearning/cudnn/release-notes/rel_8.html - #which does not have single static libcudnn_static.a deliverable to link with - export USE_STATIC_CUDNN=0 - #for cuda 11.3 include all dynamic loading libraries - DEPS_LIST=(/usr/local/cuda/lib64/libcudnn*.so.8 /usr/local/cuda-11.3/extras/CUPTI/lib64/libcupti.so.11.3) - elif [[ $CUDA_VERSION == 11.5* ]]; then - export TORCH_CUDA_ARCH_LIST="$TORCH_CUDA_ARCH_LIST;6.0;6.1;7.0;7.5;8.0;8.6" - #for cuda 11.5 we use cudnn 8.3.2.44 https://docs.nvidia.com/deeplearning/cudnn/release-notes/rel_8.html - #which does not have single static libcudnn_static.a deliverable to link with - export USE_STATIC_CUDNN=0 - #for cuda 11.5 include all dynamic loading libraries - DEPS_LIST=(/usr/local/cuda/lib64/libcudnn*.so.8 /usr/local/cuda-11.5/extras/CUPTI/lib64/libcupti.so.11.5) - elif [[ $CUDA_VERSION == 11.6* ]]; then + if [[ $CUDA_VERSION == 11.6* ]]; then export TORCH_CUDA_ARCH_LIST="$TORCH_CUDA_ARCH_LIST;6.0;6.1;7.0;7.5;8.0;8.6" #for cuda 11.5 we use cudnn 8.3.2.44 https://docs.nvidia.com/deeplearning/cudnn/release-notes/rel_8.html #which does not have single static libcudnn_static.a deliverable to link with diff --git a/libtorch/Dockerfile b/libtorch/Dockerfile index 80b081e0e..9e2b3f696 100644 --- a/libtorch/Dockerfile +++ b/libtorch/Dockerfile @@ -44,18 +44,6 @@ ADD ./common/install_conda.sh install_conda.sh RUN bash ./install_conda.sh && rm install_conda.sh RUN /opt/conda/bin/conda install -y cmake=3.18 -FROM cuda as cuda10.2 -RUN bash ./install_cuda.sh 10.2 -RUN bash ./install_magma.sh 10.2 - -FROM cuda as cuda11.3 -RUN bash ./install_cuda.sh 11.3 -RUN bash ./install_magma.sh 11.3 - -FROM cuda as cuda11.5 -RUN bash ./install_cuda.sh 11.5 -RUN bash ./install_magma.sh 11.5 - FROM cuda as cuda11.6 RUN bash ./install_cuda.sh 11.6 RUN bash ./install_magma.sh 11.6 diff --git a/libtorch/build_all_docker.sh b/libtorch/build_all_docker.sh index 5703ca41c..ed45ceb60 100755 --- a/libtorch/build_all_docker.sh +++ b/libtorch/build_all_docker.sh @@ -4,7 +4,7 @@ set -eou pipefail TOPDIR=$(git rev-parse --show-toplevel) -for cuda_version in 11.7 11.6 11.5 11.3 10.2; do +for cuda_version in 11.7 11.6; do GPU_ARCH_TYPE=cuda GPU_ARCH_VERSION="${cuda_version}" "${TOPDIR}/libtorch/build_docker.sh" done diff --git a/magma/Makefile b/magma/Makefile index 9fe83673a..ec12e267b 100644 --- a/magma/Makefile +++ b/magma/Makefile @@ -1,7 +1,7 @@ SHELL=/usr/bin/env bash -DESIRED_CUDA ?= 11.3 -PACKAGE_NAME ?= magma-cuda113 +DESIRED_CUDA ?= 11.6 +PACKAGE_NAME ?= magma-cuda116 CUDA_ARCH_LIST ?= -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 DOCKER_RUN = set -eou pipefail; docker run --rm -i \ @@ -17,9 +17,6 @@ DOCKER_RUN = set -eou pipefail; docker run --rm -i \ all: magma-cuda118 all: magma-cuda117 all: magma-cuda116 -all: magma-cuda115 -all: magma-cuda113 -all: magma-cuda102 .PHONY: clean: @@ -46,23 +43,3 @@ magma-cuda116: PACKAGE_NAME := magma-cuda116 magma-cuda116: CUDA_ARCH_LIST += -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 magma-cuda116: $(DOCKER_RUN) - -.PHONY: magma-cuda115 -magma-cuda115: DESIRED_CUDA := 11.5 -magma-cuda115: PACKAGE_NAME := magma-cuda115 -magma-cuda115: CUDA_ARCH_LIST += -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -magma-cuda115: - $(DOCKER_RUN) - -.PHONY: magma-cuda113 -magma-cuda113: DESIRED_CUDA := 11.3 -magma-cuda113: PACKAGE_NAME := magma-cuda113 -magma-cuda113: CUDA_ARCH_LIST += -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -magma-cuda113: - $(DOCKER_RUN) - -.PHONY: magma-cuda102 -magma-cuda102: DESIRED_CUDA := 10.2 -magma-cuda102: PACKAGE_NAME := magma-cuda102 -magma-cuda102: - $(DOCKER_RUN) diff --git a/manywheel/build_all_docker.sh b/manywheel/build_all_docker.sh index d50eea49d..4c138bf1c 100644 --- a/manywheel/build_all_docker.sh +++ b/manywheel/build_all_docker.sh @@ -9,7 +9,7 @@ MANYLINUX_VERSION=2014 GPU_ARCH_TYPE=cpu "${TOPDIR}/manywheel/build_docker.sh" GPU_ARCH_TYPE=cpu-cxx11-abi "${TOPDIR}/manywheel/build_docker.sh" -for cuda_version in 11.5 11.3 10.2; do +for cuda_version in 11.7 11.6; do GPU_ARCH_TYPE=cuda GPU_ARCH_VERSION="${cuda_version}" "${TOPDIR}/manywheel/build_docker.sh" MANYLINUX_VERSION=2014 GPU_ARCH_TYPE=cuda GPU_ARCH_VERSION="${cuda_version}" "${TOPDIR}/manywheel/build_docker.sh" done diff --git a/manywheel/build_cuda.sh b/manywheel/build_cuda.sh index ed8ab4cb5..fd8442b40 100644 --- a/manywheel/build_cuda.sh +++ b/manywheel/build_cuda.sh @@ -108,96 +108,7 @@ elif [[ "$OS_NAME" == *"Ubuntu"* ]]; then LIBGOMP_PATH="/usr/lib/x86_64-linux-gnu/libgomp.so.1" fi -if [[ $CUDA_VERSION == "10.2" ]]; then -DEPS_LIST=( - "/usr/local/cuda/lib64/libcudart.so.10.2" - "/usr/local/cuda/lib64/libnvToolsExt.so.1" - "/usr/local/cuda/lib64/libnvrtc.so.10.2" - "/usr/local/cuda/lib64/libnvrtc-builtins.so" - "/usr/local/cuda/lib64/libcublas.so.10" - "/usr/local/cuda/lib64/libcublasLt.so.10" - "$LIBGOMP_PATH" -) - -DEPS_SONAME=( - "libcudart.so.10.2" - "libnvToolsExt.so.1" - "libnvrtc.so.10.2" - "libnvrtc-builtins.so" - "libcublas.so.10" - "libcublasLt.so.10" - "libgomp.so.1" -) -elif [[ $CUDA_VERSION == "11.3" ]]; then -export USE_STATIC_CUDNN=0 -DEPS_LIST=( - "/usr/local/cuda/lib64/libcudart.so.11.0" - "/usr/local/cuda/lib64/libnvToolsExt.so.1" - "/usr/local/cuda/lib64/libnvrtc.so.11.2" # this is not a mistake for 11.3, it links to 11.3.58 - "/usr/local/cuda/lib64/libnvrtc-builtins.so.11.3" - "/usr/local/cuda/lib64/libcudnn_adv_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_adv_train.so.8" - "/usr/local/cuda/lib64/libcudnn_cnn_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_cnn_train.so.8" - "/usr/local/cuda/lib64/libcudnn_ops_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_ops_train.so.8" - "/usr/local/cuda/lib64/libcudnn.so.8" - "/usr/local/cuda/lib64/libcublas.so.11" - "/usr/local/cuda/lib64/libcublasLt.so.11" - "$LIBGOMP_PATH" -) - -DEPS_SONAME=( - "libcudart.so.11.0" - "libnvToolsExt.so.1" - "libnvrtc.so.11.2" - "libnvrtc-builtins.so.11.3" - "libcudnn_adv_infer.so.8" - "libcudnn_adv_train.so.8" - "libcudnn_cnn_infer.so.8" - "libcudnn_cnn_train.so.8" - "libcudnn_ops_infer.so.8" - "libcudnn_ops_train.so.8" - "libcudnn.so.8" - "libcublas.so.11" - "libcublasLt.so.11" - "libgomp.so.1" -) -elif [[ $CUDA_VERSION == "11.5" ]]; then -export USE_STATIC_CUDNN=0 -DEPS_LIST=( - "/usr/local/cuda/lib64/libcudart.so.11.0" - "/usr/local/cuda/lib64/libnvToolsExt.so.1" - "/usr/local/cuda/lib64/libnvrtc.so.11.2" # this is not a mistake for 11.5, it links to 11.5.50 - "/usr/local/cuda/lib64/libnvrtc-builtins.so.11.5" - "/usr/local/cuda/lib64/libcudnn_adv_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_adv_train.so.8" - "/usr/local/cuda/lib64/libcudnn_cnn_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_cnn_train.so.8" - "/usr/local/cuda/lib64/libcudnn_ops_infer.so.8" - "/usr/local/cuda/lib64/libcudnn_ops_train.so.8" - "/usr/local/cuda/lib64/libcudnn.so.8" - "/usr/local/cuda/lib64/libcublas.so.11" - "/usr/local/cuda/lib64/libcublasLt.so.11" - "$LIBGOMP_PATH" -) -DEPS_SONAME=( - "libcudart.so.11.0" - "libnvToolsExt.so.1" - "libnvrtc.so.11.2" - "libnvrtc-builtins.so.11.5" - "libcudnn_adv_infer.so.8" - "libcudnn_adv_train.so.8" - "libcudnn_cnn_infer.so.8" - "libcudnn_cnn_train.so.8" - "libcudnn_ops_infer.so.8" - "libcudnn_ops_train.so.8" - "libcudnn.so.8" - "libcublas.so.11" - "libcublasLt.so.11" - "libgomp.so.1" -) -elif [[ $CUDA_VERSION == "11.6" ]]; then +if [[ $CUDA_VERSION == "11.6" ]]; then export USE_STATIC_CUDNN=0 DEPS_LIST=( "/usr/local/cuda/lib64/libcudart.so.11.0" diff --git a/windows/cuda102.bat b/windows/cuda102.bat deleted file mode 100644 index 1d90c86b8..000000000 --- a/windows/cuda102.bat +++ /dev/null @@ -1,58 +0,0 @@ -@echo off - -set MODULE_NAME=pytorch - -IF NOT EXIST "setup.py" IF NOT EXIST "%MODULE_NAME%" ( - call internal\clone.bat - cd .. -) ELSE ( - call internal\clean.bat -) -IF ERRORLEVEL 1 goto :eof - -call internal\check_deps.bat -IF ERRORLEVEL 1 goto :eof - -REM Check for optional components - -set USE_CUDA= -set CMAKE_GENERATOR=Visual Studio 15 2017 Win64 - -IF "%NVTOOLSEXT_PATH%"=="" ( - IF EXIST "C:\Program Files\NVIDIA Corporation\NvToolsExt\lib\x64\nvToolsExt64_1.lib" ( - set NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt - ) ELSE ( - echo NVTX ^(Visual Studio Extension ^for CUDA^) ^not installed, failing - exit /b 1 - ) -) - -IF "%CUDA_PATH_V10_2%"=="" ( - IF EXIST "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe" ( - set "CUDA_PATH_V10_2=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2" - ) ELSE ( - echo CUDA 10.2 not found, failing - exit /b 1 - ) -) - -IF "%BUILD_VISION%" == "" ( - set TORCH_CUDA_ARCH_LIST=3.7+PTX;5.0;6.0;6.1;7.0;7.5 - set TORCH_NVCC_FLAGS=-Xfatbin -compress-all -) ELSE ( - set NVCC_FLAGS=-D__CUDA_NO_HALF_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_50,code=compute_50 -) - -set "CUDA_PATH=%CUDA_PATH_V10_2%" -set "PATH=%CUDA_PATH_V10_2%\bin;%PATH%" - -:optcheck - -call internal\check_opts.bat -IF ERRORLEVEL 1 goto :eof - -call internal\copy.bat -IF ERRORLEVEL 1 goto :eof - -call internal\setup.bat -IF ERRORLEVEL 1 goto :eof diff --git a/windows/internal/cuda_install.bat b/windows/internal/cuda_install.bat index a79571014..c1ece6371 100644 --- a/windows/internal/cuda_install.bat +++ b/windows/internal/cuda_install.bat @@ -19,86 +19,12 @@ set CUDNN_LIB_FOLDER="lib\x64" :: Skip all of this if we already have cuda installed if exist "C:\\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%\bin\nvcc.exe" goto set_cuda_env_vars -if %CUDA_VER% EQU 102 goto cuda102 -if %CUDA_VER% EQU 113 goto cuda113 -if %CUDA_VER% EQU 115 goto cuda115 if %CUDA_VER% EQU 116 goto cuda116 if %CUDA_VER% EQU 117 goto cuda117 echo CUDA %CUDA_VERSION_STR% is not supported exit /b 1 -:cuda102 - -if not exist "%SRC_DIR%\temp_build\cuda_10.2.89_441.22_win10.exe" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/cuda_10.2.89_441.22_win10.exe --output "%SRC_DIR%\temp_build\cuda_10.2.89_441.22_win10.exe" - if errorlevel 1 exit /b 1 - set "CUDA_SETUP_FILE=%SRC_DIR%\temp_build\cuda_10.2.89_441.22_win10.exe" - set "ARGS=nvcc_10.2 cuobjdump_10.2 nvprune_10.2 cupti_10.2 cublas_10.2 cublas_dev_10.2 cudart_10.2 cufft_10.2 cufft_dev_10.2 curand_10.2 curand_dev_10.2 cusolver_10.2 cusolver_dev_10.2 cusparse_10.2 cusparse_dev_10.2 nvgraph_10.2 nvgraph_dev_10.2 npp_10.2 npp_dev_10.2 nvrtc_10.2 nvrtc_dev_10.2 nvml_dev_10.2" -) - -if not exist "%SRC_DIR%\temp_build\cudnn-10.2-windows10-x64-v7.6.5.32.zip" ( - curl -k -L https://ossci-windows.s3.amazonaws.com/cudnn-10.2-windows10-x64-v7.6.5.32.zip --output "%SRC_DIR%\temp_build\cudnn-10.2-windows10-x64-v7.6.5.32.zip" - if errorlevel 1 exit /b 1 - set "CUDNN_SETUP_FILE=%SRC_DIR%\temp_build\cudnn-10.2-windows10-x64-v7.6.5.32.zip" -) - -goto cuda_common - -:cuda113 - -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_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 nvrtc_11.3 nvrtc_dev_11.3 nvml_dev_11.3" -) - -set CUDNN_FOLDER=cudnn-windows-x86_64-8.3.2.44_cuda11.5-archive -set CUDNN_LIB_FOLDER="lib" -set CUDNN_INSTALL_ZIP=%CUDNN_FOLDER%.zip" -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 Cuda 8.3+ required zlib to be installed on the path -echo Installing ZLIB dlls -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 - -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.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_FOLDER=cudnn-windows-x86_64-8.3.2.44_cuda11.5-archive -set CUDNN_LIB_FOLDER="lib" -set "CUDNN_INSTALL_ZIP=%CUDNN_FOLDER%.zip" -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 Cuda 8.3+ required zlib to be installed on the path -echo Installing ZLIB dlls -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 - :cuda116 set CUDA_INSTALL_EXE=cuda_11.6.0_511.23_windows.exe