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:
Syed Tousif Ahmed
2019-05-13 11:16:36 -07:00
committed by Facebook Github Bot
parent 62957ab0a1
commit 5268b7dfaf
16 changed files with 90 additions and 216 deletions

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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 ..

View File

@ -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"

View File

@ -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

View File

@ -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);
}
}

View File

@ -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 {

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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());

View File

@ -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]))