Copy link to clipboard
Copied
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
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
That said, two new options for GPU accelerated encoding have been added recently, both of which use different tech than the Mercury Playback Engine:
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
As of June 2020, on macOS, CUDA processing for the Mercury Playback Engine been deprecated for Premiere Pro. Use Metal now.
Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
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
Copy link to clipboard
Copied
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...
Copy link to clipboard
Copied
With differing answers provided by an Adobe employee and an average Joe, I'd be inclined to go with the Adobe employee answer.
Copy link to clipboard
Copied
@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."
Copy link to clipboard
Copied
As Wil clarified, it is possible for someone to create an encoder that uses CUDA to encode video. But Premiere Pro and Adobe Media Encoder themselves do not use CUDA to accelerate the encoding phase.
This is very similar to me pointing out that After Effects doesn't use CUDA---but GenArts makes plug-ins for After Effects that do use CUDA.
Copy link to clipboard
Copied
Oh, OK, thanks guys...
I have just read about a "hack" being available to use other CUDA cards in Adobe Premiere Pro. After I have been going a long way now, I must admit that I'm angry about this hoodwinker information policy by Adobe:
In the Adobe forums and articles I read that CUDA is the thing to speed up processing in Premiere Pro. So two weeks ago I bought a passive GTS 450 to speed up rendering. Then, after installing, Premiere Pro plainly refused to accept my new CUDA card. It just didn't provide the CUDA rendering project option... After doing some research why this could possible happen, I find a note that Premiere Pro only uses CUDA with some "premiere selection" graphics cards in the Premiere Pro specs... OK, in order to get my new graphics card refunded I immediately returned the card, went to a computer shop and bought a graphics card from the list... a GTX 580, plus a brand new computer case and a new power supply. I spent € 700 on this... And NOW, I accidentally read that there is some "hack" available, enabling Adobe Premiere Pro to go with my previously bought, silent (passive) GTS 450? I just have to enter the graphic card's name into some plain text file??????
I feel to have thrown € 700 out of the window just because some lazy programming team at Adobe decided to refer to some text file instead of sniffing the currently built-in graphics card's properties and decide dynamically whether to use CUDA for rendering - just like the GUPSniffer tool does that actually comes with Premiere Pro!
The project setting's Mercury Playback drop-down box selection currently doesn't make any sense at all... Let's be honest: Who in the world, after having spent € 600 or more on a graphics card, would ever - EVER - select Software Rendering?? --- This drop-down menu only made sense if Premiere Pro would make an educated guess on the capabilities of the currently built-in graphics card and leave it to the user whether to try CUDA rendering if capability sniffing yielded a chance of successful CUDA rendering, or stick with software rendering if not.
I feel frustrated and disappointed on Adobe's information policy regarding this whole rendering issue. I'm just a hobby user, using Premiere Pro just once and a while, e.g. after my vacations. I feel I have thrown € 700 out of the window for a noisy graphics card I never wanted to have, a computer case and a power-supply I don't actually need. Just because of a bloody text file....
Copy link to clipboard
Copied
Feeling better now that's off your chest?
Copy link to clipboard
Copied
I'm using the GTS450 and it works great. Using the NVidia System Monitor tools, I've never seen the GPU go beyond 50% usage. And that's with multiple HD video layers and multiple effects.
However, I wouldn't call Adobe's support policy "lazy". I'm sure it takes them a lot of time to test each type of graphics card with all of their software. So I understand their policy, and for people who take the time to read Adobe's hardware requirements, there should be no surprise about which cards are supported.
My issue is that Adobe only seems to support very high end graphics cards. As I said, my GTS450 never seems to go beyond 50% usage, and that's a $100 card. And as you mention, the higher end cards require larger power supplies and more cooling, so the whole system gets more expensive and has more fan noise.
So that's why I decided to go with an unsupported graphics card. I didn't want to spend hundreds of dollars more for a system that has the same performance and a lot more fan noise. If Adobe chose to support just one mainstream graphics card, I would have bought that.
Copy link to clipboard
Copied
Who in the world, after having spent € 600 or more on a graphics card, would ever - EVER - select Software Rendering??
I select it every now and then. Sometimes the GPU acceleration doesn't give me the results I want in the image (it uses different processing techniques than software mode).
Copy link to clipboard
Copied
I believe that was the H.264 encoder provided by Elemental Technologies as part of the Quadro CX bundles.
For those currently neding or wanting faster endcoding to H.264, check out the Matrox MAX technology available with their MXO2 I/O devices or as a stand alone PCIe card called COmpressHD
Gary
Copy link to clipboard
Copied
KlausKi said: "In a thread the Intel forum they claim the opposite: That Mercury/CUDA actually will speed up encoding."
Remember that CUDA is a programming language, not a feature. It may be possible to develop many features using CUDA, but it's not reasonable to expect one software company to do it all. I think Adobe Premiere CS5.5 has done an excellent job implementing many features in CUDA, and I'm sure they'll add to the CUDA feature list as time goes on.
As I understand it, at this point in time, Premiere Pro CS5.5 runs the video encoding and decoding in the CPU, and all the effects and multi-layer processing in the GPU. This means adding effects is basically free, but when you render out to a complicated codec like H.264, the CPU will probably be the weak link. Also if your footage uses a complicated codec like DSLRs, then the CPU will be stressed more in the Mercury Playback Engine, especially if you use a lot of layers.
Copy link to clipboard
Copied
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:
Thanks, Dave and Gary, for sharing your experiences with me (and others).
Copy link to clipboard
Copied
> 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.
Copy link to clipboard
Copied
@Todd:
Thanks, Todd, for sharing this link.
I had read this article. But to me it didn't get clear on two facts:
Copy link to clipboard
Copied
KlausKi wrote:
- 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.)
To be clear, Adobe is saying that if you enable CUDA with a card that's not on their list, then they're not going to support you if you have a problem. However, since many people are doing this, there's a lot of information on the web to help users resolve CUDA problems on their own.
Copy link to clipboard
Copied
@KlausKi: for points 1 & 2, allow me to redirect you here:
That article explains everything about CUDA, what it does & doesn't do, why we have only certain cards approved, etc. (In case you haven't noticed, that list of supported cards has been steadily increasing as we certify new ones.)
For point 3, Mercury does already help accelerate the encoding somewhat (not in the compression itself, but as others pointed out, freeing up the CPU to concentrate on the encode feature by alleviating it of other things, such as transforms, filters, etc). We have been requested by other users to try to accelerate H.264 compression itself via CUDA. There's also another open feature request to accelerate rendering via 'smart' rendering, which is to skip recompressing MPEG GOPs when no filters/effects are present. As always, if you feel strongly about a need for these (or any other features), please add your voice here:
Copy link to clipboard
Copied
Wil, I would be ecstatic if "smart rendering" could be utilized on any sequence export from PrP. Add that capability to the ability to drop any clip on the timeline with no transcoding needed, and PrPs work flow would be accelerated to "light speed". It would do what Avid and Apple cant do and video professionals would gravitate even more to the product. (i.e. more sales). As it stands, export on graphics intensive or long form projects borders on the painfully slow (i.e hours) .
Copy link to clipboard
Copied
@lasvideo: smart rendering is something that we've been asked a lot about, esp. lately by all the broadcasting partners we've been working with. Specifically, their interest lies in smart rendering from XDCAM HD sources, as they're all working with XDCAM 420 / 422 material (either camera captured OP1a MXF sources, or else material captured/ingested via Harmonic MediaDecks, Telestream, etc). Let's just say that we're very actively looking into what we can do here.
Keep in mind though that this isn't magic - the minute you apply any kind of effect (realtime or not) on an MPEG source, you nullify the ability to copy/paste/splice GOPs. Notwithstanding, smart rendering has a broad appeal to people in for instance news workflows, where the bulk of effects involve at best transitions between clips, so most of the edited material is 'naked'.
I'm not sure what your workflow is, but reading between the lines, where I'm imagining you're doing a lot of post effects (CC & the like) using CUDA, I think a different methodology might help things: I'm imagining something along the lines of hardware compression at the output of PPro, so if you have some kind of output card (ie BM/AJA/Matrox) and feeding SDI into a secondary capture device, so you could effectively get 1x output speeds; that, or else some kind of hardware accelerator plugin for Adobe Media Encoder such as the Elemental plugin for H.264 encoding...
Copy link to clipboard
Copied
Thanks for the reply Wil. Yes , you nailed what I do very closely. Pretty standard post production stuff like short form (commercials, promos) and long form (marketing,corporate).Lots of potential for bells and whistles. I have a variety of formats thrown at me and I tend to master to the Prores codec. Here is the jist of my set up.
Mac Pro 3,1
2 x 3.2 ghz Quad Core Intel Xeon
10.6.8
Nvidia Quadro 4000
24 gigs ram
Kona 3
Maxx Digital / Areca 8tb. raid
It sounds like the reality of smart rendering wont help expedite my exporting. Are you suggesting I take the Kona 3 secondary SDI out and feed it to a Ki Pro Mini or similar device and just playing back the timeline in real time? That is a very creative suggestion. Are you familiar with any other devices that some Adobe customers have had lots of success? I mentioned Ki Pro Mini because I am a BIG fan of AJA products and support.
So in this work flow, I would hazard a guess that I should change Preview settings to a higher resolution format (like Prores) so when I do realtime playback I get the best quality of imagery.
Copy link to clipboard
Copied
It's hard for me to comment on I/O, as I have a fairly big bias - I worked for several years @ Matrox before joining Adobe. I'm impressed by the MXO2 mini, it's amazing how the tech has evolved from the RTX & DigiSuite cards back in my time there. I haven't personally tried out AJA or BM products, so it wouldn't be fair for me to even attempt to compare.
On the accelerated encoder side, you might want to check out MainConcept's offerings - they have a demo version available for download. (I have no idea what kind of performance numbers this has compared to stock PPro renders.)
http://www.mainconcept.com/products/apps-plug-ins/plug-ins-for-adobe/codec-suite.html
Copy link to clipboard
Copied
I appreciate your candor. Im going to communicate this real time alternative workflow (as opposes to exporting) to AJA. I already beta test for them so I know jus the folks to contact. I think high end facilities and customers would really be happy with this realtime creation of master files. The alternative being a several hour render / export for a project that has lots of motion graphics and effects or is a long form piece with color correction. Thank you for your creative solution to this bottleneck. It could keep doors open to new Adobe customers that otherwise might have been shut.
Copy link to clipboard
Copied
@Will:
Thanks, Will,
my wish would be that these yellow and red bars in the timeline would turn green so that I don't just see a still in the Preview window as soon as I add two or three effects to a clip.
If CUDA cards won't do the trick, then Premiere Pro should run a low-priority thread in the background that automatically renders temporary versions of clips in the timeline, while the computer is running idle, to get these clips green. This thread should prefer clips in vicinity of the recently edited area, because these clips are most likely the ones to be watched in the Preview window.
Currently, you have to actively trigger a pre-render, and after doing so, you have to w a i t ...
Tonight, when I'm back from the office, I'll add this wish...
Thank you for pointing me to the right destination for such things.
Copy link to clipboard
Copied
KlausKi wrote:
my wish would be that these yellow and red bars in the timeline would turn green so that I don't just see a still in the Preview window as soon as I add two or three effects to a clip.
...
Currently, you have to actively trigger a pre-render, and after doing so, you have to w a i t ...
Huh? I usually add 2-3 effects on every clip, and with CUDA there's no need to pre-render. Yellow bars might as well be green. The program windows runs smooth at 1080p, full playback resolution.
Copy link to clipboard
Copied
Dave_Gish wrote:
Huh? I usually add 2-3 effects on every clip, and with CUDA there's no need to pre-render. Yellow bars might as well be green. The program windows runs smooth at 1080p, full playback resolution.
Yes, presumingly this is the case when you're using a CUDA card that's supported by Adobe. But as you may have read from my previous posts, I am not using a CUDA card that's supported by Adobe yet.
Dave_Gish wrote:
To be clear, Adobe is saying that if you enable CUDA with a card that's not on their list, then they're not going to support you if you have a problem. However, since many people are doing this, there's a lot of information on the web to help users resolve CUDA problems on their own.