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

KlausKi
Inspiring
November 2, 2011

Todd,

you are writing that Mercury/CUDA won't speed up encoding.

In a thread the Intel forum they claim the opposite: That Mercury/CUDA actually will speed up encoding.

I'm confused now... What's true?

I have just ordered a GTX 580 because encoding of AVCHD videos takes 1:1 on my Quad core machine (DG45ID with on-board graphics) and timeline playback is glitchy. I was hoping to speed up encoding significantly...

Legend
November 2, 2011

With differing answers provided by an Adobe employee and an average Joe, I'd be inclined to go with the Adobe employee answer.

Wil Renczes
Adobe Employee
Adobe Employee
November 2, 2011

@KlausKi:  if you watch the video in the link you refer to, the nVidia guy is using a different encoder plugin provided by nVidia (when he picks the accelerated H.264 encoder, he's picking something called ETI RapiHD from the dropdown list - that's the nvidia encoder plugin)  that is doing H.264 encoding via CUDA.

How do you get it?  Apparently it's thrown in the pot as a sweetener incentive to purchase the Quadro CX, pulled from the nVidia website:

"*Exclusive CUDA-based RapiHD Accelerator is developed by Elemental Technologies and only included with Quadro CX."

Participant
September 3, 2011

Please I'd like to know if my card supporting CUDA feature?

GV-N550OC-1G1 - NVIDIA GTX 550 Ti/PCI-E 2.0 - 1 GB GDDR5/192 bit - Dual-Link DVI-I/mini HDMI GEFORCE GigaByte.

Thanks and much appreciated.

Participating Frequently
September 3, 2011

All NVidia cards support CUDA, but Adobe only supports a limited number of NVidia cards.  In particular, your GTX 550 is not supported by Adobe.

At this point, your options are:

1) Buy an NVidia card that Adobe supports http://www.adobe.com/products/premiere/tech-specs.html

2) Use the unsupported method to enable your current card http://www.studio1productions.com/Articles/PremiereCS5.htm

If you use the unsupported method above, and then have problems with CUDA, Adobe support probably won't help you resolve this.  But since there are many people using the unsupported method, there is a lot of information on the web to help resolve issues.  So odds are high you'll get it to work, but it might take you longer to resolve any issues.

Bottom line: Using an Adobe supported graphics card is quicker and easier, but generally costs more money.

Hope this helps

Inspiring
April 16, 2011

Todd, what are the plans for Adobe to take advantage of 2x, 3x, and 4xSLI GPU configurations? It's a shame for people to have thousands of dollars of hardware potentially going unused by an Adobe application.

Can a person with an SLI configuration use the MPE as is, or do they need to disable the SLI configuration before using Adobe software? Meaning, if I have 3-Way SLI, if I use PPCS5/5.5 will it simply only use the GPU of one card, or will the SLI throw it off, and I am required to disable the SLI before PP will correctly use the GPU for MPE?

Thanks in advance!

Todd_Kopriva
Inspiring
April 17, 2011

> Todd, what are the plans for Adobe to take advantage of 2x, 3x, and 4xSLI GPU configurations?

I can't comment on future plans, but I will encourage you to make a feature request if this matters to you.

> Can a person with an SLI configuration use the MPE as is, or do they need to disable the SLI configuration before using Adobe software? Meaning, if I have 3-Way SLI, if I use PPCS5/5.5 will it simply only use the GPU of one card, or will the SLI throw it off, and I am required to disable the SLI before PP will correctly use the GPU for MPE?

If you have multiple GPUs in an SLI configuration, Premiere Pro will only use one of them for the CUDA processing features, but the fact that they're set up in this way shouldn't cause a problem. If it does, file a bug report.

screeen
Inspiring
July 12, 2011

Hi Todd.

I am new to PC machines, have been editing for appr. a decade on a Mac in Final Cut, and am currently in the throes of building a new PC, to use with Classic Collection.

