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
path: root/intern
diff options
context:
space:
mode:
authorThomas Dinges <blender@dingto.org>2018-02-17 18:15:07 +0300
committerThomas Dinges <blender@dingto.org>2018-02-17 18:15:07 +0300
commit2eaf90b305fc6fb37f775f288c3d5cd34cc66c81 (patch)
tree644fd8306cf2a5e7f874048f5d0f13d07033b1b4 /intern
parent75396edb315c4f4dd5928cf3ad9e103eb2a1c61e (diff)
Cycles: Remove Fermi support from CMake and update runtime checks in device_cuda.cpp.
Fermi code in Cycles kernel and texture system are coming next.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/device/device_cuda.cpp14
-rw-r--r--intern/cycles/kernel/CMakeLists.txt24
2 files changed, 15 insertions, 23 deletions
diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp
index dfedf922ca9..9644937d906 100644
--- a/intern/cycles/device/device_cuda.cpp
+++ b/intern/cycles/device/device_cuda.cpp
@@ -322,9 +322,9 @@ public:
cuDeviceGetAttribute(&major, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR, cuDevId);
cuDeviceGetAttribute(&minor, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR, cuDevId);
- /* We only support sm_20 and above */
- if(major < 2) {
- cuda_error_message(string_printf("CUDA device supported only with compute capability 2.0 or up, found %d.%d.", major, minor));
+ /* We only support sm_30 and above */
+ if(major < 3) {
+ cuda_error_message(string_printf("CUDA device supported only with compute capability 3.0 or up, found %d.%d.", major, minor));
return false;
}
@@ -462,9 +462,9 @@ public:
#ifdef _WIN32
if(have_precompiled_kernels()) {
- if(major < 2) {
+ if(major < 3) {
cuda_error_message(string_printf(
- "CUDA device requires compute capability 2.0 or up, "
+ "CUDA device requires compute capability 3.0 or up, "
"found %d.%d. Your GPU is not supported.",
major, minor));
}
@@ -2532,7 +2532,7 @@ void device_cuda_info(vector<DeviceInfo>& devices)
int major;
cuDeviceGetAttribute(&major, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR, num);
- if(major < 2) {
+ if(major < 3) {
VLOG(1) << "Ignoring device \"" << name
<< "\", compute capability is too low.";
continue;
@@ -2544,7 +2544,7 @@ void device_cuda_info(vector<DeviceInfo>& devices)
info.description = string(name);
info.num = num;
- info.advanced_shading = (major >= 2);
+ info.advanced_shading = (major >= 3);
info.has_fermi_limits = !(major >= 3);
info.has_half_images = (major >= 3);
info.has_volume_decoupled = false;
diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
index d981b67559e..4d4b8602c78 100644
--- a/intern/cycles/kernel/CMakeLists.txt
+++ b/intern/cycles/kernel/CMakeLists.txt
@@ -316,12 +316,8 @@ set(SRC_SPLIT_HEADERS
# CUDA module
if(WITH_CYCLES_CUDA_BINARIES)
- # 32 bit or 64 bit
- if(CUDA_64_BIT_DEVICE_CODE)
- set(CUDA_BITS 64)
- else()
- set(CUDA_BITS 32)
- endif()
+ # 64 bit only
+ set(CUDA_BITS 64)
# CUDA version
execute_process(COMMAND ${CUDA_NVCC_EXECUTABLE} "--version" OUTPUT_VARIABLE NVCC_OUT)
@@ -420,17 +416,13 @@ if(WITH_CYCLES_CUDA_BINARIES)
endmacro()
foreach(arch ${CYCLES_CUDA_BINARIES_ARCH})
- if(CUDA_VERSION GREATER "89" AND ${arch} MATCHES "sm_2.")
- message(STATUS "CUDA binaries for ${arch} disabled, not supported by CUDA 9.")
- else()
- # Compile regular kernel
- CYCLES_CUDA_KERNEL_ADD(${arch} filter "" "${cuda_filter_sources}" FALSE)
- CYCLES_CUDA_KERNEL_ADD(${arch} kernel "" "${cuda_sources}" FALSE)
+ # Compile regular kernel
+ CYCLES_CUDA_KERNEL_ADD(${arch} filter "" "${cuda_filter_sources}" FALSE)
+ CYCLES_CUDA_KERNEL_ADD(${arch} kernel "" "${cuda_sources}" FALSE)
- if(WITH_CYCLES_CUDA_SPLIT_KERNEL_BINARIES)
- # Compile split kernel
- CYCLES_CUDA_KERNEL_ADD(${arch} kernel_split "-D __SPLIT__" ${cuda_sources} FALSE)
- endif()
+ if(WITH_CYCLES_CUDA_SPLIT_KERNEL_BINARIES)
+ # Compile split kernel
+ CYCLES_CUDA_KERNEL_ADD(${arch} kernel_split "-D __SPLIT__" ${cuda_sources} FALSE)
endif()
endforeach()