NOTE: As with all things tech, things change quickly and this post is past its shelf life. Please keep in mind this was written and published in Sept 2016. DaVinci Resolve has changed, hardware has changed. Comments have been disabled in this post.
There’s one question that seems to be on everyone’s mind when it comes to building a workstation to run DaVinci Resolve… Nvidia Quadro vs GeForce GTX.
The workstation purists will tell you that a high-end Nvidia Quadro card will give you the best performance. I used to think so too, but now I’m here to tell you that’s probably not the case. Read on to find out why I believe the best value GPU for DaVinci Resolve is the Nvidia GeForce GTX line.
A GPU is a fast, powerful, and massively parallel number cruncher. It manipulates image data in memory incredibly quickly and is highly efficient in any application where processing of large blocks of data happens in parallel. This can be any computer graphics application as well as various engineering and scientific processing applications.
However, not all GPU intensive applications have the same requirements. Some require more mathematical precision than others.
Nvidia Quadro vs GeForce GTX
What’s the difference between a high-end workstation GPU and a high-end gaming GPU?
There are a number of differences, but the most significant one has to do with what type of math the GPU cores are optimised for.
Let’s head to wikipedia for some definitions:
Single Precision Floating Point
The term floating point refers to the fact that a number’s radix point (decimal point, or, more commonly in computers, binary point) can “float”; that is, it can be placed anywhere relative to the significant digits of the number.
Double Precision Floating Point
You can dig into it a lot deeper on wikipedia if you want, I can get lost in there for hours.
Single precision operations are referred to simply as FP32, and double precision operations are referred to as FP64. GPU cores are optimised for either FP32 or FP64 operations and while it can compute both, there will be a performance hit as explained the article “Explaining FP64 Performance on GPUs” which is the best of only a few articles I could find that lays this out in a readable manner.
The bottom line is Nvidia GeForce GTX cards have very good FP32 performance and poor FP64 performance.
Not All Nvidia Quadro Cards Are Equal
Many people incorrectly assume that all Nvidia Quadro GPU’s are designed for high FP64 performance. This is not necessarily the case, and depends on the GPU architecture. I’ve heard plenty of people make the blanket argument that double precision floating point capability is the primary justification for any Quadro card’s price, and why it is better suited to DaVinci Resolve. It’s not that simple.
As mentioned in “Explaining FP64 Performance on GPUs“, the Nvidia Quadro M6000 actually has only minimal FP64 performance compared to the Nvidia Quadro K6000 or Tesla K40. There is a difference between the Kepler and Maxwell generations of Quadro cards when it comes to GPU architecture. The simple fact that it’s a Quadro GPU does not necessarily mean it’s geared to FP64 over FP32 operations.
This is not the real flaw in the argument however.
DaVinci Resolve Is Coded For FP32 Only
The real kicker here is that DaVinci Resolve utilises only FP32 operations and makes no use of FP64 operations at all. So any argument that a FP64 workstation class GPU is better suited to DaVinci Resolve due to it’s “better” level of precision is completely unfounded.
Nvidia GeForce GTX for DaVinci Resolve
While there are some other differences between a Quadro or Tesla GPU and GeForce GTX GPU, such as ECC memory, better quality assurance and testing procedures, a top of the line Nvidia GeForce GTX GPU offers incredibly high performance and far better value for money in most DaVinci Resolve applications where there is little, if anything to be gained by spending more money on a Nvidia Quadro GPU.
- There is definitely no advantage to having a GPU optimised for FP64 performance when running Resolve, especially since it will come at the cost of FP32 performance which is far more important.
- Nvidia have decided to include minimal FP64 performance in the Maxwell generation of Nvidia Quadro GPU’s in any case, so that’s not the issue. Both the latest Maxwell generation Quadro and GeForce GTX are FP32 GPU’s.
- If you want to spend the extra money, there is nothing wrong with choosing a Nvidia Quadro GPU, but you’re not compromising performance in any way by choosing a top of the line GeForce GTX instead.
I would love to hear from anyone who has run Resolve on both GPU’s with real-world comparisons to share. Please comment and get in touch if you have anything to add.