Blender Git Commit Log

Git Commits -> Revision 374efaf

April 19, 2017, 18:35 (GMT)
Cycles Denoising: Disable local (aka shared) memory on OpenCL

On GPU architectures, storing the design row in local memory improves performance due to lower global memory bandwidth requirements.
However, if the GPU doesn't have enough local memory available, occupancy suffers which makes it even slower than the global memory version.

On CUDA, the amount of available local memory (shared memory in CUDA terminology) can be controlled, but that's not possible on OpenCL. So, to avoid a huge performance hit when the local memory isn't enough, it's disabled on OpenCL.

Commit Details:

Full Hash: 374efaf9975bd2af726c76b3f92934060a50cb1b
Parent Commit: 5bd8d66
Lines Changed: +19, -19

5 Modified Paths:

/intern/cycles/kernel/filter/filter_features.h (+5, -5) (Diff)
/intern/cycles/kernel/filter/filter_reconstruction.h (+4, -1) (Diff)
/intern/cycles/kernel/filter/filter_transform_gpu.h (+4, -0) (Diff)
/intern/cycles/kernel/kernel_compat_opencl.h (+0, -1) (Diff)
/intern/cycles/util/util_math_matrix.h (+6, -12) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021