diff options
author | Stefan Werner <stefan.werner@tangent-animation.com> | 2017-11-21 12:29:11 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-01-13 04:41:25 +0300 |
commit | b3adce77667498c20cd44e7cf6d76f8424a6dd89 (patch) | |
tree | 1e4eae02b30bec120926f16256b85910636641d0 | |
parent | 30a0459f2cfeeefcc27a1234e392f6dda51d8031 (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.
-rw-r--r-- | intern/cycles/kernel/kernels/cuda/kernel_config.h | 5 |
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 9fa39dc9ebb..efea522d803 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" |