Adaptive sampling improvements

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

Re: Adaptive sampling improvements

Post by alpistinho »

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: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Adaptive sampling improvements

Post by Dade »

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: 198
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho »

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: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Adaptive sampling improvements

Post by Dade »

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: 198
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho »

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: 198
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho »

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: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Adaptive sampling improvements

Post by Dade »

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: 3101
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Adaptive sampling improvements

Post by Sharlybg »

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

Portfolio : https://www.behance.net/DRAVIA
epilectrolytics
Donor
Donor
Posts: 790
Joined: Thu Oct 04, 2018 6:06 am

Re: Adaptive sampling improvements

Post by epilectrolytics »

Very welcome improvement, thanks alpistinho & Dade!
User avatar
alpistinho
Developer
Developer
Posts: 198
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho »

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