The video card – Palit GTX560TI 2GB – is under consideration for this build, yet it is not on Adobe’s list of GPU acceleration supporting cards (though the Palit representative emailed me that it does support CUDA technology, but has not shown me proof beyond his own claim).

It has been suggested to me that this card can be hackd to enable GPU/CUDA, but because of my (current) ineptness with PCies, and with programming at all, I lack the know-how to do that. I am more than willing to learn, and so, before making my final decision on the card, I would like to verify that I will be able to hack it as such, and was wondering if  you or anyone could advise me how to do that.

I have been looking at threads relating to my question, and it seems that there are folks using GPUsniffer.exe which is causing issues rather than helping.

Thanks. And please excuse me if my terminology is wrong, as i am fully new to hardware speak.

Participant
April 15, 2011

I run a hacked GTX 460 on my PC. The hack works great!

I have burned up one already, but later came to find out why CS5 burned it up:

1: The case wasn't cool enough; CPU is liquid cooled but I forgot to get another case for specifically for the GPU).

2: The GTX 460 doesn't utilize it's auto fan controller very well, which is why Nvidia offers a fan controller software on the driver's CD. This will allow you to set the fan speed with different profiles. If I remember right, my GTX 460 fan speed was very marginal. Oh well. Nvidia replaced mine with no hassles and I have two case fans cooling it (one is blowing cool air on it, the other is blowing cool air out of the back of the case).

It was kinda funny watching smoke pour out of my GPU after hours of editing on it.

Participating Frequently
April 4, 2011

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.

From the article:

For example, one image size from a Canon T2i is 5184×3456. Doing the math, this requires 1,094MB, which just exceeds the 1GB available on the Quadro FX 3800, but is still within the 1.5GB of the Quadro FX 4800.

The GeForce GTX 470 has 1280MB of memory so it would be able to use CUDA in the scenario above.

For larger frame sizes:

  1. Would having dual GTX 470s work together to enable CUDA?
  2. From the list of things that CUDA accelerates, would the performance increase with dual cards be negligible?
Has it been tested how dual cards increases performance of MPE?

Thanks,
Alex
Inspiring
April 4, 2011

  1. Would having dual GTX 470s work together to enable CUDA?
  2. From the list of things that CUDA accelerates, would the performance increase with dual cards be negligible?
Has it been tested how dual cards increases performance of MPE?

Premiere Pro does not use dual cards in an SLI configuration.

Todd_Kopriva
Inspiring
April 15, 2011
Participating Frequently
April 2, 2011

Is it possible to use GPU accelerated rendering/transcoding from a Premiere Pro sequence within Adobe Encore?

When I render out from Premiere Pro CS5 using Adobe Media Encoder (MPEG2-DVD), the GPU really helps speed that up, especially when downsampling from HD and/or adding color correction.  But this requires that I calculate the bitrate for the DVD titles manually, and lose some the other nice features of Encore as well.

When I dynamically link Premire Pro sequences within Encore and use the automatic bitrate setting, I don't have to worry about bit rates, but the transcode seems to take forever, so I'm assuming that's not GPU accelerated.  In addition, I haven't found any settings for Maximum Render Quality or Maximum Bit Depth within Encore, so I'm assuming the quality of the renders will be worse.

This all seems to indicate that Encore doesn't support GPU acceleration, which makes dynamic linking a sequence somewhat useless for me.

Am I missing something?

Harm_Millaard
Inspiring
April 2, 2011

I'm guessing here, but Steve Hoeg will undoubtedly correct me if I'm wrong. Encore is still a 32 bit application that does not support hardware MPE. But even a 64 bit application like PR does not use hardware MPE for encoding, that is still a CPU matter. The benefit of hardware MPE comes from the scaling and blending, which is hardware assisted and is very noticeable when going from HD to SD.

