Reduce the number of OpenCL kernel compilations

Discussion related to the Engine functionality, implementations and API.
kintuX
Posts: 513
Joined: Wed Jan 10, 2018 2:37 am

Re: Reduce the number of OpenCL kernel compilations

Post by kintuX » Mon Jan 20, 2020 4:14 pm

acasta69 wrote:
Mon Jan 20, 2020 2:55 pm
This was a Windows-only problem and should now be fixed.
Indeed.
Build succeeded.
Thank you.

User avatar
Dade
Developer
Posts: 3746
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Reduce the number of OpenCL kernel compilations

Post by Dade » Wed Jan 22, 2020 1:33 pm

Changing AOVs used doesn't require OpenCL compilation anymore (removed PARAM_FILM_CHANNELS_*).
Support LuxCoreRender project with salts and bounties

kintuX
Posts: 513
Joined: Wed Jan 10, 2018 2:37 am

Re: Reduce the number of OpenCL kernel compilations

Post by kintuX » Wed Jan 22, 2020 2:17 pm

Latest commits again break the windows cmake build:
(ending of console output)

Code: Select all

...
...
...
  c:\luxcorerender\windowscompile\build_cmake\luxcore\src\slg\sampleresult_types.cl(39): error C4430: missing ty
       pe specifier - int assumed. Note: C++ does not support default-int (compiling source file C:\luxcorerender\LuxCo
       re\src\slg\rendersession.cpp) [C:\luxcorerender\WindowsCompile\Build_CMake\LuxCore\src\slg\slg-core.vcxproj]
         c:\luxcorerender\windowscompile\build_cmake\luxcore\src\slg\sampleresult_types.cl(41): error C3646: 'objectID'
       : unknown override specifier (compiling source file C:\luxcorerender\LuxCore\src\slg\rendersession.cpp) [C:\luxc
       orerender\WindowsCompile\Build_CMake\LuxCore\src\slg\slg-core.vcxproj]
         c:\luxcorerender\windowscompile\build_cmake\luxcore\src\slg\sampleresult_types.cl(41): error C4430: missing ty
       pe specifier - int assumed. Note: C++ does not support default-int (compiling source file C:\luxcorerender\LuxCo
       re\src\slg\rendersession.cpp) [C:\luxcorerender\WindowsCompile\Build_CMake\LuxCore\src\slg\slg-core.vcxproj]

    0 Warning(s)
    714 Error(s)

Time Elapsed 00:00:38.26
--- FATAL ERROR RUNNING CMAKE ---

User avatar
lacilaci
Donor
Posts: 1817
Joined: Fri May 04, 2018 5:16 am

Re: Reduce the number of OpenCL kernel compilations

Post by lacilaci » Wed Jan 22, 2020 2:31 pm

how many more are there? Asking so that I can put correct number of entries on trello.. right now this task is always 95% done :D

User avatar
Dade
Developer
Posts: 3746
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Reduce the number of OpenCL kernel compilations

Post by Dade » Wed Jan 22, 2020 2:34 pm

kintuX wrote:
Wed Jan 22, 2020 2:17 pm
Latest commits again break the windows cmake build:
(ending of console output)

Code: Select all

...
...
...
  c:\luxcorerender\windowscompile\build_cmake\luxcore\src\slg\sampleresult_types.cl(39): error C4430: missing ty
       pe specifier - int assumed. Note: C++ does not support default-int (compiling source file C:\luxcorerender\LuxCo
       re\src\slg\rendersession.cpp) [C:\luxcorerender\WindowsCompile\Build_CMake\LuxCore\src\slg\slg-core.vcxproj]
         c:\luxcorerender\windowscompile\build_cmake\luxcore\src\slg\sampleresult_types.cl(41): error C3646: 'objectID'
       : unknown override specifier (compiling source file C:\luxcorerender\LuxCore\src\slg\rendersession.cpp) [C:\luxc
       orerender\WindowsCompile\Build_CMake\LuxCore\src\slg\slg-core.vcxproj]
         c:\luxcorerender\windowscompile\build_cmake\luxcore\src\slg\sampleresult_types.cl(41): error C4430: missing ty
       pe specifier - int assumed. Note: C++ does not support default-int (compiling source file C:\luxcorerender\LuxCo
       re\src\slg\rendersession.cpp) [C:\luxcorerender\WindowsCompile\Build_CMake\LuxCore\src\slg\slg-core.vcxproj]

    0 Warning(s)
    714 Error(s)

Time Elapsed 00:00:38.26
--- FATAL ERROR RUNNING CMAKE ---
I should have fixed this probelm.
Support LuxCoreRender project with salts and bounties

User avatar
Dade
Developer
Posts: 3746
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Reduce the number of OpenCL kernel compilations

Post by Dade » Wed Jan 22, 2020 2:34 pm

Adding/Removing a new light source type doesn't require OpenCL compilation anymore (removed PARAM_HAS_*LIGHT).
Support LuxCoreRender project with salts and bounties

kintuX
Posts: 513
Joined: Wed Jan 10, 2018 2:37 am

Re: Reduce the number of OpenCL kernel compilations

Post by kintuX » Wed Jan 22, 2020 2:53 pm

Dade wrote:
Wed Jan 22, 2020 2:34 pm
I should have fixed this probelm.
Confirming. It now builds w/o problems.

User avatar
Dade
Developer
Posts: 3746
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Reduce the number of OpenCL kernel compilations

Post by Dade » Wed Jan 22, 2020 3:02 pm

The work on this topic for v2.3 is done. Any further development will continue on a branch for v2.4.

Materials/Textures aside (v2.4 stuff), there are now only the following conditional compilations:

- render engine type: PATHOCL, TILEPATHOCL and RTPATHOCL
- epsilon min. and epsilon max. values;

So, assuming you are using the default epsilon min./max. and Materials/Textures aside, there are now only 3 types of kernel used.
Support LuxCoreRender project with salts and bounties

User avatar
Sharlybg
Donor
Posts: 1709
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Reduce the number of OpenCL kernel compilations

Post by Sharlybg » Wed Jan 22, 2020 4:34 pm

Thanks for the hard work Dade !
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
Dade
Developer
Posts: 3746
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Reduce the number of OpenCL kernel compilations

Post by Dade » Fri Feb 21, 2020 11:41 am

This task is concluded with viewtopic.php?f=5&t=1812
Support LuxCoreRender project with salts and bounties

Post Reply