cancel
Showing results for 
Search instead for 
Did you mean: 

Blender Discussions

gelert
Elite

RPR 2094 Noise Threshold Bug - Multi GPU Performance is masked

It turns out that RPRs multi GPU performance on macOS 10.14.6 (now that VEGA drivers are fixed) is being affected negatively by a Noise Threshold Bug in the Blender plug-in when Noise Threshold is set to anything else except 0.00.

Question: Why is it quicker (Test 2: 9.74s) to render an image on 1 GPU than it is on 3 GPUs (Test 1: 10.63s)?

Answer: Noise Threshold is set to 0.05

Test 1: Vega 20 + RX 580 + WX 9100

Noise Threshold 0.05 (Max Samples 250)

Resulting image = almost no noise, pretty quick time.

10.63s

pastedImage_9.png

Test 2: Solo WX 9100

Noise Threshold 0.05 (Max Samples 250)

Resulting image = correct amount of noise, but faster time than above but image is noisy.

9.74s

pastedImage_10.png

Question 2: Why is is quicker to render on 3 GPUs (Test 4: 10.53s) than it is on 1 GPU (Test 3: 15.17s)?

Answer: It's meant to be. Noise Threshold was set to 0.00.

Test 3:  - Solo WX 9100

Noise Threshold 0.00 (Max Samples 250) 

Resulting image = no noise, a lot more time.

15.17s

pastedImage_11.png

Test 4: Vega 20 + RX 580 + WX 9100

Noise Threshold 0.00 (Max Samples 250)

Resulting image = almost no noise. Suspicious time result - it's almost identical to Test 1. Suspiciously similar image output and time? Is the Noise Threshold setting being respected in Test 1? It seems to be a bug.

10.53s

pastedImage_12.png

Conclusion: Noise Threshold is not being respected when multiple GPUs are used.

All tests conducted with latest Blender 2.80 Nightly (23 July 2019) using a 2019 MacBook Pro i9 8-core 2.4GHz 32GB RAM on macOS 10.14.6. 

Sample file attached.

Update:

I'd like to also add that this bug also affects the Tiled Rendering feature.

Tiled rendering / Noise Threshold 0.1 / 3xGPUs = 1m44 - noiseless image:

pastedImage_1.png

Tiled rendering / Noise Threshold 0.0 / 3xGPUs = 1m45 - noiseless image:

pastedImage_2.png

Tiled rendering is not respecting Noise Threshold on multiple GPUs.

But it does respect Noise Threshold with Tiled Rendering when set to use 1 GPU (1m16). The resulting image is correctly noisy and the rendering time lower for 1 GPU than 3 GPUs:

pastedImage_3.png

3 Replies
bsavery
Staff

This is a known issue that adaptive sampling does not work on multi GPU rendering.

That would be great news, I have 2 eGPU‘s with Radeon VII. Any time reference?

0 Likes

Currently adaptive sampling is disabled if you have two GPU's.  We should have a fix before Blender 2.81