Sometimes our clients ask if they can use GeForce GPUs rather than Quadro boards, even in multi-GPU external boxes, which is what some other post-production manufacturers are doing to reduce the costs. So we will dedicate a small technical white paper to explain the differences:
Note: The next points only apply when comparing GeForce and Quadro boards from the same generation.
Question: Does GeForce works with Mistika Ultima & Mistika Boutique systems or do I need a Quadro model?
Answer: Yes it works, but we recommend NVidia Quadro for a number of reasons:
- Mistika Ultima and Mistika Boutique are faster with Quadro: In general, when you have a post production application that can get the same performance with Quadro and GeForce what it means is that this application is poorly optimised, or only partially based on GPU and can not get full advantage of a Quadro board. But that is not the case of Mistika:
A key aspect for Mistika realtime performance is not about the GPU processing but about the bus management. For example, when you need to move several layers of 4K images in realtime at high frame rates, it is usually the transfer of input and output images between the RAM and GPU what creates the ultimate performance limit, and not the GPU processing itself.
In a gaming application you only need to upload images to the GPU and then display those images directly in a computer monitor, but in a post-production system like a Mistika system with SDI outputs the resulting images need to be downloaded to the Aja video board for playbacks, and also to the storage for the case of rendering. Also some complex effects, plugins and IO codecs, and decoding of complex formats like R3D may need several trips of the images between RAM and GPU that can take place in parallel by using a Quadro board rather than a GeForce model.
And that is the main performance advantage of a Quadro board against a GeForce model, as the Quadro permits to move images in both directions at the same time and also at faster speeds. For example Mistika can be uploading the layers for the next frames, while processing the current frame and also downloading the finished images of previous frames all at the same time. This is not possible with a GeForce.
- Quadro has more memory
The extra GPU memory in Quadro models is also important, as to do all this Mistika needs to move extra images and keep multiple buffers where the realtime effects are running in the GPU. If there is not enough graphics memory then a "swap" process between RAM and GPU memory will start, with a significant performance impact or even crashing
Please note that as difference to other applications, the whole Mistika rendering engine is based on GPU, not only a small part of it as in other applications, so the extra memory provided by Quadro boards also provides is more important and it as an stability advantage, not only additional speed. In complex projects, the amount of graphics memory is what can make the difference between having a stable Mistika session or repeated crashes.
- Quadro is more stable and robust: In a same way than a proper workstation is more robust than a PC and can last for much longer. GeForce boards are designed for gaming, where stability is not a critical issue. Some of them run pretty hot and can also be used as nice barbeques, but they are not really designed for client attended sessions.
Finally, SGO maintains a strong collaboration with NVidia to test at both sides and to make sure the Quadro drivers are free of bugs affecting the Mistika software.
However, there are still situations where you may want to use a GeForce model:
- When there are severe budget restrictions. A high end Geforce can be better than a low end Quadro.
- When upgrading very old systems, where a modern Quadro can not really deliver all its performance anyway, due to botllenecks in all the other components. In these situations a GeForce can be a low cost option for giving a second life to an old computer
- For generic render nodes not used for SDI playbacks, except for complex cases requiring additional GPU memory (ask support in case of doubt)
Question: What about external enclosures with several boards for mulitGPU support?
Answer: It may work, but in the case of Mistika it is not efficient.
NOTE: This point only applies to Mistika Ultima (with Totem and BatchRender). Mistika Boutique and all other Mistika applications do not support MultiGPU.
The reason is the same as the first point. Applications that are only partially GPU optimised can benefit from this formula up to a certain point, just by using brute force. But when you have a software 100% GPU optimised like Mistika then the speed limiting factor is usually not the processing but the bus bandwidth. Typical external enclosures only use one PCIe slot, which put a hard limit when working in complex post production tasks.
Instead, what we recommend for multiGPU is to install each GPU on its own dedicated slot, and always using the fastest GPU available first, rather than using two average units.
With this formula, Mistika Totem technology (linux only) can send different frames to each GPU without any bandwidth interference, which is much more efficient than using SLI or external enclosures that need to share a common bus. For example, a Mistika Ultima system with two identical GPU boards in two different slots can really render 200% faster in most situations (providing that there is enough disk speed to feed both of them)
Question: What particular GPU model is recommended for Mistika Ultima / Mistika Boutique systems ?
Answer: At the date of this document we specially recommend these models:
- NVidia Quadro P4000: For up to 4K and UHD workflows with effect stacks not too complex. Also excellent as a second GPU for background rendering on Ultima systems, the P4000 is very cost effective.
- NVidia Quadro P5000: At the moment of writing this document It has the best balance between cost & performance, around double performance than P4000 but half price than P6000. At the current market prices It should be the one to look by "default".
- NVidia Quadro P6000: For complex production in general, like 4K Stereo3D & UHD 8K. In these cases the key advantage over P5000 is the 24GB or graphics memory.
[Edit Added 20 Nov. 2018]
- RTX The new NVidia RTX models are already supported, but no detailed benchmarks are available. Preliminary tests for the high end models show around 20% faster performance than previous top of the range models. Also interesting is the capability for 8K h264/HEVC rendering even in midd range models. More benchmarks availvenle soon ...
Question: What particular GPU model is recommended for other products like render nodes, MistikaVR, and Mistika Review?
Answer: Similar considerations apply, but in this particular case there is no SDI video board involved, which reduces the need for full duplex bandwidth. And as render speeds are typically slower than realtime (that is why you render...) then the full duplex bandwidth is not so important, and a high end GeForce board can be used to reduce costs, while still providing similar render performance in many cases.
But always check that there is enough memory in the GPU for the type of work that you plan (at least 11GB of GPU memory are recommended for serious 4K rendering), as the GeForce typically have half or less memory than the Quadro equivalent models.
At the date of this document, the only GeForce that can be recommended for serious render are the Geforce GTX 1080ti, which has 11GB memory, or RTX 2080ti (around 20% faster) Even with that, they will be slower than Quadro equivalents when decoding some formats supporting full duplex transfers like R3D. The Quadro P6000/RTX6000 can also render more complex jobs thanks to the 24GB of memory, so they can render jobs that which will simply crash with the GeForce or will be very slow due to "swapping" between GPU memory and the main RAM