Secondary diffuse bounce much more slower

Asic transit gloria mundi.
lion
Posts: 36
Joined: Wed Sep 12, 2012 2:35 pm

Secondary diffuse bounce much more slower

Postby lion » Sun Feb 23, 2014 11:34 am

I've notice that secondary diffuse bounce + sunray around ~5 times slower than primary diffuse hit + sunray (complex scenes, 1xGTX680). Probably because of rays coherency and cache.
Is it normal situation or I do something wrong?
If it's true question what to do with it... I have in mind use SVO or low-poly lod for secondary diffuse bounce.

Dietger
Posts: 50
Joined: Tue Nov 29, 2011 10:33 am

Re: Secondary diffuse bounce much more slower

Postby Dietger » Sun Feb 23, 2014 4:04 pm

Did you take a look at https://mediatech.aalto.fi/~timo/HPG2009/index.html?

Looking at their stats the raw ray throughput of diffuse rays is probably more like 2x/2.5x slower than raw primary ray throughput on Kepler. This is the performance of a trace-only kernel, not including any shading, but it at least suggests that your 5x cannot be fully explained just by ray coherence.

lion
Posts: 36
Joined: Wed Sep 12, 2012 2:35 pm

Re: Secondary diffuse bounce much more slower

Postby lion » Sun Feb 23, 2014 5:31 pm

Dietger, no, I didn't seen this, thanks.
May be it's because of shading, GPU-Z shows 98% CPU load and 10% memory controller load, also it's scene dependent, and even point of view dependent.
Event 2.5x already reason to think, we do not need much precise for secondary diffuse bounce, so we can accelerate it somehow, any suggestions?

lion
Posts: 36
Joined: Wed Sep 12, 2012 2:35 pm

Re: Secondary diffuse bounce much more slower

Postby lion » Tue Feb 25, 2014 8:05 pm

Thanks again for the link, I've found why http://code.google.com/p/understanding- ... l-on-gpus/ only 2..2.5x slower: RayGen.cpp->RayGen::randomReflection simulates numSamples diffuse rays from same origin, not real diffuse path segments. I compare it in similar condition - my implementation bit slower, but not much.

PS: sanmiguel.obj is perfect test scene for traversal :D
PPS: I've try sanmiguel.obj with embree on CPU and in shows almost same performance for primary rays, lol. May be it's not so crazy idea make second diffuse traversal on CPU?

mpeterson
Posts: 50
Joined: Fri Jan 06, 2012 3:09 pm

Re: Secondary diffuse bounce much more slower

Postby mpeterson » Wed Feb 26, 2014 10:35 am

PS: sanmiguel.obj is perfect test scene for traversal :D
PPS: I've try sanmiguel.obj with embree on CPU and in shows almost same performance for primary rays, lol. May be it's not so crazy idea make second diffuse traversal on CPU?


..and you can write kernels that can run twice as fast as embree+ispc on the same hw. for a full renderer there is no perf-diff. between a dual cpu and a titan (if you do it right + real scenes). so taking next gen of cpus into the game this is a obvious options, mp.


Return to “GPU”

Who is online

Users browsing this forum: No registered users and 1 guest