Skip to main content
Todd_Kopriva
Inspiring
January 4, 2011
Question

FAQ: Mercury Playback Engine, CUDA, OpenCL, Metal, and what it all means

  • January 4, 2011
  • 25 replies
  • 274495 views

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:

- some effects

- 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.

This topic has been closed for replies.

25 replies

Participant
February 22, 2021

I have a GTX 1660 and on Media
Encoder and Premiere I already configured to run with the GPU but when rendering the CPU it reaches 100% work, how do I render with the GPU?

R Neil Haugen
Legend
February 22, 2021

If you have a proper driver running, a recent Studio driver (avoid the game-ready drivers!) ... and if you have the Project dialog panel's "Mercury Acceleration" dialog set to CUDA, then PrPro will use the GPU for what it uses a GPU for.

 

Which is not a simple and constant companion to the CPU ... they are very different bits of gear.

 

Depending on the individual CPU you have, going to the Preferences and setting "hardware acceleration" to on may help for H.264 exports.

 

Neil

Everyone's mileage always varies ...
Participating Frequently
December 7, 2020

Hello, I have had the graphics render issue where I get green banded lines when rendering or exporting using Metal or OpenCL. It also crashes the computer and causes obviously failed imports.  I need to know if this is a graphics card issue or an Adobe issue, and what the remedy is....

The issue started happening on Catalina OS, so I updated to Big Sur, and the issue still is happening. It was happeing on Premiere(14.5) and Encoder (14.5), so when an update came out I updated all to 14.6. The green tearing and crashing still occurs on Metal/OpenCL but NOT the Software Only Renderer. I also tried the export via Metal/OpenCL using Premiere 13.15 and the issue still happens with my new macbook pro. So narrowing down, the issue is the singled to be around the New Macbook Pro and something to do with the graphics card renderer Metal and OpenCL

The Software Only renderer is NOT ideal, due to speed and obviously, I have a brand new laptop with maxed RAM for a reason. The green tearing lines and crashing occurs only on my brand new macbook pro. I have tried exporting on an older Macbook Pro (2015, 16GB RAM / Intel Irsis Pro 1536MB gfx card) and older iMac (2014, 8GB RAM / AMD Radeon R9 M290X 2GB gfx Card) both with significantly less memory and with AMD type graphics cards, and they export and render albeit slower, but here are no green lines or crash issues - Exports and Renders are successful NO ISSUES.

 

My current Macbook is (2019, 64 GB RAM / AMD Radeon Pro 5500M 8 GB

Intel UHD Graphics 630 1536 MB). What is the solution for the green tear lines and crashing that occurs when rendering/exporting via Metal/OpenCL on either Premiere or Encoder?? PLEASE HELP. Should I return the Macbook Pro for a faulty gfx card? Will Adobe fix a compatibility issue or whatever the issue is?

Participant
November 27, 2015

Todd,

I use the Media Encoder a lot for renders.

Having a Mac Pro with dual ATi graphic cards (total 6Gb of video memory) and the processor being 3 GHz 8-Core Intel Xeon E5, what would be the best option for me?

To render with GPU or Software(CPU)?

Thanks a lot.

Known Participant
June 11, 2015

How do you select "Mercury Playback Engine GPU" instead of software? I looked in my Preferences and I don't see it there.

Thank you,

Patrice Shannon

Participating Frequently
January 6, 2014

Hi Todd,

until the my  update to Premiere CC, I had not had any problem with Mercury Playback and open cl working with hardware acceleration.  For some reason I cannot use hardware acceleration any longer, the video freezes, and it will not export through AME. 

I am using a Win 7 machine with i7 extreme, 16 GB ram, multiple discs with my work discs being SSDs, and nVidia GTX 570 graphics card.

Legend
January 6, 2014

I'm not aware of OpenCL ever having worked with nVidia on Windows, only on Macs.  nVidia on Windows offers only CUDA.

Participating Frequently
January 7, 2014

Sorry Jim Simon, I meant to say GPU acceleration.  to many hours looking at the screen.

Participant
May 6, 2012

I'm running the 30 trial of PP5.5 in preference to FCPX as it handles my DSLR footage natively with no transcoding and will probably but in 10 days. One problem: my Macbook Pro uses the Nvidia GT330M which is widely acknowledged to be CUDA compliant (although not officially approved). Many people have used it to achieve Mercury hardware acceleration after installing the latest CUDA update and then editing the supported cards txt file to include the GT330M.

However, the Mac installation of 5.5 doesn't seem to have created the relevant txt file - I have searched using the terminal and manually but to no avail. Is this something which has been abandoned with 5.5 and, if so, is there a workaround. Like everyone else, I really could use the extra rendering muscle!!!

Apologies if this wasn't the best thread to post my query - I'm surprised there aren't more MBP/Premiere users with the same problem.

dradeke
Participating Frequently
May 6, 2012

I had the same laptop - or at least the one that had a 330M chip in it.  The problem with this laptop is the fact that it does not have enough memory to make a difference in GPU processing.  We're really looking for at least 768MB of GPu memory in order to make a difference.  Internally, we tried to make this work, but really all we could get out of it is one dissolve or light FX working.  Not really the kind of experience that people are really expecting from the Mercury playback engine these days so we excluded this card. 

Current generation Macbook Pro's are supported via the AMD/ATI chipset and OpenCL. 

Dennis

Participant
March 12, 2012

I'm getting the idea that people shouldn't go into the GPU/Cuda business expecting to encode quicker right?

