From ecd66f69e7b66e8a6ed9b5f39c7dfe272dfbbbed Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Fri, 15 Feb 2019 10:43:26 +0100 Subject: Revert "Cycles: Change OpenCL split kernel to use single program by default" This reverts commit c6bf5d47240cebef356276e369881e855dbe7e6d. Related to D2264: When multi process opencl kernel compilation is in place single-program compiles slower then multi-program. c6bf5d47240cebef356276e369881e855dbe7e6d was created as single-program compiled faster, but this is not the case anymore. So let's revert this change. Production scenes like victor and barbershop even render quicker. Change in Cycles OpenCL compilation times > job | scene_name | compilation_time | render_time > Baseline | empty | 22.73 | 20.63 > T61514 | empty | 10.63 | 21.06 > Baseline | bmw | 56.44 | 191.00 > T61514 | bmw | 17.91 | 198.44 > Baseline | fishycat | 59.50 | 393.48 > T61514 | fishycat | 19.57 | 394.20 > Baseline | barbershop | 212.28 | 1623.53 > T61514 | barbershop | 54.10 | 1188.16 > Baseline | victor | 67.51 | 1459.80 > T61514 | victor | 22.06 | 1381.58 > Baseline | classroom | 51.46 | 341.23 > T61514 | classroom | 17.55 | 341.08 > Baseline | koro | 62.48 | 475.96 > T61514 | koro | 18.92 | 472.43 > Baseline | pavillion | 54.37 | 903.48 > T61514 | pavillion | 17.43 | 905.77 > Baseline | splash279 | 47.43 | 52.92 > T61514 | splash279 | 16.48 | 55.26 > Baseline | volume_emission | 145.22 | 62.38 > T61514 | volume_emission | 36.22 | 62.59 Reviewers: #cycles, brecht, sergey Reviewed By: #cycles, brecht Differential Revision: https://developer.blender.org/D4349 --- intern/cycles/blender/addon/properties.py | 2 +- intern/cycles/util/util_debug.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 1106923f529..f66d6970490 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -726,7 +726,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): cls.debug_opencl_kernel_single_program = BoolProperty( name="Single Program", - default=True, + default=False, update=devices_update_callback, ) diff --git a/intern/cycles/util/util_debug.cpp b/intern/cycles/util/util_debug.cpp index 68e6f261057..cd316c46b89 100644 --- a/intern/cycles/util/util_debug.cpp +++ b/intern/cycles/util/util_debug.cpp @@ -132,7 +132,7 @@ void DebugFlags::OpenCL::reset() } /* Initialize other flags from environment variables. */ debug = (getenv("CYCLES_OPENCL_DEBUG") != NULL); - single_program = (getenv("CYCLES_OPENCL_MULTI_PROGRAM") == NULL); + single_program = (getenv("CYCLES_OPENCL_SINGLE_PROGRAM") != NULL); } DebugFlags::DebugFlags() -- cgit v1.2.3