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:
authorStefan Werner <stefan.werner@tangent-animation.com>2017-11-21 12:29:11 +0300
committerStefan Werner <stefan.werner@tangent-animation.com>2017-11-21 12:29:11 +0300
commit1febc858559c054603073301a6c6dae44c737830 (patch)
treec29e00cce3501920722a6e9255a04ba2d4eaecda /intern
parent9325b9bf1539bcc440be03c3c360e0b7dd9dc3e7 (diff)
Cycles: Workaround for performance loss with the CUDA 9.0 SDK.
CUDA 9.0.176 apparently caused some slow down on high-end Pascal cards that can be mitigated by increasing the number of registers. See https://developer.blender.org/F1142667 for a detailed comparison.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/kernel/kernels/cuda/kernel_config.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/intern/cycles/kernel/kernels/cuda/kernel_config.h b/intern/cycles/kernel/kernels/cuda/kernel_config.h
index 7ae205b7e14..d0e536f1b87 100644
--- a/intern/cycles/kernel/kernels/cuda/kernel_config.h
+++ b/intern/cycles/kernel/kernels/cuda/kernel_config.h
@@ -76,6 +76,11 @@
# define CUDA_KERNEL_MAX_REGISTERS 48
# define CUDA_KERNEL_BRANCHED_MAX_REGISTERS 63
+/* CUDA 9.0 seems to cause slowdowns on high-end Pascal cards unless we increase the number of registers */
+# if __CUDACC_VER_MAJOR__ == 9 && __CUDA_ARCH__ >= 600
+# #define CUDA_KERNEL_MAX_REGISTERS 64
+# endif
+
/* unknown architecture */
#else
# error "Unknown or unsupported CUDA architecture, can't determine launch bounds"