« Details on the Production Premium switching offer | Main | NVIDIA Maximus and Premiere Pro CS5.52 »

Diving into NVIDIA GPU’s and what they mean for Premiere Pro

Trying to quantify the GPU in a Premiere Pro…For the editing and pro community, it is a big deal.  It is something that I’ve wanted to do for some time, but I had no idea how complicated and time consuming this would be!

I went into this endeavor thinking that I would clearly delineate between different Quadro level cards and along the way understand what each one offered in the way of performance.  I was methodical in setting up my system and in trying to create real-world tests that would emphasize what the GPU brought to the table.

While I did learn a lot (which I will pass on to you in due course), the experience and tests in some cases were not always as clear-cut as I had expected.

Without apology, this article is long – a necessary result in trying to present my findings.  Bookmark the link, copy the text or download this PDF if you wish to read at your leisure and refer back to.

In my role at Adobe, I sometimes have to present an ‘executive summary’ that gives the key points in a pithy and concise manner.  For those of you that have no time to waste and lets be honest that’s most of us, here are my key findings:

  • The idea of a balanced system for Adobe CS5 and above with regards to 64-bit native applications is critically important to having the very best performance.
  • While you still get the Mercury Playback Engine without having a GPU card installed on your system, I was genuinely surprised by how much of a difference it made on many of the tests I ran.
  • What the GPU provides in terms of a boost is dependent on the kinds of codecs you’re using.  This is similar to the CPU which makes me point you back to my first point again (!)
  • The difference in cards is a mixed bag, but there are clear differences in performance as you scale up.
  • Determining the right card for you depends on two primary things: the rest of your system’s capabilities (point 1 again) and the kind of codec(s) you’re using.
  • Finally, the fractional resolution playback system in Premiere Pro CS5 and later is a marvelous feature that allows lesser systems to still have acceptable or even good performance with big, heavy productions.  Combined with the GPU, this allows the most powerful and flexible editing/playback engine out there today.  Some people call playing back at half-res as ‘cheating.’  On the contrary, I find that I don’t even know when I’m doing that and have to check periodically.  It’s a SUPER feature that I think some people don’t understand.

The system:

I am using a 2-year-old HP Z800 with 16GB of RAM and an internal 4-drive SATA RAID array.  The drives were getting a consistent 424MB/s read and write using the AJA utility.   I have two physical CPU’s each with six cores and hyper-threading turned on to present a 24-core system.  The chips are XEON X5660 and have a clock speed of 2.8Ghz.  The system contains an AJA Xena/Kona 3 and I may test the GPU capabilities with AJA and others in the future, but for this test, all sequences were Adobe native.

In my opinion, I would say the following about the general sense of the system:

CPUs: Above average
Drives: Average
RAM: Average

Prepping the box:

To make sure the Z800 was using the latest drivers, I visited the HP website and upgraded the BIOS as well as all Windows 7 files that were necessary.  As a person who is routinely playing with a variety of software packages, I uninstalled as many as were reasonable and also ran my favorite utility – Advanced System Care Free on the HP as well.  This great little utility helps allow for optimization, especially for people that are not uber geeks.

Adobe Premiere Pro and Adobe Media Encoder each had a minor update right before the tests commenced, so I used 5.51 for both.

For NVIDIA drivers, I used at the latest (at the time of this article, 275.89)

On the slightly geekier side, I went through and tried to remove as many processes as I could to provide the most performance out of the box without over-clocking or other semi-questionable activities.

The Cards to be tested:

I wanted to keep this pretty real, but also exclusively Quadro (I’ll explain more on that in a bit).  In the category of ‘real’ I excluded the Quadro 6000 simply because I don’t think there are many people who are prepared to shell out that kind of money for GPU acceleration within Premiere Pro.  Hint – you need to be a RED user to even really have a good reason to in my opinion.

I wanted to use the popular Quadro FX4800 (from the last generation of products) to provide a baseline reference and I wanted to see how much performance I could get out of a Quadro 2000.  Finally, the two that make the most sense for Premiere Pro users – The Quadro 4000 and Quadro 5000.

Quadro 2000 gets booted at the last moment:

