A few weeks ago, I wrote a forum post to try to clarify some things about CUDA, the Mercury Playback Engine, and what it all means for Adobe Premiere Pro. I wrote this as a forum post because I wanted to invite questions and conversation. But, as forum threads do, it got a little messy, so I thought that I should consolidate the information here.
If you want to ask a question about this subject, please do so on the forum thread, not on this blog post. It's very difficult to have a conversation in the comments of a blog post
What is the Mercury Playback Engine, and what is CUDA?
Mercury Playback Engine is a name for a large number of performance improvements in Adobe Premiere Pro CS5. Those improvements include the following:
- 64-bit application
- multithreaded application
- processing of some things using CUDA
Everyone who has Premiere Pro CS5 has the first two of these. Only the third one depends on having a specific graphics card.
CUDA is a technology (architecture, programming language, etc.) for a certain kind of GPU processing. CUDA is an Nvidia technology, so only Nvidia cards provide it.
Confusingly-because of one of our own early videos that was unclear-a lot of people think that Mercury just refers to CUDA processing. This is wrong. To see that this was not the original intent, you need look no further than the project settings UI strings Mercury Playback Engine GPU Acceleration and Mercury Playback Engine Software Only, which would make no sense if Mercury meant "hardware" (i.e., CUDA).
What is required for Premiere Pro to use CUDA processing?
The official and up-to-date list of the cards that provide the CUDA processing features is here:
Adobe Premiere Pro CS5 system requirements
Some of the cards on that list are only enabled if you have the recent updates. Go here to read about the most recent updates.
If you don't have one of these CUDA cards, you can still use Premiere Pro CS5; you just won't get the advantages of processing with CUDA.
On Mac OS, CUDA processing features of Premiere Pro CS5 require Mac OSX v10.6.3 or later.
What does Premiere Pro accelerate with CUDA?
Here's a list of things that Premiere Pro CS5 can process with CUDA:
some effects (complete list at the bottom of this post)
scaling (details here)
color space conversions
It's worth mentioning one set of things that Premiere Pro CS5 doesn't process using CUDA: encoding and decoding.
A common misconception is that CUDA processing is only used for rendering for previews. That is not true. CUDA processing can be used for rendering for final output, too. See this page for details about what rendering is.
Whether a segment of a sequence gets a red or yellow render bar is influenced by whether the project is set to use CUDA processing (i.e, whether the project's Renderer setting is Mercury Playback Engine GPU Acceleration or Mercury Playback Engine Software Only). See this page for details.
Note that whether a frame can be processed by CUDA depends on the size of the frame and the amount of RAM on the graphics card (VRAM). This article gives details about that, toward the bottom