Go to file
Brecht Van Lommel 9800837b98 Cycles: Support multithreaded compilation of kernels
This patch implements a workaround to get the multithreaded compilation from D2231 working.
So far, it only works for Blender, not for Cycles Standalone. Also, I have only tested the Linux codepath in the helper function.
Depends on D2231.

Patch by lukasstockner97, jbakker, brecht

    job    |   scene_name    | compilation_time
----------+-----------------+------------------
    Baseline | empty           |            22.73
    D2264    | empty           |            13.94
    Baseline | bmw             |            56.44
    D2264    | bmw             |            41.32
    Baseline | fishycat        |            59.50
    D2264    | fishycat        |            45.19
    Baseline | barbershop      |           212.28
    D2264    | barbershop      |           169.81
    Baseline | victor          |            67.51
    D2264    | victor          |            53.60
    Baseline | classroom       |            51.46
    D2264    | classroom       |            39.02
    Baseline | koro            |            62.48
    D2264    | koro            |            49.03
    Baseline | pavillion       |            54.37
    D2264    | pavillion       |            38.82
    Baseline | splash279       |            47.43
    D2264    | splash279       |            37.94
    Baseline | volume_emission |           145.22
    D2264    | volume_emission |           121.10

This patch reduced compilation time as the split kernels and base
kernels are compiled in parallel. In cycles debug mode (256) you can set
unmark the opencl single program file, what reduces the compilation time
even further (bmw 17 seconds, barbershop 53 seconds).

Reviewers: brecht, dingto, sergey, juicyfruit, lukasstockner97

Reviewed By: brecht

Subscribers: Loner, jbakker, candreacchio, 3dLuver, LazyDodo, bliblubli

Differential Revision: https://developer.blender.org/D2264
2019-02-15 08:56:20 +01:00
build_files macOS: add support for OpenMP, making smoke/fluid/cloth simulations faster. 2019-01-26 15:48:56 +01:00
doc Fix typo in context docs. 2018-12-14 08:13:55 +11:00
extern Cleanup: manually remove header text not handled by automation 2019-02-02 02:41:25 +11:00
intern Cycles: Support multithreaded compilation of kernels 2019-02-15 08:56:20 +01:00
release Cleanup: remove redundant, invalid info from headers 2019-02-02 02:40:00 +11:00
source Fix T61470: incorrect saturation clamping in recent bugfix. 2019-02-14 19:28:44 +01:00
tests Cycles: add animation denoising test, fix operator to work with single frames. 2019-02-11 18:37:02 +01:00
.arcconfig Update .arcconfig for moving master to blender2.7 branch. 2018-12-21 12:12:32 +01:00
.editorconfig editorconfig: correct C/C++ using space 2018-06-19 07:48:12 +02:00
.gitignore Git: add TAGS & tags to .gitignore 2019-01-22 12:50:13 +01:00
.gitmodules Update for moving master to blender2.7 branch. 2018-12-21 12:01:05 +01:00
CMakeLists.txt macOS: add support for OpenMP, making smoke/fluid/cloth simulations faster. 2019-01-26 15:48:56 +01:00
COPYING
GNUmakefile Update for moving master to blender2.7 branch. 2018-12-21 12:01:05 +01:00
make.bat Cleanup: trailing space cmake, make.bat 2018-06-17 20:18:09 +02:00