mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Remove support for CUDA 8 (#20298)
Summary: 1.1.0 stopped support for CUDA 8 Pull Request resolved: https://github.com/pytorch/pytorch/pull/20298 Differential Revision: D15294639 Pulled By: ezyang fbshipit-source-id: b9411bfe456f93f1529b745dc83b7d6310df684d
This commit is contained in:
committed by
Facebook Github Bot
parent
62957ab0a1
commit
5268b7dfaf
@ -11,7 +11,6 @@ CONFIG_TREE_DATA = [
|
||||
(Ver("gcc", "4.9"), [X("py2")]),
|
||||
]),
|
||||
(Ver("ubuntu", "16.04"), [
|
||||
(Ver("cuda", "8.0"), [X("py2")]),
|
||||
(Ver("cuda", "9.0"), [
|
||||
# TODO make explicit that this is a "secret TensorRT build"
|
||||
# (see https://github.com/pytorch/pytorch/pull/17323#discussion_r259446749)
|
||||
|
@ -28,7 +28,6 @@ CONFIG_TREE_DATA = [
|
||||
("5", [X("3.6")]),
|
||||
]),
|
||||
("cuda", [
|
||||
("8", [X("3.6")]),
|
||||
("9", [
|
||||
# Note there are magic strings here
|
||||
# https://github.com/pytorch/pytorch/blob/master/.jenkins/pytorch/build.sh#L21
|
||||
|
@ -241,7 +241,7 @@ def instantiate_configs():
|
||||
is_namedtensor=is_namedtensor,
|
||||
)
|
||||
|
||||
if cuda_version == "8":
|
||||
if cuda_version == "9" and python_version == "3.6":
|
||||
c.dependent_tests = gen_dependent_configs(c)
|
||||
|
||||
config_list.append(c)
|
||||
|
@ -858,67 +858,6 @@ jobs:
|
||||
resource_class: large
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda8_cudnn7_py3_build:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda8-cudnn7-py3-build
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
<<: *pytorch_linux_build_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda8_cudnn7_py3_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda8-cudnn7-py3-test
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
resource_class: gpu.medium
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda8_cudnn7_py3_multigpu_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda8-cudnn7-py3-multigpu-test
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
MULTI_GPU: "1"
|
||||
resource_class: gpu.large
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda8_cudnn7_py3_NO_AVX2_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda8-cudnn7-py3-NO_AVX2-test
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
resource_class: gpu.medium
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda8_cudnn7_py3_NO_AVX_NO_AVX2_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda8-cudnn7-py3-NO_AVX-NO_AVX2-test
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
resource_class: gpu.medium
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda8_cudnn7_py3_slow_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda8-cudnn7-py3-slow-test
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
resource_class: gpu.medium
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda8_cudnn7_py3_nogpu_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda8-cudnn7-py3-nogpu-test
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
resource_class: large
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda9_cudnn7_py2_build:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda9-cudnn7-py2-build
|
||||
@ -951,6 +890,51 @@ jobs:
|
||||
resource_class: gpu.medium
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda9_cudnn7_py3_multigpu_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda9-cudnn7-py3-multigpu-test
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
MULTI_GPU: "1"
|
||||
resource_class: gpu.large
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda9_cudnn7_py3_NO_AVX2_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda9-cudnn7-py3-NO_AVX2-test
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
resource_class: gpu.medium
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda9_cudnn7_py3_NO_AVX_NO_AVX2_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda9-cudnn7-py3-NO_AVX-NO_AVX2-test
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
resource_class: gpu.medium
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda9_cudnn7_py3_slow_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda9-cudnn7-py3-slow-test
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
resource_class: gpu.medium
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda9_cudnn7_py3_nogpu_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda9-cudnn7-py3-nogpu-test
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
resource_class: large
|
||||
<<: *pytorch_linux_test_defaults
|
||||
|
||||
pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_build:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-linux-xenial-cuda9.2-cudnn7-py3-gcc7-build
|
||||
@ -996,7 +980,7 @@ jobs:
|
||||
pytorch_short_perf_test_gpu:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-short-perf-test-gpu
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:300"
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
resource_class: gpu.medium
|
||||
@ -1033,7 +1017,7 @@ jobs:
|
||||
pytorch_doc_push:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-doc-push
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:300"
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9-cudnn7-py3:300"
|
||||
resource_class: large
|
||||
machine:
|
||||
image: ubuntu-1604:201903-01
|
||||
@ -1215,20 +1199,6 @@ jobs:
|
||||
BUILD_ONLY: "1"
|
||||
<<: *caffe2_linux_build_defaults
|
||||
|
||||
caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_build:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: "caffe2-py2-cuda8.0-cudnn7-ubuntu16.04-build"
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda8.0-cudnn7-ubuntu16.04:276"
|
||||
<<: *caffe2_linux_build_defaults
|
||||
|
||||
caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_test:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: "caffe2-py2-cuda8.0-cudnn7-ubuntu16.04-test"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/caffe2/py2-cuda8.0-cudnn7-ubuntu16.04:276"
|
||||
resource_class: gpu.medium
|
||||
<<: *caffe2_linux_test_defaults
|
||||
|
||||
caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_build:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: "caffe2-py2-cuda9.0-cudnn7-ubuntu16.04-build"
|
||||
@ -2899,39 +2869,6 @@ workflows:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_py3_clang5_asan_build
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_build:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_test:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_multigpu_test:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_NO_AVX2_test:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_NO_AVX_NO_AVX2_test:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_slow_test:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_nogpu_test:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_build
|
||||
- pytorch_short_perf_test_gpu:
|
||||
requires:
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_build
|
||||
- pytorch_doc_push:
|
||||
requires:
|
||||
- pytorch_linux_xenial_cuda8_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py2_build:
|
||||
requires:
|
||||
- setup
|
||||
@ -2946,6 +2883,32 @@ workflows:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_multigpu_test:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_NO_AVX2_test:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_NO_AVX_NO_AVX2_test:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_slow_test:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_nogpu_test:
|
||||
requires:
|
||||
- setup
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_build
|
||||
- pytorch_short_perf_test_gpu:
|
||||
requires:
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_build
|
||||
- pytorch_doc_push:
|
||||
requires:
|
||||
- pytorch_linux_xenial_cuda9_cudnn7_py3_build
|
||||
- pytorch_linux_xenial_cuda9_2_cudnn7_py3_gcc7_build:
|
||||
requires:
|
||||
- setup
|
||||
@ -2978,13 +2941,6 @@ workflows:
|
||||
requires:
|
||||
- setup
|
||||
- caffe2_py2_gcc4_8_ubuntu14_04_build
|
||||
- caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_build:
|
||||
requires:
|
||||
- setup
|
||||
- caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_test:
|
||||
requires:
|
||||
- setup
|
||||
- caffe2_py2_cuda8_0_cudnn7_ubuntu16_04_build
|
||||
- caffe2_py2_cuda9_0_cudnn7_ubuntu16_04_build:
|
||||
requires:
|
||||
- setup
|
||||
|
@ -1,7 +1,7 @@
|
||||
pytorch_short_perf_test_gpu:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-short-perf-test-gpu
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:300"
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9-cudnn7-py3:300"
|
||||
PYTHON_VERSION: "3.6"
|
||||
USE_CUDA_DOCKER_RUNTIME: "1"
|
||||
resource_class: gpu.medium
|
||||
@ -38,7 +38,7 @@
|
||||
pytorch_doc_push:
|
||||
environment:
|
||||
BUILD_ENVIRONMENT: pytorch-doc-push
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda8-cudnn7-py3:300"
|
||||
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9-cudnn7-py3:300"
|
||||
resource_class: large
|
||||
machine:
|
||||
image: ubuntu-1604:201903-01
|
||||
|
@ -20,7 +20,7 @@ if [[ "$BUILD_ENVIRONMENT" == *-xenial-cuda9-* ]]; then
|
||||
sudo apt-get -qq install --allow-downgrades --allow-change-held-packages libnccl-dev=2.2.13-1+cuda9.0 libnccl2=2.2.13-1+cuda9.0
|
||||
fi
|
||||
|
||||
if [[ "$BUILD_ENVIRONMENT" == *-xenial-cuda9*gcc7* ]] || [[ "$BUILD_ENVIRONMENT" == *-xenial-cuda8-* ]] || [[ "$BUILD_ENVIRONMENT" == *-xenial-cuda9-cudnn7-py2* ]] || [[ "$BUILD_ENVIRONMENT" == *-trusty-py2.7.9* ]]; then
|
||||
if [[ "$BUILD_ENVIRONMENT" == *-xenial-cuda9*gcc7* ]] || [[ "$BUILD_ENVIRONMENT" == *-xenial-cuda9-* ]] || [[ "$BUILD_ENVIRONMENT" == *-trusty-py2.7.9* ]]; then
|
||||
# TODO: move this to Docker
|
||||
sudo apt-get -qq update
|
||||
if [[ "$BUILD_ENVIRONMENT" == *-trusty-py2.7.9* ]]; then
|
||||
@ -53,7 +53,7 @@ if ! which conda; then
|
||||
# In ROCm CIs, we are doing cross compilation on build machines with
|
||||
# intel cpu and later run tests on machines with amd cpu.
|
||||
# Also leave out two builds to make sure non-mkldnn builds still work.
|
||||
if [[ "$BUILD_ENVIRONMENT" != *rocm* && "$BUILD_ENVIRONMENT" != *-trusty-py3.5-* && "$BUILD_ENVIRONMENT" != *-xenial-cuda8-cudnn7-py3-* ]]; then
|
||||
if [[ "$BUILD_ENVIRONMENT" != *rocm* && "$BUILD_ENVIRONMENT" != *-trusty-py3.5-* && "$BUILD_ENVIRONMENT" != *-xenial-cuda9-cudnn7-py3-* ]]; then
|
||||
pip install -q mkl mkl-devel
|
||||
export USE_MKLDNN=1
|
||||
else
|
||||
@ -155,7 +155,7 @@ fi
|
||||
assert_git_not_dirty
|
||||
|
||||
# Test documentation build
|
||||
if [[ "$BUILD_ENVIRONMENT" == *xenial-cuda8-cudnn7-py3* ]]; then
|
||||
if [[ "$BUILD_ENVIRONMENT" == *xenial-cuda9-cudnn7-py3* ]]; then
|
||||
pushd docs
|
||||
# TODO: Don't run this here
|
||||
pip install -q -r requirements.txt || true
|
||||
@ -165,7 +165,7 @@ if [[ "$BUILD_ENVIRONMENT" == *xenial-cuda8-cudnn7-py3* ]]; then
|
||||
fi
|
||||
|
||||
# Test standalone c10 build
|
||||
if [[ "$BUILD_ENVIRONMENT" == *xenial-cuda8-cudnn7-py3* ]]; then
|
||||
if [[ "$BUILD_ENVIRONMENT" == *xenial-cuda9-cudnn7-py3* ]]; then
|
||||
mkdir -p c10/build
|
||||
pushd c10/build
|
||||
cmake ..
|
||||
|
@ -127,7 +127,7 @@ fi
|
||||
# Use conda cmake in some CI build. Conda cmake will be newer than our supported
|
||||
# min version 3.5, so we only do it in two builds that we know should use conda.
|
||||
if [[ "$BUILD_ENVIRONMENT" == *pytorch-linux-xenial-cuda* ]]; then
|
||||
if [[ "$BUILD_ENVIRONMENT" == *cuda8-cudnn7-py2* ]] || \
|
||||
if [[ "$BUILD_ENVIRONMENT" == *cuda9-cudnn7-py2* ]] || \
|
||||
[[ "$BUILD_ENVIRONMENT" == *cuda9-cudnn7-py3* ]]; then
|
||||
if ! which conda; then
|
||||
echo "Expected ${BUILD_ENVIRONMENT} to use conda, but 'which conda' returns empty"
|
||||
|
@ -252,12 +252,7 @@ IF(USE_CUDA AND NOT USE_ROCM)
|
||||
|
||||
# build fake CuFFT lib in build dir
|
||||
EXECUTE_PROCESS(COMMAND touch ${CMAKE_CURRENT_BINARY_DIR}/empty_file.cc)
|
||||
if(${CUDA_VERSION_MAJOR} EQUAL "8")
|
||||
SET(CUFFT_FAKELINK_OPTIONS
|
||||
--generate-code arch=compute_35,code=sm_35
|
||||
--generate-code arch=compute_50,code=sm_50
|
||||
--generate-code arch=compute_60,code=sm_60)
|
||||
elseif(${CUDA_VERSION_MAJOR} EQUAL "9")
|
||||
if(${CUDA_VERSION_MAJOR} EQUAL "9")
|
||||
SET(CUFFT_FAKELINK_OPTIONS
|
||||
--generate-code arch=compute_35,code=sm_35
|
||||
--generate-code arch=compute_50,code=sm_50
|
||||
|
@ -728,10 +728,6 @@ inline bool CUDA_tensor_apply1(at::Tensor a,
|
||||
|
||||
rearrangeDims(&aInfo);
|
||||
aInfo.collapseDims();
|
||||
#if CUDA_VERSION < 9000
|
||||
if (!aInfo.isContiguous())
|
||||
grid.x = std::min((unsigned int)at::cuda::getCurrentDeviceProperties()->multiProcessorCount * AT_APPLY_BLOCKS_PER_SM , grid.x);
|
||||
#endif
|
||||
|
||||
HANDLE_A_CASE(unsigned int, aInfo.dims);
|
||||
} else {
|
||||
@ -748,9 +744,6 @@ inline bool CUDA_tensor_apply1(at::Tensor a,
|
||||
if (aInfo.dims == 1) {
|
||||
HANDLE_CASE(uint64_t, 1);
|
||||
} else {
|
||||
#if CUDA_VERSION < 9000
|
||||
grid.x = std::min((unsigned int)at::cuda::getCurrentDeviceProperties()->multiProcessorCount * AT_APPLY_BLOCKS_PER_SM , grid.x);
|
||||
#endif
|
||||
HANDLE_CASE(uint64_t, -1);
|
||||
}
|
||||
}
|
||||
@ -881,10 +874,6 @@ inline bool CUDA_tensor_apply2(at::Tensor a,
|
||||
rearrangeDims(&aInfo, &bInfo);
|
||||
aInfo.collapseDims();
|
||||
bInfo.collapseDims();
|
||||
#if CUDA_VERSION < 9000
|
||||
if (!(aInfo.isContiguous() && bInfo.isContiguous()))
|
||||
grid.x = std::min((unsigned int)at::cuda::getCurrentDeviceProperties()->multiProcessorCount * AT_APPLY_BLOCKS_PER_SM , grid.x);
|
||||
#endif
|
||||
|
||||
HANDLE_A_CASE(unsigned int, aInfo.dims, bInfo.dims);
|
||||
} else {
|
||||
@ -904,9 +893,6 @@ inline bool CUDA_tensor_apply2(at::Tensor a,
|
||||
if (aInfo.dims == 1 && bInfo.dims == 1) {
|
||||
HANDLE_CASE(uint64_t, 1, 1);
|
||||
} else {
|
||||
#if CUDA_VERSION < 9000
|
||||
grid.x = std::min((unsigned int)at::cuda::getCurrentDeviceProperties()->multiProcessorCount * AT_APPLY_BLOCKS_PER_SM , grid.x);
|
||||
#endif
|
||||
HANDLE_CASE(uint64_t, -1, -1);
|
||||
}
|
||||
}
|
||||
@ -1071,10 +1057,6 @@ inline bool CUDA_tensor_apply3(at::Tensor a,
|
||||
bInfo.collapseDims();
|
||||
cInfo.collapseDims();
|
||||
|
||||
#if CUDA_VERSION < 9000
|
||||
if (!(aInfo.isContiguous() && bInfo.isContiguous() && cInfo.isContiguous()))
|
||||
grid.x = std::min((unsigned int)at::cuda::getCurrentDeviceProperties()->multiProcessorCount * AT_APPLY_BLOCKS_PER_SM , grid.x);
|
||||
#endif
|
||||
HANDLE_A_CASE(unsigned int, aInfo.dims, bInfo.dims, cInfo.dims);
|
||||
} else {
|
||||
detail::TensorInfo<scalar1, uint64_t> aInfo =
|
||||
@ -1098,10 +1080,6 @@ inline bool CUDA_tensor_apply3(at::Tensor a,
|
||||
if (aInfo.dims == 1 && bInfo.dims == 1 && cInfo.dims == 1) {
|
||||
HANDLE_CASE(uint64_t, 1, 1, 1);
|
||||
} else {
|
||||
#if CUDA_VERSION < 9000
|
||||
grid.x = std::min((unsigned int)at::cuda::getCurrentDeviceProperties()->multiProcessorCount * AT_APPLY_BLOCKS_PER_SM , grid.x);
|
||||
#endif
|
||||
|
||||
HANDLE_CASE(uint64_t, -1, -1, -1);
|
||||
}
|
||||
}
|
||||
@ -1311,10 +1289,6 @@ inline bool CUDA_tensor_apply4(at::Tensor a,
|
||||
cInfo.collapseDims();
|
||||
dInfo.collapseDims();
|
||||
|
||||
#if CUDA_VERSION < 9000
|
||||
if (!(aInfo.isContiguous() && bInfo.isContiguous() && cInfo.isContiguous() && dInfo.isContiguous()))
|
||||
grid.x = std::min((unsigned int)at::cuda::getCurrentDeviceProperties()->multiProcessorCount * AT_APPLY_BLOCKS_PER_SM , grid.x);
|
||||
#endif
|
||||
HANDLE_A_CASE(unsigned int, aInfo.dims, bInfo.dims, cInfo.dims, dInfo.dims);
|
||||
} else {
|
||||
detail::TensorInfo<scalar1, uint64_t> aInfo =
|
||||
@ -1342,9 +1316,6 @@ inline bool CUDA_tensor_apply4(at::Tensor a,
|
||||
if (aInfo.dims == 1 && bInfo.dims == 1 && cInfo.dims == 1 && dInfo.dims == 1) {
|
||||
HANDLE_CASE(uint64_t, 1, 1, 1, 1);
|
||||
} else {
|
||||
#if CUDA_VERSION < 9000
|
||||
grid.x = std::min((unsigned int)at::cuda::getCurrentDeviceProperties()->multiProcessorCount * AT_APPLY_BLOCKS_PER_SM , grid.x);
|
||||
#endif
|
||||
HANDLE_CASE(uint64_t, -1, -1, -1, -1);
|
||||
}
|
||||
}
|
||||
|
@ -7,8 +7,7 @@
|
||||
#include <limits>
|
||||
|
||||
|
||||
// NOTE: CUDA 8 does not allow __device__ lambdas (GPU_LAMBDA) to be defined
|
||||
// inside other lambdas. CUDA on Windows requires that the enclosing function
|
||||
// NOTE: CUDA on Windows requires that the enclosing function
|
||||
// of a __device__ lambda not have internal linkage.
|
||||
|
||||
namespace at { namespace native {
|
||||
|
@ -121,7 +121,7 @@ struct TopKTypeConfig<at::Half> {
|
||||
typedef uint32_t RadixType;
|
||||
|
||||
static inline __device__ RadixType convert(at::Half v) {
|
||||
#if CUDA_VERSION >= 8000 || defined __HIP_PLATFORM_HCC__
|
||||
#if defined(__CUDA_ARCH__) || defined(__HIP_PLATFORM_HCC__)
|
||||
RadixType x = __half_as_ushort(v);
|
||||
RadixType mask = -((x >> 15)) | 0x8000;
|
||||
return (v == v) ? (x ^ mask) : 0xffff;
|
||||
@ -132,7 +132,7 @@ struct TopKTypeConfig<at::Half> {
|
||||
}
|
||||
|
||||
static inline __device__ at::Half deconvert(RadixType v) {
|
||||
#if CUDA_VERSION >= 8000 || defined __HIP_PLATFORM_HCC__
|
||||
#if defined(__CUDA_ARCH__) || defined(__HIP_PLATFORM_HCC__)
|
||||
RadixType mask = ((v >> 15) - 1) | 0x8000;
|
||||
return __ushort_as_half(v ^ mask);
|
||||
#else
|
||||
|
@ -1101,15 +1101,6 @@ if (NOT INTERN_BUILD_MOBILE)
|
||||
ENDIF ()
|
||||
ENDIF()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.9")
|
||||
if (CUDA_VERSION VERSION_LESS "8.0")
|
||||
MESSAGE(STATUS "Found gcc >=5 and CUDA <= 7.5, adding workaround C++ flags")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FORCE_INLINES -D_MWAITXINTRIN_H_INCLUDED -D__STRICT_ANSI__")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
LIST(APPEND CUDA_NVCC_FLAGS -Wno-deprecated-gpu-targets)
|
||||
LIST(APPEND CUDA_NVCC_FLAGS --expt-extended-lambda)
|
||||
|
||||
|
@ -28,6 +28,9 @@ endif()
|
||||
message(STATUS "Caffe2: CUDA detected: " ${CUDA_VERSION})
|
||||
message(STATUS "Caffe2: CUDA nvcc is: " ${CUDA_NVCC_EXECUTABLE})
|
||||
message(STATUS "Caffe2: CUDA toolkit directory: " ${CUDA_TOOLKIT_ROOT_DIR})
|
||||
if(CUDA_VERSION VERSION_LESS 9.0)
|
||||
message(FATAL_ERROR "PyTorch requires CUDA 9.0 and above.")
|
||||
endif()
|
||||
|
||||
if(CUDA_FOUND)
|
||||
# Sometimes, we may mismatch nvcc with the CUDA headers we are
|
||||
@ -299,17 +302,6 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (${CUDA_VERSION} LESS 8.0) # CUDA 7.x
|
||||
list(APPEND CUDA_NVCC_FLAGS "-D_MWAITXINTRIN_H_INCLUDED")
|
||||
list(APPEND CUDA_NVCC_FLAGS "-D__STRICT_ANSI__")
|
||||
elseif (${CUDA_VERSION} LESS 9.0) # CUDA 8.x
|
||||
list(APPEND CUDA_NVCC_FLAGS "-D_MWAITXINTRIN_H_INCLUDED")
|
||||
list(APPEND CUDA_NVCC_FLAGS "-D__STRICT_ANSI__")
|
||||
# CUDA 8 may complain that sm_20 is no longer supported. Suppress the
|
||||
# warning for now.
|
||||
list(APPEND CUDA_NVCC_FLAGS "-Wno-deprecated-gpu-targets")
|
||||
endif()
|
||||
|
||||
# Add onnx namepsace definition to nvcc
|
||||
if (ONNX_NAMESPACE)
|
||||
list(APPEND CUDA_NVCC_FLAGS "-DONNX_NAMESPACE=${ONNX_NAMESPACE}")
|
||||
@ -333,16 +325,6 @@ if ((CUDA_VERSION VERSION_EQUAL 9.0) OR
|
||||
"variable to use another version (for example): \n"
|
||||
" export CUDAHOSTCXX='/usr/bin/gcc-5'\n")
|
||||
endif()
|
||||
elseif (CUDA_VERSION VERSION_EQUAL 8.0)
|
||||
# CUDA 8.0 requires GCC version <= 5
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND
|
||||
NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.0 AND
|
||||
CUDA_HOST_COMPILER STREQUAL CMAKE_C_COMPILER)
|
||||
message(FATAL_ERROR
|
||||
"CUDA 8.0 is not compatible with GCC version >= 6. "
|
||||
"Use the following option to use another version (for example): \n"
|
||||
" -DCUDA_HOST_COMPILER=/usr/bin/gcc-5\n")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# setting nvcc arch flags
|
||||
|
@ -75,9 +75,7 @@ if torch.cuda.is_available():
|
||||
CUDA_VERSION = torch._C._cuda_getCompiledVersion()
|
||||
for d in range(torch.cuda.device_count()):
|
||||
major = torch.cuda.get_device_capability(d)[0]
|
||||
if (CUDA_VERSION < 8000 and major >= 6) or (CUDA_VERSION < 9000 and major >= 7):
|
||||
RUN_CUDA = False
|
||||
if (CUDA_VERSION < 9000 or major < 6):
|
||||
if (major < 6):
|
||||
RUN_CUDA_HALF = False
|
||||
|
||||
RUN_CUDA_MULTI_GPU = RUN_CUDA and torch.cuda.device_count() > 1
|
||||
|
@ -39,18 +39,6 @@ namespace cuda {
|
||||
// INSTEAD USE, e.g. nvrtc().cuLoadModule(...)
|
||||
// If a function is missing add it to the list in thnvrtc.
|
||||
|
||||
void checkCUDAVersion(const cudaDeviceProp& prop) {
|
||||
if ((prop.major >= 6 && CUDA_VERSION < 8000) ||
|
||||
(prop.major >= 7 && CUDA_VERSION < 9000)) {
|
||||
std::stringstream err_string;
|
||||
err_string
|
||||
<< "In CUDAFusedKernel, PyTorch compiled with insufficient CUDA version: "
|
||||
<< CUDA_VERSION << " for the current GPU device " << prop.name
|
||||
<< " with device capability " << prop.major << "." << prop.minor;
|
||||
throw std::runtime_error(err_string.str());
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef USE_DIRECT_NVRTC
|
||||
std::pair<std::unique_ptr<cpu::DynamicLibrary>, THNVRTC*> loadNVRTC() {
|
||||
return std::make_pair(nullptr, torch_load_nvrtc());
|
||||
|
@ -127,11 +127,7 @@ def _check_capability():
|
||||
capability = get_device_capability(d)
|
||||
major = capability[0]
|
||||
name = get_device_name(d)
|
||||
if CUDA_VERSION < 8000 and major >= 6:
|
||||
warnings.warn(incorrect_binary_warn % (d, name, 8000, CUDA_VERSION))
|
||||
elif CUDA_VERSION < 9000 and major >= 7:
|
||||
warnings.warn(incorrect_binary_warn % (d, name, 9000, CUDA_VERSION))
|
||||
elif capability == (3, 0) or major < 3:
|
||||
if capability == (3, 0) or major < 3:
|
||||
warnings.warn(old_gpu_warn % (d, name, major, capability[1]))
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user