Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2021-07-26 20:45:05 +0300
committerBrecht Van Lommel <brecht@blender.org>2021-07-27 15:12:58 +0300
commit66c65da6889823326829d432c8d86a833ea17043 (patch)
treeac4c815783ceb63cc70e01ef09e5260fa6e9c640
parent29001c9c883bdfa89293079149e1aa842c289d9f (diff)
Cycles: upgrade CUDA to 11.4
This fixes a performance regression on Ampere cards, on specific scenes like classroom. For cycles-x there is little difference, but this is still helpful for LTS releases, and we need to upgrade at some point anyway.
-rw-r--r--build_files/config/pipeline_config.json4
-rw-r--r--intern/cycles/device/cuda/device_cuda_impl.cpp9
-rw-r--r--intern/cycles/kernel/CMakeLists.txt9
3 files changed, 14 insertions, 8 deletions
diff --git a/build_files/config/pipeline_config.json b/build_files/config/pipeline_config.json
index 0237b91f6e5..b93374f6c0b 100644
--- a/build_files/config/pipeline_config.json
+++ b/build_files/config/pipeline_config.json
@@ -66,7 +66,7 @@
"version": "10.1"
},
"cuda11": {
- "version": "11.3"
+ "version": "11.4"
}
},
"cmake": {
@@ -88,4 +88,4 @@
}
}
}
-} \ No newline at end of file
+}
diff --git a/intern/cycles/device/cuda/device_cuda_impl.cpp b/intern/cycles/device/cuda/device_cuda_impl.cpp
index 870f9f9ecf9..6196f642f8e 100644
--- a/intern/cycles/device/cuda/device_cuda_impl.cpp
+++ b/intern/cycles/device/cuda/device_cuda_impl.cpp
@@ -426,18 +426,19 @@ string CUDADevice::compile_kernel(const DeviceRequestedFeatures &requested_featu
const int nvcc_cuda_version = cuewCompilerVersion();
VLOG(1) << "Found nvcc " << nvcc << ", CUDA version " << nvcc_cuda_version << ".";
- if (nvcc_cuda_version < 80) {
+ if (nvcc_cuda_version < 101) {
printf(
"Unsupported CUDA version %d.%d detected, "
- "you need CUDA 8.0 or newer.\n",
+ "you need CUDA 10.1 or newer.\n",
nvcc_cuda_version / 10,
nvcc_cuda_version % 10);
return string();
}
- else if (!(nvcc_cuda_version == 101 || nvcc_cuda_version == 102)) {
+ else if (!(nvcc_cuda_version == 101 || nvcc_cuda_version == 102 || nvcc_cuda_version == 111 ||
+ nvcc_cuda_version == 112 || nvcc_cuda_version == 113 || nvcc_cuda_version == 114)) {
printf(
"CUDA version %d.%d detected, build may succeed but only "
- "CUDA 10.1 and 10.2 are officially supported.\n",
+ "CUDA 10.1 to 11.4 are officially supported.\n",
nvcc_cuda_version / 10,
nvcc_cuda_version % 10);
}
diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
index d2fbff29776..e3e7adbec29 100644
--- a/intern/cycles/kernel/CMakeLists.txt
+++ b/intern/cycles/kernel/CMakeLists.txt
@@ -375,11 +375,16 @@ if(WITH_CYCLES_CUDA_BINARIES)
set(CUDA_VERSION "${CUDA_VERSION_MAJOR}${CUDA_VERSION_MINOR}")
# warn for other versions
- if((CUDA_VERSION MATCHES "101") OR (CUDA_VERSION MATCHES "102") OR (CUDA_VERSION MATCHES "111"))
+ if((CUDA_VERSION MATCHES "101") OR
+ (CUDA_VERSION MATCHES "102") OR
+ (CUDA_VERSION MATCHES "111") OR
+ (CUDA_VERSION MATCHES "112") OR
+ (CUDA_VERSION MATCHES "113") OR
+ (CUDA_VERSION MATCHES "114"))
else()
message(WARNING
"CUDA version ${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR} detected, "
- "build may succeed but only CUDA 10.1, 10.2 and 11.1 are officially supported")
+ "build may succeed but only CUDA 10.1 to 11.4 are officially supported")
endif()
# build for each arch