This year, V-Ray 3.6 introduced the concept of GPU and CPU hybrid rendering. Using the same CUDA engine as their GPU renderer, hybrid rendering allows you to treat CPUs as though they were additional CUDA devices, maximising a machine’s rendering capabilities.

In real-world terms, this should allow you to accelerate the speeds of your local CUDA renders, and spread your batch renders out across a broader array of machines than previously possible. It’s easy to set up within V-Ray: simply select CUDA from the V-Ray options and check the processors you want to use. Most of the settings carry over from standard V-Ray, with GPU texture sampling being the most notable new addition to the variables.

So how does it compare? Rendering our YellowDog shader-ball scene locally, we discovered just whether this approach hits our expectations – read below to discover more . . .

Hardware: GeForce GT 740, Xeon 2.8GHz 4 Core.

CPUGPUCPU + GPU
7min 57s14min 42s6min 52s
 01 CPU only CUDA WS 02 GPU only CUDA WS 03 Hybrid CUDA WS

So, hybrid rendering has shaved a minute off the CPU render times, making it about 13% faster. But this is only on my modest workstation where you can see that the CPU is doing the bulk of the work. As CUDA is primarily a GPU engine, what happens when you tap into some more GPU power?

Hardware: 2x GeForce GTX 1060, Xeon 3.7Ghz 8 Core.

CPUGPUCPU + GPU
4min 29s43s42s
 04 CPU only GPU node 05 GPU only GPU node 06 Hybrid GPU node

 

As expected on the GPU node, it’s the GPUs doing the heavy lifting here, with the CPU only helping out a tiny amount. There’s still a speed improvement though which is not to be ignored, especially when you are pushing hundreds or thousands of renders through in one go.

How about trying with a CPU only node:

Hardware: 32 Core Xeon 2.6GHz, no usable GPU

CPU
1 min 57s
 07 CPU node

And once again we get the exact same result, with the 32 core Xeon doing a great job of pretending to be a GPU.

V-Ray CUDA Hybrid looks to be a great solution for studios looking to utilise both GPU and CPU render nodes to speed up render times. Ordinarily, the 32 Core Xeon and 2x GeForce 1080 nodes above wouldn’t have been able to run the same job, and that’s where the benefit of this technology lies – in spreading the load. However, before we get wowed by relative GPU performance it’s worth checking these results against the standard CPU render engine to get a bit of context.

Using the CPU engine in V-Ray and the same settings as within CUDA the following frame rendered in only 2min 40s on my workstation, 60% faster than with CUDA Hybrid, and the difference in quality is significant – textures are sharper, contrast is richer, and the whole image is less noisy. This goes to show that CUDA Hybrid is still very much a GPU renderer, and, as such, is better suited to studios looking to buff their GPU power with CPUs, rather than the other way around.

CPU EngineCUDA Hybrid Engine
 08 CPU only WS 07 CPU node

Be the first to write a comment!

Leave a Reply

Your email address will not be published. Required fields are marked *