Cuda VS OpenCL adobe CC (3 of 4)

As I mentioned earlier this week, I was pretty impressed with the OpenCL Adobe Premiere CC demonstrations I saw at NAB this year. Thanks to some attractive used prices on ebay, I decided to pulled the trigger on a used Sapphire R9 290x GPU. The R9 290 and 290x GPUs have had a drastic drop in used pricing on ebay thanks mostly to the virtual currency miners unloading used GPUs onto the market. Currently you can pick up an R9 290x for under $400 and a R9 290 for around $300 used on ebay, making them both a very attractive GPU upgrade.

Cuda VS OpenCL adobe CC (1 of 4)

While I was able to see a number of OpenCL examples at the AMD booth, there weren’t any side by side rendering comparisons with any Nvidia cards. So I figured while I was making the upgrade I’d do some quick timeline rendering testing to see how far OpenCL has really come in comparison to CUDA in Premiere Pro CC.

Timeline

Keep in mind this isn’t an extremely scientific test, I simply picked a typical timeline (above) with lot of cuts, transitions, multiple layers, and some moving graphics. I went with a timeline that is 3 minutes and 15 seconds in length because I don’t want to spend all day timing renders. I did not check the timeline to see how many effects were optimized for OpenCL or CUDA because I wanted a timeline that represented a normal edit. After all you aren’t going to stop and change how you edit something simply because an effect is optimized for this or that.

Here’s the system I used for these tests:

The two GPUs used for this test are the Nvidia EVGA GTX 670 4GB and the Radeon Sapphire R9-290x 4GB I bought used earlier this week. I also ran this render test in “Software only” mode to see how long a none GPU accelerated configuration takes to render this 3 minute 15 second timeline.

Cuda VS OpenCL adobe CC (2 of 4)

Software Only:

Lets start things off with the software only mode. Rendering out this timeline to H.264 on a standard youtube output preset in Premiere Pro CC with 2 passes and maximum rendering quality enabled took 18 minutes and 30 seconds. I kept the Resource panel open during the test and all 4 cores plus all 4 virtual cores were maxed out at 100%. At a time of 18:30 it basically took 5.5x real time playback to render in software only. The intel i7-4770 might not be the highest rated CPU on the market but it’s also no slouch. This first test just gives you a benchmark for how much of a difference a GPU can make in rendering speeds.

CUDA rendering:

Next up, the Nvidia EVGA GTX 670 4GB GPU. Rendering settings are exactly the same as the test above with a Standard youtube preset output of H.264 with 2 passes and maximum rendering quality enabled. The only difference is that this time the Mercury playback engine is enabled with CUDA support for the GTX 670. This time it took 4 minutes and 52 seconds to render this 3 minute 15 second clip and the CPU ran at 92% in resource monitor on all cores.

Just enabling GPU acceleration decreased rendering time by almost 74%. That might not be a big deal on a short clip, but it really starts to add up if you are working on a 10 minute or 18 minute piece.

Cuda VS OpenCL adobe CC (4 of 4)

OpenCL rendering:

Last but not least is the Radeon Sapphire R9-290x 4GB GPU I just picked up. Before I cover the results I will say that this thing is massive compared to the GTX 670 4GB. First I thought I’d just put it in the bottom crossfire slot (shown above) so that I’d have enough room for my ASUS PCE-AC66 wireless card, but it turns out that’s a 4x slot instead of a 16x slot. I had to remove the ASUS PCE-AC66 and go with a lower profile (and slower) 450Mbps card to get things to fit. Even than that second PCIe slot was a pretty tight fit. I might have to look into getting a new motherboard if I want to continue to take advantage of my Asus wireless system.

Although the R9 290x is roughly 2 inches longer and thicker, the card actually feels lighter than the GTX 670 4GB. The Sapphire R9-290x is also much quieter than the EVGA GTX 670 4GB card. When rendering the 670 sounds like a small remote control plane taking off, however I didn’t hear any change in sound or pitch out of the Sapphire R9-290x. The size of the card is a pain but the Sapphire Tri-X shroud really seems to do a good job cooling.

As for the results, the Radeon Sapphire R9-290x 4GB GPU scored the best out of the bunch with a render time of 4 minutes and 46 seconds and CPU usage at 88% in resource monitor. This puts the R9-290x ahead of the GTX 670 by a marginal 6 seconds.

Verdict:

Real time playback of the timeline in full resolution from both cards was virtually identical so it’s a tie in that department. While the Radeon Sapphire R9-290x 4GB did win the rendering test by 6 seconds, I would also call the rendering test an overall tie. What the results of this little experiment really mean for me is that i’m no longer tied strictly to Nvidia for GPU upgrades with Premiere Pro CC. Adobe seems to really be improving their support for OpenCL and it’s come along ways over the past few years. At this point you can choose the GPU you want and expect very comparable performance in Adobe CC.

I’m guessing over the next few years we’ll see less and less CUDA specific support while OpenCL support continues to rise. With all the Radeon cards being used in Mac Pros and Macbooks it would be foolish for Adobe to continue on the proprietary CUDA only path.

Now if only Amazon would ship the 4k Samsung panel I ordered. Apparently it won’t ship until the 30th. Hopefully they actually meet that estimate.

Tags: , , , , , ,