From 1febc858559c054603073301a6c6dae44c737830 Mon Sep 17 00:00:00 2001 From: Stefan Werner Date: Tue, 21 Nov 2017 10:29:11 +0100 Subject: 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. --- intern/cycles/kernel/kernels/cuda/kernel_config.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'intern') 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" -- cgit v1.2.3