Revert "Cycles: Change OpenCL split kernel to use single program by default"
authorJeroen Bakker <j.bakker@atmind.nl>
Fri, 15 Feb 2019 09:43:26 +0000 (10:43 +0100)
committerJeroen Bakker <j.bakker@atmind.nl>
Tue, 19 Feb 2019 06:48:51 +0000 (07:48 +0100)
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
intern/cycles/util/util_debug.cpp

index 1106923..f66d697 100644 (file)
@@ -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,
         )
 
index 68e6f26..cd316c4 100644 (file)
@@ -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()