Does DaVinci Resolve Studio 15.1.2 support NVLink?Written on October 31, 2018 by Matt Bach
In the past, NVLink has only been available on extremely expensive GPUs like the Quadro GV100. With the new GeForce RTX 2080 and 2080 Ti, however, NVIDIA has decided to include NVLink functionality on a more mainstream product which opens up a number of very interesting possibilities.
We have more information on NVLink in our NVLink on NVIDIA GeForce RTX 2080 & 2080 Ti in Windows 10 article, but in a nutshell, NVLink allows for much faster interconnect between multiple video cards. The version built into the GeForce RTX cards only supports up to two cards, but those two cards should be able to talk and exchange data much faster than they could without NVLink. One of the more common and "simple" ways that NVLink can be utilized is to allow for memory pooling which can let software like DaVinci Resolve to combine the VRAM from multiple GPUs. Right now, Resolve has to load all the relevant data into both card's memory, so if you have two RTX 2080 Ti 11GB cards, you will still only have 11GB of usable VRAM. With memory pooling, however, the cards can share memory which increases the effective amount of memory to 22GB (11GB + 11GB).
Another possibility is that we could simply see increased performance in multi-GPU configurations. Resolve is pretty good at using multiple cards already, but if Blackmagic finds a way to utilize the much faster data rates that NVLink is capable of, the scaling could improve even further.
The issue is that NVLink is very new and as far as we know, Blackmagic has not yet added support in the current versions of DaVinci Resolve (15.1.2). Still, we are curious to see what happens, especially since in order to enable NVLink, you also have to enable SLI. In the past, we've seen lots of issues with Resolve if SLI was enabled so we are very curious to see what happens.
If you would like to skip over our test setup and benchmark result/analysis sections, feel free to jump right to the Conclusion section.
Test Setup & Methodology
Listed below is the hardware & software we will be using in our testing:
|Motherboard:||Gigabyte X399 AORUS Xtreme|
|CPU:||AMD Threadripper 2990WX 3.0GHz
(4.2GHz Turbo) 32 Core
|CPU Cooler:||Corsair Hydro Series H80i v2|
|RAM:||8x DDR4-2666 16GB (128GB total)|
|Video Card:||1-2x NVIDIA GeForce RTX 2080 Ti 11GB
w/ NVIDIA RTX 4-slot NVLink Bridge
|Hard Drive:||Samsung 960 Pro 1TB M.2 PCI-E x4 NVMe SSD|
|OS:||Windows 10 Pro 64-bit|
|Software:||DaVinci Resolve 15 (ver. 220.127.116.11)|
Our testing for DaVinci Resolve primarily revolves around the Color tab and focuses on the minimum FPS you would see with various media and levels of grading. The lowest level of grading we test is simply a basic correction using the color wheels plus 4 Power Window nodes with motion tracking. The next level up is the same adjustments but with the addition of 3 OpenFX nodes: Lens Flare, Tilt-Shift Blur, and Sharpen. The final level has all of the previous nodes plus one TNR node.
We kept our project timelines at Ultra HD (3840x2160) across all the tests, but changed the playback framerate to match the FPS of the media. For all the difficult RAW footage we tested (CinemaDNG & RED), we not only tested with the RAW decode quality set to "Full Res" but we also tested at "Half Res" ("Half Res Good" for the RED footage). Full resolution decoding should show the largest performance delta between the different cards, but we also want to see what kind of FPS increase you might see by running at a lower decode resolution.
|H.264||3840x2160||29.97 FPS||80 Mbps||Transcoded from RED 4K clip|
|H.264 LongGOP||3840x2160||29.97 FPS||150 Mbps||Provided by Neil Purcell - www.neilpurcell.com|
|DNxHR HQ 8-bit||3840x2160||29.97 FPS||870 Mbps||Transcoded from RED 4K clip|
|ProRes 422 HQ||3840x2160||29.97 FPS||900 Mbps||Transcoded from RED 4K clip|
|ProRes 4444||3840x2160||29.97 FPS||1,200 Mbps||Transcoded from RED 4K clip|
|XAVC S||3840x2160||29.97 FPS||90 Mbps||Provided by Samuel Neff - www.neffvisuals.com|
|XAVC Long GOP||3840x2160||29.97 FPS||190 Mbps||Transcoded from RED 4K clip|
|Blackmagic RAW||4608x1920||24 FPS||210 Mbps||A001_08122231_C008||Blackmagic RAW|
|RED (7:1)||4096x2304||29.97 FPS||300 Mbps||A004_C186_011278_001||RED Sample R3D Files|
|CinemaDNG||4608x2592||24 FPS||1,900 Mbps||Interior Office||Blackmagic Design
|RED (7:1)||6144x3077||23.976 FPS||840 Mbps||S005_L001_0220LI_001||RED Sample R3D Files|
|RED (9:1)||8192x4320||25 FPS||1,000 Mbps||B001_C096_0902AP_001||RED Sample R3D Files|
With the addition of the "Fusion" tab in Resolve, we are also going to be including some basic tests for that tab as well. At the moment these are relatively easy projects that specifically test things like particles with a turbulence node, planar tracking, compositing, and 3D text with a heavy gaussian blur node. These projects are based on the following tutorials:
- The Post Color Blog - Composite a new phone screen in Davinci Resolve and Fusion!
- VDV Productions - 3D Dancing Text Animation with light rays | DaVinci Resolve 15 & Fusion Tutorial
- Chetal Gazdar - Blackmagic Design Fusion Tutorial: Golden Dust Particles
If you have suggestions on what we should test in the future, please let us know in the comments section. Especially if you are able to send us a sample project to use, we really want to hear from you!
Color Tab FPS - Benchmark Analysis
To analyze our benchmark results, we are going to break it down based the three different levels of color grading we tested. The easiest - a basic grade with 4 power windows - is not too difficult and every GPU we tested should be able to give full playback FPS in everything but RED 8K (Full Res Premium). However, each level up should show more and more of a difference between the different cards. One thing we have come to realize is that as available hardware is getting faster and faster, we are going to have to tweak our testing at some point. We still feel that what we are doing is realistic, but we may need to bump all our test media to 60 FPS just so we can actually see a difference between the different cards.
The "Score" shown in the chart below is a representation of the average performance we saw with each configuration for that test. In essence, a score of "80" means that on average, we were able to play our project at 80% of the tested media's FPS. A perfect score would be "100" which would mean that the system gave full FPS even with the most difficult codecs and grades.
Even a single RTX 2080 Ti is able to play our lower two levels of grading at near full FPS with all the test media we used, but we can see some pretty clear results if we look at the highest level of grading which includes Temporal Noise Reduction. Here, it is very obvious that with NVLink/SLI off we are getting a nice ~40% increase in performance with two GPUs over just one. However, as soon as we turn on NVLink/SLI, we go right back down to the performance we saw with a single GPU. Clearly, having NVLink and SLI on not only doesn't work, it makes things significantly worse!
Fusion Tab FPS - Benchmark Analysis
Fusion is relatively new to our DaVinci Resolve testing, and so far, we haven't been too impressed with how well it takes advantage of the GPU. To be fair, we are not using media in these projects that is particularly difficult to process, but given the FPS we saw in each project we doubt that that having multiple GPUs would significantly improve performance even if you are using 8K RED media. However, it is possible that either SLI or NVLink might help, so we went ahead and did the testing to find out.
For Fusion, it looks like it really doesn't matter if you use NVLink or SLI at all. Fusion doesn't seem to use multiple GPUs very well, so things that make multi-GPU setups either better or worse don't really affect performance.
Does NVLink work in DaVinci Resolve Studio 15.1.2?
No, NVLink does not work in DaVinci Resolve 15.1.2 and will actually significantly reduce performance! Right now, in order to enable NVLink you have to enable SLI which currently means that Resolve can only effectively see and use one of the two installed GPUs.
Hopefully this will change in future versions of DaVinci Resolve, but for now, having NVLink enabled is very much a bad thing. It appears that since SLI needs to be enabled for NVLink to work, Resolve is getting confused about what GPUs is can and cannot use. Rather than just ignoring SLI, it actually decides to ignore the second GPU instead. So even if you manually tell Resolve to use both GPUs, it is only able to actually utilize one of them.
We expect this to change in future versions of Resolve since even if Blackmagic decides to not implement NVLink, they still need to at least have enough support so that problems like this don't occur if a user has NVLink enabled for some other software. When they will fix this issue is currently unknown, but at least for Resolve 15.1.2 simply be aware that even if your system supports NVLink, you really should have it turned off when you use DaVinci Resolve.