Page 3 of 15

Re: Adaptive sampling improvements

Posted: Fri Apr 05, 2019 12:43 am
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

Re: Adaptive sampling improvements

Posted: Fri Apr 05, 2019 10:23 am
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.

Re: Adaptive sampling improvements

Posted: Fri Apr 05, 2019 10:51 am
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.

Re: Adaptive sampling improvements

Posted: Fri Apr 05, 2019 4:48 pm
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.

Re: Adaptive sampling improvements

Posted: Sat Apr 06, 2019 2:14 pm
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.

Re: Adaptive sampling improvements

Posted: Sat Apr 06, 2019 3:03 pm
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....

Re: Adaptive sampling improvements

Posted: Sun Apr 07, 2019 1:36 pm
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.

Re: Adaptive sampling improvements

Posted: Sun Apr 07, 2019 1:48 pm
by Sharlybg
Clear that new code improve things.
can we have improvement stats ?

Re: Adaptive sampling improvements

Posted: Sun Apr 07, 2019 1:53 pm
by epilectrolytics
Very welcome improvement, thanks alpistinho & Dade!

Re: Adaptive sampling improvements

Posted: Sun Apr 07, 2019 2:05 pm
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