[Bf-blender-cvs] [1febc858559] master: Cycles: Workaround for performance loss with the CUDA 9.0 SDK.

Stefan Werner noreply at git.blender.org
Tue Nov 21 10:29:13 CET 2017


Commit: 1febc858559c054603073301a6c6dae44c737830
Author: Stefan Werner
Date:   Tue Nov 21 10:29:11 2017 +0100
Branches: master
https://developer.blender.org/rB1febc858559c054603073301a6c6dae44c737830

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.

===================================================================

M	intern/cycles/kernel/kernels/cuda/kernel_config.h

===================================================================

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"



More information about the Bf-blender-cvs mailing list