FAQ: Mercury Playback Engine, CUDA, OpenCL, Metal, and what it all means
Mercury Playback Engine is the given name for a group of improvments that is been built into Premiere Pro. See Adobe documentation on the topic here: Mercury Playback Engine (GPU Accelerated) renderer.
Those improvements includes:
- 64-bit application
- multithreaded application
- processing of some things using CUDA
- processing of some things using OpenCL
- processing of some things using Metal
- All versions of Premiere Pro (since CS5) have the first two of these: 64 bit and multi-threaded applicaton.
- Since then, GPU Acceleration was added, enhancing Mercury Playback Engine performance.
- CUDA support on Nvidia GPUs came first. Then, OpenCL and Metal processing for the Mercury Playback Engine came along.
- For current versions of Premiere Pro, you need at least 2 GB VRAM for HD. 4GB for 4K for the Mercury Playback Engine to function as specified.
- See System Requirments.
The official and up-to-date list of the cards that provide CUDA, OpenCL, and Metal processing features is here.
Here's a list of things that Premiere Pro can process with CUDA, OpenCL, and Metal:
- scaling - (alternate link)
- deinterlacing
- blending modes
- color space conversions
- One set of things that Premiere Pro's Mercury Playback Engine doesn't process: encoding and decoding.
That said, two new options for GPU accelerated encoding have been added recently, both of which use different tech than the Mercury Playback Engine:
- GPU acceleration is available for decoding and encoding of H.264 and HEVC formats with certain Intel GPUs using Intel Quick Sync. Info here.
- GPU acceleration is also available for encoding of H.264 and HEVC formats regardless of CPU type. Info here.
- The three technologies do work in concert, with default presets for hardware acceleration set accordingly.
- Note that whether a frame can be processed by CUDA, OpenCL, or Metal depends on the size of the frame and the amount of VRAM on the graphics card. This article gives details about that. Error Compiling Movie errors are often at the root this issue.
- Processing with CUDA, OpenCL, or Metal doesn't just mean that things are faster. In some cases, it can actually mean that results are better, as with scaling. See this article for details.
- If you don't have a supported GPU, you can still use Premiere Pro; you just won't get the advantages of processing with CUDA, OpenCL, or Metal.
- For that, use Mercury Playback Engine Software Only mode. This mode is also useful as a troubleshooting tool to check any anomalies with effects or visuals. The drawback is that it is a lot slower than working with a supported GPU.
An article on the Premiere Pro team blog based on the information and questions in this forum thread has been posted, please check that out.
Notes
- The author of this post is no longer working at Adobe, so it needs to be updated by my team. The various Premiere Pro Team Blog links to this article still function as of June 2020, however, their removal is likely imminent. This info needs to be captured before its removal, as it contains critical information for editors. We ask for your patience as this gets fixed.
- This article covers information about the Mercury Playback Engine GPU Acceleration. Please do not confuse this information with GPU accelerated exporting technology. More info on GPU accelerated exporting here.
-
As of June 2020, on macOS, CUDA processing for the Mercury Playback Engine been deprecated for Premiere Pro. Use Metal now.
