Eric Santiago
07-12-2011, 09:48 AM
with version 8 supporting the AMD, this doesnt fall in the same as CUDA (Nvidia) right?
we have a few AMD cards lying around here due to Quadro 4000 replacements.
now if we had a Cubix Id revese the setup here :)
Alexander Ibrahim
07-12-2011, 11:15 AM
Not exactly ...
Support for the AMD GPU is through Apple's OpenCL. This is a powerful cross platform general purpose GPU library. I haven't looked at it in detail, but my understanding is that it has to compromise. Because its cross platform, it has to implement a sort of least common denominator feature set.
That means that certain functions that are available on the GPU hardware are not available in OpenCL. Also ... OpenCL can not be as well optimized for performance.
CUDA is Nvidia's general purpose GPU library ... and it can access all of the features of the Nvidia cards, and because it can be tailored to Nvidia specifically can make much more efficient use of the GPU's processing.
So, if you give Black Magic a call they'll tell you that there are several limitations.
First ... Resolve can't directly manage multiple OpenCL GPU's ... Resolve can make a system wide OpenCL call ... which OpenCL and OS X then parallelize and distribute - or not. Now ... the thing to remember is that this means Apple's engineers are in charge of performance of Resolve at that point. This will never be as good as letting the DaVinci/Black Magic programmers handle it, because Apple has to make thousands of appliations work in a generally accessible way, and Resolve is optimized for one task: Real time color correction.
Second, performance is lower on a per GPU basis. So ... let's say you have two OS X installs on the same machine, with dual Quadro 4000 cards. In one installation, you have everything set up with CUDA as Black Magic recommends. In the other ... you have Apple's default setup, in which Resolve would use OpenCL to access the cards. You will get MUCH lower performance on the default OpenCL setup. Perhaps as little as 25% of the performance.
The flat fact is that a fast Mac with a late model ATI video card will work for a lot of people for the bulk of their work ... where they are using 1080p material in ProRes, Cineform or uncompressed. If you plan on grading R3D's though, I think you may as well go back to Color.
Third some Resolve features are simply not implemented on OpenCL. The most important of these (to me) is Resolve's noise reduction node. I haven't used this node ... but its supposed to be black magic. (pun sadly intended)
OK ... so I hope that explains.
In your case Eric, I think that you should keep your Nvidia cards in your system.
Now ... one GPU is dedicated to the "GUI" when using Resolve ... that may as well be your AMD card.
I had planned on replacing my stock AMD card because the Quadro 4000 uses one slot ... so I can pass my Decklink HDMI header to the "empty" portion of the GPU slot, have a second Quadro in its own slot, and still have a Decklink Extreme and an HBA card. If that isn't necessary for you, then definitely use the AMD card.
If you have machines today on which you would like to run Resolve, but for which you have no second "Resolve" GPU, then if you can accept the limitations of OpenCL, those machines can use a second AMD card with Resolve and get some benefit compared to a single GPU setup.
THE FUTURE
Both AMD and Nvidia GPU's will get faster ... heck even Intel's built in GPU will get faster. All will implement more features.
Eventually OpenCL will be more than fast enough to handle all of Resolve's requirements in real time with relatively cheap GPU's. (Well ... except for Red's plans for 6K and higher resolution cameras ...)
Furthermore, OpenCL will support more features.
Last, its not in Black Magic's interest to be tied to a single GPU manufacturer. CUDA ties them to Nvidia.
So ... you'll see nodes that don't work with OpenCL at all ported to OpenCL.
This same reasoning applies to Adobe and their "Mercury" CUDA acceleration system. Eventually, it will be ported from CUDA to OpenCL.
Eric Santiago
07-12-2011, 11:39 AM
Thanks Alexander for that :)
I was just tinkering with the idea.
Im still waiting on our copy to drop here so until then, Im dreaming up of scenarios :)
Matthias Hutter
07-12-2011, 01:13 PM
Not exactly ...
Support for the AMD GPU is through Apple's OpenCL.
OpenCL isn't Apple's, it's from the Khronos group which Apple is part of.
Alexander Ibrahim
07-12-2011, 01:39 PM
OpenCL isn't Apple's, it's from the Khronos group which Apple is part of.
Uhm ...
OpenCL was originally developed by Apple (http://en.wikipedia.org/wiki/OpenCL)
In any case I was talking about Resolve using Apple's implementation of OpenCL that is part of OS X.