What I would suggest is using a bitrate calculator like DVD-HQ  Bitrate & GOP calculator to manually determine your best encode settings and export directly to MPEG2-DVD, which also gives you the advantage of being able to use AC3 5.1 sound if you have the Surcode plug-in.

Participating Frequently
February 17, 2011

i am trying to buy a pc from either HP or Dell that will allow me to take advantage of this Mercury/CUDA.

unfortunately, none of the nvidia options they provide are on the list as published by adobe.

i find this a little strange.

help?

Legend
February 17, 2011

Build your own.  It'll be cheaper, and you can use whatever card you want.

Participating Frequently
February 17, 2011

thanks. i don't feel like building my own - hardware is a pain. i just want

to order something that works.

rob

tclark513
Known Participant
February 14, 2011

I sure hope Adobe fixes the fire wire out preview for external monitor support using MPE!!

You can't even preview what your effects are doing let alone preview the time line playing.

February 12, 2011

Hi

I have a question regarding the capacity of CUDA and Mercuryengine to playback HD bitmap files in real time in PremierePro CS5 (5.0.3).

I do film animation and work with uncompressed image sequences shot on DSLR cameras reduced to the 16:9 HD 1080 resolution. I don't have any problems playing XDCAM HD 422, the processor being able to easily deal with them. But when it is time to play bitmap image (TGA) sequences, the playback is choppy, even if the PremPro session corresponds to the input. My solution for now is to render the files before playback.

Here are the specs of my computer:

  • Windows 7 64 Pro

    • Installed (With software) on a Seagate     Barracuda 7200 500 Gig

  • 2 Intel Xeon E5520 2.26 MHz, Multithreaded

  • 2 x 500 Gig Seagate Barracuda 7200
    • Configured in      RAID 0 for animation and editing projects (Software RAID)

  • 12 gig of RAM (2 x 6, DDR3 1333     Mhz Kingston)

  • PNY QuadroFX 1800 with the latest     driver

  • Supermicro X8DAi E-ATX

  • Antec 850W power supply

I have researched the Bitmap playback subject, but there is very little information found on the topic. I am wondering if a switch to a GeForce GTX 470 graphic card would do anything since bitmap playback is not CPU intensive, unlike the XDCAM HD 422 file type? As much as possible, I am trying to avoid a proxy work flow. For now, it seems that the problem might be related to memory bandwidth and stream performance (Geekbench test).

Thanks for your help.

SteveHoeg
Adobe Employee
Adobe Employee
February 12, 2011

GPU acceleration does no decoding, so if your TGA sequence will not playback on its own I would not expect a new GPU to help.

February 12, 2011

Thanks for your response Steve. It is appreciated.

Here is what I have found to improve playback: My TGAs are of 24 bit, 6 Mb each. Despised the absence of an alpha channel within the file, I decided to go to "interpret Footage" and check "Ignore Alpha Channel".  I can now play those images in real time, in several layers, including an XDCAM HD 422 file, with playback resolution to 1/2.

Would it be because PremPro was looking for the alpha channel anyway?

Jean

February 10, 2011

Todd, others, one of the things I'm still a bit unsure about is the difference of using GPU and non-GPU Mercury when it comes to real-time playback.

When I added my cards, I guess I assumed my realtime playback would either stay the same, or in some cases improve, due to processing being conducted by the GPU.

What I have found in some of my HDV projects, especially where I have an embedded AE comp, is that I can't get anything approaching realtime playback, UNLESS I turn off GPU assistance and go back to software only.

So I'm wondering, if I can't get realtime using the GPU, do I need a better card, a better machine, or both? Are there cases where using the GPU is not advised/appropriate?

Could you clarify for me what GPU is doing or not doing for realtime playback?

W64, E8400, 8GB, GTX470

cheers

Matthew P

SteveHoeg
Adobe Employee
Adobe Employee
February 12, 2011

GPU acceleration does not aid in decoding footage, so if you cannot play an image sequence in realtime on it's own, a faster GPU is unlikely to help you.