Unfortunately, I had to pull out the Quadro 2000 during my tests because I discovered a bug that I need to verify.  Rather than wait for NVIDIA to send me another Quadro 2000 and have Adobe engineers verify if I found something, I pulled the card from the tests.  I had problems with the RED tests but not the other sequences.  I hope to isolate what the problem is and deliver a Quadro 2000 test as an amendment to this article in the future.  The Quadro 2000 is perhaps one of the most intriguing cards there as it’s about $500 and fits the price of cost conscious video editors.

Ok, why no love for the GeForce?

Why just Quadros?  Why not the very popular GeForce cards?  Granted, I think these cards are great and will run equal with a Quadro card for a fraction of the cost.  But as I’ve mentioned previously, the Quadro cards are engineered to perform for long times without failure and if it gets hot, it gracefully degrades performance.  It’s over-engineered and manufactured by NVIDIA whereas the GeForce cards can be made by any of a dozen different companies.  Consequently, while a GeForce may look and perform as good or even better than a Quadro in the short term, I know that all of my Premiere engineers have repeatedly praised Quadro cards.  While NVIDIA may not like the analogy, its like a Toyota and a Mercedes: They both go from point A to B, but the quality and longevity of the Mercedes shows itself again and again.

The real truth about the tests:

Sadly, there is no single, quantitative test that I could run that would make my results read out as ‘Card A did X. Card B did X+Y’.  If there were, this would be a blessedly briefer article.  In the end I used a couple of real-world tests to help come out with some useful information.

While this test was done on a PC, I think it fair to say that the gist of it translates well to Apple computers as well.  The Quadro 4000 Mac is a good card overall and provides a true GPU enabled workflow for Premiere Pro users on the Mac platform.

PPBM5 test: “Premiere Pro Benchmark CS5”

First, I ran the PPBM5.5 tests for each card on the same system.  PPBM5 aims to try and give a numerical performance for 4 key metrics.  Surprisingly, the scores of non-GPU metrics changed.  Here’s the table of the scores for each – each number represents seconds and the total time represents the sum of the four tests:

Graphics Card

Disk I/O

MPEG2-DVD

H.264

MPE-ON

TOTAL TIME

Quadro FX4800

76

172

62

9

319

Quadro 4000

85

166

63

8

322

Quadro 5000

79

139

61

8

287

Each of the numbers represents the time it took to do the task and the Total Time reflects the overall performance.  The site discusses the testing methodology and it also is worth a read. If you’re interested in seeing how your system matches up, go to the site and look at the large list of systems that have submitted their scores.  That itself is an interesting look at how different systems perform.  More thoughts on the PPBM5 test in my conclusions below.

Real-world GPU test (aka ‘my GPU torture test’)

The second series of tests were my own and based on building sequences of different material and testing frame rates (dropped frames) at given resolutions. I used an internal testing mechanism to measure a few things such as CPU utilization.  The most important thing I was looking at though is the number of dropped frames.  Even dropped frames don’t necessarily tell the whole story because of different codecs.  I found that multiple codecs task different aspects of the system so I picked three different ones to use for these tests.

AVCHD – Highly temporal in nature makes the CPU decode a chore.  In other words, it’s a LongGOP format. However, it is fairly lightweight in disk throughput and so not necessarily taxing on the disk drives.  AVCHD is also very similar to Canon’s popular DSLR H.264 codec, so that was an added bonus.

DVCProHD – This is not a LongGOP format but a bit heavier in terms of disk space.  At about 13MB/s it is not overly difficult for modern drive RAIDs, but still considerably bigger than AVCHD.  Its frame size is actually 1280×1020…

RED – This is a worst-case scenario for a GPU test.  Huge frame sizes and large data rates make this a chore for both the CPU, RAM and the drive array.  4K clips on any system are hard.  Throwing on effects is like turning the knife and pouring salt on a wound at the same time.  Ouch.

In creating sequences of these codecs, I wanted to focus on GPU performance and how that translated in dropped frames.  So, I stacked on as many effects as I could to push the GPU in the system.  For each of the three codecs, I created two sequences: One with a single clip with as many effects as possible; Second, I took four clips as PIPs and did the same.  Each type of sequence had the exact same effects applied in each case.

The results:

Some notes about the tables:

While I strove to make everything as absolutely accurate as possible, the fact is that I had to estimate on some of the values.  For example, the CPU utilization is changing all of the time.  I looked at both my internal CPU meter and the task manager performance panel and chose what I thought the average was over the duration of the sequence.  Scrubbing quality is also a subjective quality.  ‘Great’ meant that I could scrub faster than real-time and it would keep up.  ‘Fair’ meant that it was real-time or close to it.  ‘Poor’ describes intermittent frames showing in the program view and ‘Beyond Poor’ was…well.. you get the idea…

Lastly, I ran these tests several times and averaged the numbers to give the most accurate view.  In some cases, a timeline would drop no frames one time and then a few the next.  I tried to make a quality assessment based on multiple test runs.

Quadro FX4800:

Quadro FX4800 Performance Table

Quadro FX4800 Performance Table

 

Quadro 4000:

Quadro 4000 Performance Table

Quadro 4000 Performance Table

 

Quadro 5000:

Quadro 5000 Performance Table

Quadro 5000 Performance Table


Some conclusions:

First, lets tackle the PPBM5 test.  Even with the MPE scores coming in nearly identical between all three cards, the net result changes in between cards.  Since, literally nothing changed in the system except the card itself, this lends itself to the idea that the total system score is the thing you really want to be after.  As they discuss on their site, there is no perfect test and the graphics card can affect the overall performance.

For my tests, I had a couple of surprises, one of which is how good Premiere Pro is at decoding RED files.  I would have expected anything short of the Quadro 5000 to drop some frames when dealing with four 4K files with effects on them at half resolution.  The fact that the FX4800 dropped 10 frames total (about 1 frame every 2 seconds) is remarkable.

This brings up another point.  We have to remember that dropping a couple of frames in a given duration is no big deal in most cases and it’s doubtful that we even see it (despite people attesting to the contrary).  Obviously, we always want to strive to have zero dropped frames all of the time, but given that a lot of online video is NOT 24 or 30fps and no one complains should be an indication that there are acceptable levels of frame rates that don’t hurt our editing or viewing experience.  Additionally, throwing 20 effects simultaneously on timelines isn’t something that you’re going to do even once in a while.  While it is intellectually interesting to look at this, the big thing we should come away with is that a good GPU can really improve the day to day workflow and efficiency of an editor.

Back to RED – Turning off the GPU in all cases has a clear result in performance.  The system dropped frames up to 95% of all frames at half-res without GPU turned on.  That’s just downright amazing and provides the RED user a clear answer on whether to get a good GPU card.  Answer – get one!

AVCHD really proved to be more challenging than I would have imagined.  It shows that CPU can still be challenged.  The GPU really makes a difference here too.  You see in the case all three cases, that the GPU improved playback performance by a factor of 3.  The question here for me is why is Premiere Pro not capitalizing on more CPU power here?  It’s a question I don’t have the answer to at present, but I’m taking it to the Premiere Pro team with the hopes of getting one.  I think the big takeaway for me on AVCHD is that I will work in half resolution all of the time and get a MUCH better editing experience (scrubbing, playback, etc).  Temporal codecs like AVCHD and H.264 are getting better, but can still be challenging on a lower-end system.

DVCProHD clearly was the least taxing of the codecs with regards to GPU enabled systems.  I think it’s because it is an intraframe codec meaning every frame is a full frame(picture).  While the disk usage is higher than AVCHD, the drive system in the PC was not going to break a sweat with 90MB/s.  Yes, the FX4800 dropped a fair number of frames (65) but again, that’s 20 effects and if you bump down to half resolution, all your problems go away.

Scrubbing with GPU is also enhanced but not universally.  There are anomalies, where I thought the FX4800 had the best scrubbing of AVCHD material overall.  I don’t have a good answer as to why but I can say that the subjective difference over a number of days is probably minimal.

My final conclusion:

GPU’s are good.  CUDA enabled NVIDIA GPU’s are awesome when editing with Premiere Pro CS5 or later.  Personally, I came away surprised at how much better the system performed with the NVIDIA GPU.  The performance between the cards scaled more or less linearly and in general they confirmed what I had suspected: The Quadro 4000 is a GREAT card for the money and provides real improvement for less than $1000.  The same could be said for the Quadro FX4800 if you find them used.  If editing is your business and you’re using Adobe Premiere Pro, then investing the money for a Quadro 5000 card is a wise investment.

Of course, the one caveat to the above is that you need to have a balanced system in order to make everything perform well.  Not having enough RAM is the single biggest problem I encounter.  It would be interesting to add another 8GB of RAM to the test machine and run the test again just to see what would happen.  Similarly, If you’re using RED and have two drives striped together, you’re asking for a problem.  CPU + RAM + HDD + GPU = awesome Adobe Premiere Pro editing platform.

Balance your Production Premium Mac or PC!

Balance your Production Premium Mac or PC!

Thanks for reading and I hope this article generates some conversation and comments which I welcome.  Talk amongst yourselves and I’ll reply to any good comments or questions.

Dennis – Adobe guy

Comments

Hi Dennis,

you said, AME does not utilize the GPU for encoding? Are you absolutely sure about this? Because, we equiped our MacPros with Quadro 400s especially because of that (remember the accelerator cards years ago? Quadro CX featured acceleration of H.264 encoding). Apart from that, there is a whole discussion about a AME bug, that causes random freezes during encoding:

http://forums.adobe.com/message/4319167

We suffer severely from this bug when encoding H.264. Interestingly it is caused (in our case) when we export from PrPro via the Queue with the projects setting on “gpu acceleration”. With “software only” the encoding is definitely slower, but stable.

[DR - where there are GPU effects in the timeline, it will be accelerated in the decode process of the timeline in AME, but not in the encode process (making the actual final file). At least, that's my understanding of it. AME has been updated, so let me know if the bug has been addressed by the update.]

Dennis,

Great article! I was wondering what the performance difference is using your test system with a run of the mill 512MB graphics card like the: ZOTAC GT218IONGPU-A-E GeForce GT 218 compared to the Quadro cards you tested. Given the power of your computer system….does the GPU on these video cards really help that much?

Thanks…Victor

[DR - For Premiere Pro to really be able to utilize any GPU, we need to see at least 768MB of RAM. Your example above wouldn't add anything to Premiere Pro's performance, but if you took the same card but it had more memory, then it would.]

Hello Dennis:

Nice article.

Is it still true that the Adobe approved GeForce video cards will carry out the rendering if there are up to three video layers on the timeline while the approved Quadro cards will render more layers?

Any answer would be appreciated.

Thanks,

Regis

[DR - GPU cards do not do the rendering when outputting via AME. They do the FX in the timeline. As far as Quadro vs. GeForce, it's more about memory, the design engineering (Quadro), and GPU cores. check out some of my articles on GPUs]

Dennis,
Thank you for taking the time to research this subject and then to write it up for us.

Intending digital video journalism which would require some quick and basic video editing on site and promptly, I bought a Thinkpad W520 with an i7 quad core CPU an nVidia 1000m GPU only to learn that Adobe Premier Pro CS5.5 does not support the 1000m GPU. I was stunned. From what I’d seen the W520 with the 1000m GPU is by far the most popular configuration of the w520. Will Adobe Premier Pro ever support this card or is it just technically impossible? Thanks again for the article. Lucien

[DR - We're pretty clear about what we officially support. There are ways around it that are available but it obviously is not officially supported. As to whether the 1000m will be officially supported in teh future, I honestly don't know. Sorry I don't have more info for you but I hope this helps just a bit.]

Dennis,

This is a wonderful article and I too am shocked you put yourself through the torture that is nailing down differences between any set of video cards within the PPro realm. I recently went through my own test while editing my first 3D video with motion graphics, material shot with true Left/Right eye cameras, and so on. I have been using Premiere since I can remember and have been involved with more Mac arguments than I wish to recall. So I tested my new platform (AMD 8-Core CPU, 16GB RAM, RAID array) with NVIDIA cards. After my 100th test 3D Blu-Ray DVD I thought it might behoove me to actually monitor my parallax whilst editing. I have a GeForce GTX 580 with 3GB RAM and the render times in Premiere are simply stunning on that card. I can’t, however, get 3D monitoring capability without a Quadro family card. So I opted for the Quadro 4000. First thing I noted was an instant heat up to 90 degrees – without being used. I thought it was a driver issue and tried every driver out there before I gave up and just stuck a giant fan in front of it. Cineform noted the change and gave me my second monitor in 3D which gave me precisely what I’d been looking for. When I went to render a stretch of video I’d rendered many times under the GTX580, I noted a slowdown. A slowdown of about half. So it was now taking me twice as long to render a video. That wouldn’t do.

In the end, I took the 4000 hot-plate out of the computer, put the GTX580 back in and simply hooked a 3D TV to the 580′s second port. The TV notices that the signal is a 3D signal and runs 3D on its own. The Quadro cards are great for what they’re built for, which is basically 3D Cad programs like Inventor but in the race to have the baddest-assed gaming cards, NVIDIA overbuilds the hell out of the GeForce’s – much to our benefit.

Cheers –
Matt Sutherland

Hi Dennis,

Loved the article and greatly appreciate the effort you put into it.

I’m a photographer looking to get into videography and NLEs so just trying to do as much exhaustive research into the sweet-spot for price vs. performance before I build out a system.

Now I understand your reasoning behind going for the Quadro vs the GeForce, particularly with the variations on manufacturing.

What I’m curious about is the PPBM5 benchmarks (thanks for the link!) show that the majority of builds are with GeForce cards, so very low number of Quadro builds for the sake of comparison, and they didn’t seem to storm the charts in terms of benchmarks (cause naturally there were other components involved as well).

So is the caveat that PPBM5 will tell you how fast the system will roughly run with the task entailed, but won’t show reliability, or dropped frames? This goes back to your Toyota vs Mercedes example?

[DR - reliability is a subjective and difficult thing to measure in practice. Why I favor Quadros is because of the reasons I outlined and their relation to durability and reliability. That's not to say that GeForce is unreliable. Far from it!

The dropped frames count is a feature that I can access that is not a published part of the product at all and is not related to the PPBM5 tests but rather my own.

I hope to do some GeForce testing soon and expect that it will do very well in the tests. I also completely understand that people don't want to pay for Quadro cards when GeForce cards can offer much of the same performance. If you have the money though and want to protect your investment, I think the Quadro is a fine way to go.]

I wonder if the nvidia Tesla computing processor would have an effect and should be considered in Premiere editing and graphics systems? It is hyped for scientific applications and not so much for editing and graphics, ie CG effects. What say?

[DR - Stay tuned. ;-]

Nice research, but what about the fact that Adobe has coded their software around Nvidia GPU Technology and Monopolizing the market instead of supporting many GPU manufatcturers like ATI, which are built in by default in Mac Pros, iMacs, Macbook Pro.
This is rather counterproductive to the customer and in the end for Adobe too.

And: how much does HP pays you for advertising HP-Systems over and over again, huh?

[DR - Hi Thomas. What you're talking about is OpenCL which is a cross vendor open standard and specifically what Apple plans to support. This is largely a subset of CUDA as AMD/ATI did not have any similar technology. I would recommend that you read this article, where I dive into the Mac issue more specifically. Pay particular attention to the section where I point out that OpenCL wasn't even finished or ratified when we first shipped CS5.

I will restate here (as I did in the article link above) that we are actively looking at OpenCL for the future, but the current version is NVIDIA only. The bottom line is that GPU acceleration wouldn't be in the marketplace at all if we hadn't done CUDA enabled acceleration back in 2010 with CS5. I feel your pain as I use a Mac laptop as my primary computer, so I'd love to have some GPU goodness here too.

Good luck and I hope your user group (email) is doing well.]

Just a follow up. I use ProRes all the time with Premiere Pro and it works perfectly. No Problems. One thing to point out about what you wrote:

“if you bump down to half resolution, all your problems go away.”

When using an I/O card such as AJA or Blackmagic, it’s not possible to lower the resolution to gain any performance. The cards are full resolution all the time. There is no current way around this limitation that I am aware of at this time. That’s why it would be very interesting to run all your tests again but this time, run it through your AJA card. Would love to see those results.

Thanks Dennis. I have to say, it makes me wonder whether or not this is part of the Apple vs. Adobe conflict: is there some reason why the Mercury Engine is not optimized for the GPU on the ATI cards, which are standard in high-end Mac systems? Will the Mercury Engine gain any performance increase from ATI cards?

I just bought a new Mac Pro about a year ago, and I would hate having to purchase a new, expensive graphics card. Of course Final Cut X works great on these ATI cards, but I absolutely hate this revision and refuse to use it, after being a Final Cut user for 10 years, which is why I am switching to Premiere.

Thanks, Randall

[DR - No, there is no conspiracy theory here between Adobe and Apple. The simple reason why our GPU acceleration is CUDA and not OpenCL is simply because OpenCL wasn't ratified until after CS5 shipped whereas NVIDIA had the technology done for almost three years. We wouldn't have GPU acceleration if it weren't for CUDA which is where we stand today. We will evaluate OpenCL for the future you can be sure. ]

Will you be doing a test with your AJA Kona? I have a Kona Lhe and am switching from Final Cut to Premiere on a Mac and so I already have a high performance graphics card ATI 5770, which is not CUDA. However, will the Kona suffice? How will it compare to the NVDIA cards?

Thank you for a great article!

[DR - Hey Randall, Thanks for the comment. The AJA Kona card is a video I/O board and does not provide acceleration per se. On a Mac, you would look to swap out the ATI card for the NVIDIA Quadro 4000 Mac to get the kind of performance I outlined. Hope this clarifies things.]

Hi Dennis, as Gary just said, GREAT article, thanks for your time on it!.
I’m still not sure about that many cores with so “little” RAM, I have done -non scientific- tests having HT enabled and disabled and found that the more RAM you can give each core, the better overall performance (so in my case I disabled it). Sometimes it’s like the system hangs when giving away all it’s RAM to the cores. Again, non scientific tests.

[DR - Hi Ronald, Yes, you can make a case for turning off Hyperthreading on PC boxes. For purposes of simplicity (and my sanity), I didn't choose to include that aspect of it. However, it may make sense to try it in the future, since I have the tests all set up...]

Hi Dennis,

Really nice article and clearly demonstrates the need for managing your expectations as well as having a balanced system. Well done.

I would liked to have seen the same tests done with a 1920 x 1080 ProRes HQ file. Even though Final Cut may be losing its luster, there are many different devices using that codec. Arri Alexa and the AJA KiPro just to name two. I suspect that many Final Cut users switching over to Premiere Pro are also going to be using ProRes assets for years to come. It would be important to make sure this workflow is flawless.

Secondly, I would like to see the same testing done with a AJA or Blackmagic card. Most facilities are still utilizing an HD-SDI workflow and a I/O card is needed to gain that HD-SDI signal. From my experience with both AJA and Blackmagic, this area needs vastly improved.

[DR - Hi Ray, thanks for the comments. I strongly considered using ProRes instead of DVCProHD, but chose the latter because it a) is indicative of ProRes with Intraframe handling and data rates and b) is truly cross platform and more open across the whole spectrum of editing. I can say that I have tested ProRes with Premiere Pro and had great results with the GPU. I would expect the same results as I got with DVCProHD. Give it a try yourself if you can and report back.]

Dennis,

This has to be the best article on GPU performance I have seen to date. I loved how you used benchmarks and your own real world tests. What Adobe has done with the Mercury Playback Engine is remarkable. Anyone and everyone needs to understand and realize this is not the Premiere you remember. Adobe has built this into a professional app, integrated tightly with After Effects, Photoshop, Encore and the rest of the Production Premium. Video Editors need to jump on the Adobe SWTCHer offer while it is still available. $849 for the full Prod Premium CS5.5 Suite is a SWEET DEAL! http://www.webvideoguys.com/AdobeCS55switch.html

Gary
Videoguys.com

[DR - Thanks Gary. Yeah, the offer ends at the end of the month (October 2011), so good point.]

Copyright © 2014 Adobe Systems Incorporated. All rights reserved.
Terms of Use | Privacy Policy and Cookies (Updated)