Fix Cycles CUDA performance on CUDA 8.0.
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Sun, 2 Oct 2016 12:48:39 +0000 (14:48 +0200)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Mon, 3 Oct 2016 20:15:25 +0000 (22:15 +0200)
commita3abb020e37a072eb71fd30de9ab125d1c16623a
treeb525be7f8a0792eedecb2b95802ede88dc3f330e
parent49ad4215baf16d850d0e367f003ab688e4a3d08e
Fix Cycles CUDA performance on CUDA 8.0.

Mostly this is making inlining match CUDA 7.5 in a few performance critical
places. The end result is that performance is now better than before, possibly
due to less register spilling or other CUDA 8.0 compiler improvements.

On benchmarks scenes, there are 3% to 35% render time reductions. Stack memory
usage is reduced a little too.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D2269
20 files changed:
intern/cycles/kernel/bvh/bvh.h
intern/cycles/kernel/bvh/bvh_nodes.h
intern/cycles/kernel/bvh/bvh_traversal.h
intern/cycles/kernel/bvh/bvh_types.h
intern/cycles/kernel/closure/bsdf.h
intern/cycles/kernel/closure/bsdf_ashikhmin_shirley.h
intern/cycles/kernel/closure/bsdf_microfacet.h
intern/cycles/kernel/closure/bsdf_microfacet_multi.h
intern/cycles/kernel/closure/bsdf_microfacet_multi_impl.h
intern/cycles/kernel/closure/bssrdf.h
intern/cycles/kernel/geom/geom_curve.h
intern/cycles/kernel/kernel_accumulate.h
intern/cycles/kernel/kernel_compat_cuda.h
intern/cycles/kernel/kernel_compat_opencl.h
intern/cycles/kernel/kernel_path.h
intern/cycles/kernel/kernel_path_branched.h
intern/cycles/kernel/kernel_random.h
intern/cycles/kernel/kernel_shadow.h
intern/cycles/kernel/osl/osl_services.cpp
intern/cycles/util/util_types.h