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
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
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
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
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:
Tiled rendering / Noise Threshold 0.0 / 3xGPUs = 1m45 - noiseless image:
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: