Join Todd Kopriva for an in-depth discussion in this video GPU: CUDA, part of Optimizing Performance with After Effects and Premiere Pro.
Premier Pro CS5, and Premier Pro CS5.5 can process many things on the GPU, using CUDA. CUDA, which is spelled CUDA, and stands for compute unified device architecture, is a technology from NVIDIA, that includes an architecture and programming language, but is specialized for graphics processing. Premier Pro can use CUDA to both accelerate many things and make the quality of some processing higher. There's not much that you have to do to take advantage of CUDA processing as long as you have one of the specific cards that's important for Premier Pro. But you do have to make sure the long project setting is set correctly. So lets look at that.
Project > Project Settings > General, for video rendering and playback. Make sure that the render is set to Mercury Playback Engine, GPU acceleration, not Mercury Playback Engine software only. If you don't have one of the cards that provides this feature, then Mercury Playback Engine, GPU acceleration will be disabled. And this Project Setting will automatically be set to Mercury Playback Engine software only. Many people use the term Mercury Playback Engine as if it only applies to CUDA processing.
This is incorrect, as you can see from this Project Setting, Mercury Playback Engine refers to a large set of performance improvements in Premiere Pro CS5 and later. Specifically, Mercury Playback Engine includes such improvements as Premiere Pro being a 64-bit application, Premiere Pro being multithreaded, so it can take advantage of all the CPUs on a system, and Premiere Pro being able to use CUDA, as long as you have the right hardware installed. So, lets look at what that right hardware is, just click okay and then go to help, Premiere Pro Help and search for system requirements and here, go to system requirements, Adobe Premiere Pro. On this page, we'll be able to see system requirements for several different versions of Premiere Pro, including Premiere Pro CS5 and Premiere Pro CS5.5. In the case of Adobe Premiere Pro CS5, the list of NVIDIA video cards that provides the CUDA acceleration is somewhat short. However, if we go to the Premiere Pro CS5.5 system requirements, we can see that the list is much longer.
Note that any card that has a name that ends in M, M being for mobile is a laptop card, Premiere Pro will run without one of these cards. However, you will not get the CUDA processing features if you do not have one of these cards. So, what exactly is processed by CUDA? Let's go back to Premiere Pro, Alt Tab to switch back to Premiere Pro. First of all, many but not all effects can be processed using CUDA. If we click the Accelerated Effects button this will show us only the effects that can be processed using CUDA. If I place my mouse button over the Effects panel, and press the Accent key to expand the Effects panel.
We can see all of the effects, the Premiere Pro CS5.5 can process using Cuda, and it's quite a large number in Premiere Pro CS5, five fewer effects could be accelerated using Cuda. Additive dissolve, film dissolve, invert, fast blur, and directional blur. We're not on the list for Premiere Pro CS5. And press Accent again to return the Effects panel to its normal size. There are many other things that can be processed using CUDA, but they're not as obvious in the user interface. These include scaling, deinterlacing, blending, color space conversions, and, in the case of Premier Pro CS 5.5, conversion for frame rate differences, for pixel aspect ratio differences for frame size differences and for field order differences are all processed using CUDA.
These last several items make it, so that mixing media of various types in the same sequence is not nearly as processor intensive as it once was. If you put items of various formats in the same sequence, Premiere Pro can handle it, but in the past, it would have to do the frame blending another conversions on the CPU, which then take a significant amount of processing time. Now, in Premiere Pro CS5.5, this processing can be done on a GPU, so you should notice that whenever you work with mixed media and a sequence, things should be a lot snappier as long as you have the good acceleration enabled.
It's important to call out a couple of things that CUDA doesn't accelerate within Premiere Pro. Neither encoding, nor decoding are accelerated using CUDA in Premier Pro. This means that, if you take an item and put it into a sequence with settings that match and hit play, you won't necessarily see faster playback with CUDA than without. Often, what causes an item to playback slowly in the timeline Is that it takes a long time and a lot of processing power to decode the footage item. This is especially true formats such as red or AVCHD that require a lot of processing power to decode. So, even though the processing of scaling of such footage items or the applying of effects to these footage items may be accelerated, the decoding of them is not. Another misconception about CUDA, is that it's only used for processing previews, this is not true.
CUDA is also used for rendering for final export. Essentially, anytime that scaling, or application of effects, or processing of image data is processed within Premiere Pro, that can be accelerated by CUDA, whether for previews or final exports. Note that any processing done by CUDA is done at maximum render quality, processing done using CUDA is also processed at 32 bits per channel color and a linear color space meaning that gamma equals 1. Another misconception about CUDA, is that CUDA is only used to make things faster, then Premier Pro CUDA can also make things better. Specifically, in the case of scaling, if you are using CUDA processing, Premiere Pro will actually use a higher quality scaling algorithm for details about scaling.
Go to Help, it will be Premier Pro Help, and search for Scaling CUDA. And on this page some details about scaling in Premiere Pro, you'll find details about which scaling algorithms are used in which circumstances and a comparison between scaling algorithms used in Premiere Pro and the scaling algorithms used in Photoshop. Here are the scaling algorithms used by Premiere Pro, but only the CPU is used. And here, are the algorithms used under various circumstances when processing is done by CUDA.
Launch those two low pass samples with Bicubic is a very high quality scaling style algorithm. The unfortunate thing about this algorithm is that it's often quite slow. But since CUDA processing is so much faster Premier Pro is able to use this algorithm in a reasonable amount of time. This is a higher quality scaling program that is used in Photoshop or by after effects so if you're using CUDA processing within Premiere Pro you can get very high quality scaling. Using CUDA processing and Premiere Pro doesn't just make things faster, it also in many cases makes them better.
- Planning your work, updating, and auto-saving
- Learning and customizing keyboard shortcuts
- Optimizing hard disks and CPUs
- GPU: CUDA and OpenGL
- Using "Render Multiple Frames Simultaneously" multiprocessing
- Pre-rendering and proxies in After Effects
- Lowering resolution for previews