But on the website of NVIDIA they have this video in which they proudly present the fact that encoding in AME is so much faster due to the use of the GPU, see: http://www.nvidia.co.uk/object/adobe_PremiereproCS5_uk.html

What am I missing?

Sebastiën

Todd_Kopriva
Inspiring
March 12, 2012

It's not the encoding that's faster; it's the rendering.

Exporting has two major phases: 1) rendering the frames and 2) encoding the rendered frames to an output format.

Premiere Pro uses CUDA to accelerate (1) but not (2).

Participant
March 14, 2012

Clear Todd, thanks.

Just as a side question then: If you render out the project in PP before going to AME and then check the "use rendered files" box in AME before hitting export, does that have any influence (negative or positive) as opposed to not rendering the project in PP and having AME do both the rendering and the encoding?

Thanks a lot,

Sebastiën

Participant
March 10, 2012

I'm new to PPCS5.5 and need to get a GPU card that supports CUDA - before I buy a Quadro 4000 (I'm on a Mac) to replace my outdated ATI Radeon HD 3870

- there won't be any change/compromise in my ability to use openGL in Photoshop, correct?  I'm assuming that a better video card is better accross all software?  I just need to make sure that my performance in PS is as good (or better)...

many thanks!

Participant
January 19, 2012

Hi! I read your blog, but still there is something I do not understand. I hope this is the right thread to ask.

I have Premiere Pro CS 5.5 Installed with a processor i7 950 with 12MB in RAM, some months ago I upgraded my graphics card to an NVIDIA QUADRO 2000 (previously I had and FX1800) as I wanted to have a more fluid editing and rendering process.

But I have not seen at all the difference.
Premiere, does recognize the card, as know I have enabled the GPU option in the software, but that's it.

A few weeks ago I got a Laptop, which has a newer processor i72820QM, but slower one and a good Nvidia card GEFORCE GT 525M, but not one approved for Mercury GPU acceleration and 8MB in RAM.

Amazinlgy, editing with 2 or 3 layers of AVCHD multicamera video works much better, running more fluid than the first one and seems to render faster.

So, I got a software to see what is the ussage of the GPU during different processes (gpuz) and  I found out that none of them, neither the laptop or the PC are using the GPU at all during my editing process.

Is this correct? I would expect to see some usage here, but no, GPU usage stays between 0 and 1% all the time.

I kept doing tests and found at that when encoding to MPEG2 for DVD creation. I sent a 27 seconds clip, using Adobe Media Encoder and it took 4.5 minutes to finish and NO GPU usage at all. Then I sent exactly the same clip with same output requirements through the direct export of premiere pro and it took only 15 seconds, and the GPU was used at 96%.

That is a great difference!! but using the Premiere Export, instead of the Encoder Queue is not as useful.

So how can I get Premiere to use the GPU like that as much as it cans? Shouldn't it be using it all the time?

Best regads,

KlausKi
Inspiring
November 2, 2011

Yes, I do feel better now, indeed.

I was able to stop the shop from re-doing my machine and to cancel the order. I promised to buy the Sparkle GTS 450 and have them build it in again ...hoping that with the text file tweak it will perform better somehow in the end.

But my post was not only about writing off my frustration. It contained some valid points of improvement suggestions:

  • Mercury CUDA benefits should be listed at one place. Clearly. Easy. Simple list. Which tasks will be improved - which won't.
    .
  • Hardware requirements should be loosened. Those who need a warranty on Mercury CUDA should be pointed to a list of tested hardware. All others should be able to try for themselves. -- I don't need a warranty from Adobe. Apparently others don't, either. Premiere Pro should query a graphic card's hardware properties and enable Mercury CUDA whenever it meets the minimum requirements. Leave the rest to your users.
    .
  • Speed up transcoding! (I have contacted BaDaBoom, ETI only delivers to industries. They have forwarded me to BaDaBoom for a fast CUDA transcoder for end-users. Hopefully it integrates with Premiere Pro so far.)

Thanks, Dave and Gary, for sharing your experiences with me (and others).

Todd_Kopriva
Inspiring
November 2, 2011

> Mercury CUDA benefits should be listed at one place. Clearly. Easy. Simple list. Which tasks will be improved - which won't.

Here's an article that gives such a list for Premiere Pro CS5:

"CUDA, Mercury Playback Engine, and Adobe Premiere Pro"

Here's an article that gives an update for Premiere Pro CS5.5:

"Adobe Premiere Pro CS5.5 improvements in CUDA processing"

> Those who need a warranty on Mercury CUDA should be pointed to a list of tested hardware. All others should be able to try for themselves.

That's exactly what is done.

KlausKi
Inspiring
November 3, 2011

@Todd:

Thanks, Todd, for sharing this link.

I had read this article. But to me it didn't get clear on two facts:

  • Only - and ONLY - the cards in the list will work

    (the article reads: "The official and up-to-date list of the cards that provide the CUDA processing features is here:" -- There is no note on the fact that Premiere Pro actively blocks CUDA cards not in the list, regardless of their hardware capabilities. -- "If you don’t have one of these CUDA cards ..." had been interpreted by me as: "So if you have one of these non-CUDA cards ...".)
    .
  • An easy workaround is available to get Mercury use CUDA cards which are not in the list

    (If it's so easy, simple and harmless to activate a CUDA card that's not in the list, the workaround should have been mentioned in the article, accompanied with a note that Adobe makes no warranties on the result.)