Adaptive sampling improvements

Discussion related to the Engine functionality, implementations and API.
User avatar
alpistinho
Developer
Developer
Posts: 168
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho » Fri Apr 05, 2019 12:43 am

I am facing issues to install AMDGPU pro drivers...
I think I will create a dual boot with Ubuntu 18.04 in order to solve, since linux Mint is unsupported
Support LuxCoreRender project with salts and bounties

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

Re: Adaptive sampling improvements

Post by Dade » Fri Apr 05, 2019 10:23 am

alpistinho wrote:
Fri Apr 05, 2019 12:43 am
I am facing issues to install AMDGPU pro drivers...
I think I will create a dual boot with Ubuntu 18.04 in order to solve, since linux Mint is unsupported
I can look into the OpenCL part if you want, it is really intricate and cryptic code anyway.
Support LuxCoreRender project with salts and bounties

User avatar
alpistinho
Developer
Developer
Posts: 168
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho » Fri Apr 05, 2019 10:51 am

Dade wrote:
Fri Apr 05, 2019 10:23 am
I can look into the OpenCL part if you want, it is really intricate and cryptic code anyway.
Go ahead if it's not a problem for you.
Since the adaptiveness is not dependent on the SobolSharedSampler part, maybe you could do it first in order to see if this solution works well for the GPU too.

I will send another pull request with the most recent version.

I will try to fix my OpenCL environment anyways, but it seems the AMDGPU pro drivers are buggy and refuse to compile for some kernel versions.
Support LuxCoreRender project with salts and bounties

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

Re: Adaptive sampling improvements

Post by Dade » Fri Apr 05, 2019 4:48 pm

I merged the latest pull request and fixed a couple of problems (in particular Sobol wasn't working anymore without a film, for instance PhotonGI was broken). It should now work. I'm also working on the OpenCL support.
Support LuxCoreRender project with salts and bounties

User avatar
alpistinho
Developer
Developer
Posts: 168
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho » Sat Apr 06, 2019 2:14 pm

What OpenCL environment are you using?

I was on Linux Mint and couldn't install AMDGPU-pro that includes the OpenCL driver. I then installed a second Ubuntu 18.04, had to downgrade the
kernel, then use a previous driver and now LuxCore build script still doesn't find the OpenCL headers.

I have the ampgpu-pro-dev and opencl-headers packages installed and still nothing. I could try using their ROCm environment, but it seems it still has issues running LuxMark, so I don't think I will be able to test anything I write

It's incredible how frustrating the GPU vendors make the development.
Support LuxCoreRender project with salts and bounties

User avatar
alpistinho
Developer
Developer
Posts: 168
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho » Sat Apr 06, 2019 3:03 pm

Ha, I think it needed some public shaming before working.

The compilation goes well until linking now, have you seen it before?
All binaries fail to find the libraries to be linked

Code: Select all

[ 94%] Linking CXX executable ../../bin/luxcoredemo
[ 94%] Linking CXX executable ../../bin/luxcorescenedemo
[ 94%] Linking CXX executable ../../bin/luxcoreconsole
[ 94%] Linking CXX executable ../../bin/luxcoreimplserializationdemo
[ 94%] Linking CXX shared module ../../lib/pyluxcore.so
/usr/bin/ld: cannot find -lembree3
/usr/bin/ld: cannot find -lOpenImageDenoise
/usr/bin/ld: cannot find -ltbb
/usr/bin/ld: cannot find -ltbb
/usr/bin/ld: cannot find -ltiff
/usr/bin/ld: cannot find -ltiff
/usr/bin/ld: cannot find -lIex
/usr/bin/ld: cannot find -lIlmImf
/usr/bin/ld: cannot find -lHalf
/usr/bin/ld: cannot find -lImath
/usr/bin/ld: cannot find -lIlmThread
/usr/bin/ld: cannot find -ljpeg
/usr/bin/ld: cannot find -lboost_thread
/usr/bin/ld: cannot find -lboost_program_options
/usr/bin/ld: cannot find -lboost_filesystem
/usr/bin/ld: cannot find -lboost_serialization
/usr/bin/ld: cannot find -lboost_iostreams
/usr/bin/ld: cannot find -lboost_regex
/usr/bin/ld: cannot find -lboost_system
/usr/bin/ld: cannot find -lboost_python
/usr/bin/ld: cannot find -lboost_chrono
/usr/bin/ld: cannot find -lboost_serialization
/usr/bin/ld: cannot find -lboost_numpy
/usr/bin/ld: cannot find -lboost_date_time
collect2: error: ld returned 1 exit status
samples/luxcoredemo/CMakeFiles/luxcoredemo.dir/build.make:147: recipe for target 'bin/luxcoredemo' failed
make[2]: *** [bin/luxcoredemo] Error 1
CMakeFiles/Makefile2:544: recipe for target 'samples/luxcoredemo/CMakeFiles/luxcoredemo.dir/all' failed
make[1]: *** [samples/luxcoredemo/CMakeFiles/luxcoredemo.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Support LuxCoreRender project with salts and bounties

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

Re: Adaptive sampling improvements

Post by Dade » Sun Apr 07, 2019 1:36 pm

I wrote the OpenCL code for Random and Sobol sampler. I have also merged the branch with the main branch so the new code is now part of the daily buildings.

Old code:

old.jpg

New Code:

new.jpg

@B.Y.O.B.: the random/sobol default adaptive strength is now 0.95 (was 0.7) as there are no more reasons to use a lower value.
Support LuxCoreRender project with salts and bounties

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

Re: Adaptive sampling improvements

Post by Sharlybg » Sun Apr 07, 2019 1:48 pm

Clear that new code improve things.
can we have improvement stats ?
Support LuxCoreRender project with salts and bounties

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

User avatar
epilectrolytics
Donor
Donor
Posts: 578
Joined: Thu Oct 04, 2018 6:06 am

Re: Adaptive sampling improvements

Post by epilectrolytics » Sun Apr 07, 2019 1:53 pm

Very welcome improvement, thanks alpistinho & Dade!
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, 2 x RTX 2070

User avatar
alpistinho
Developer
Developer
Posts: 168
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho » Sun Apr 07, 2019 2:05 pm

Dade wrote:
Sun Apr 07, 2019 1:36 pm
I wrote the OpenCL code for Random and Sobol sampler. I have also merged the branch with the main branch so the new code is now part of the daily buildings.
Thanks @Dade for the help! :D
Support LuxCoreRender project with salts and bounties

Post Reply