Author Topic: GPU/CUDA acceleration  (Read 12887 times)

jarabmx

  • New to the forum
  • *
  • Posts: 25
GPU/CUDA acceleration
« on: August 08, 2014, 12:43:18 PM »
Hey everyone,

I wanted to clarify couple of facts regarding AE accelerated rendering when using one of their newer supported graphic cards. I am currently rendering dng sequences into Prores files on MBP and framerate is around 1fps which makes it very slow. Is there any reasonable difference between that and having a dedicated graphics card? Is it worth investing into faster cards or not as much?

Thanks

chmee

  • Contributor
  • Hero Member
  • *****
  • Posts: 1031
  • raw2cdng
Re: GPU/CUDA acceleration
« Reply #1 on: August 08, 2014, 12:58:49 PM »
rather not.

IF you use the ACR-Module to import DNG, the demosaicing/color-process is not GPU-accelerated (only things happening inside the layers)

processing-order is: DNG -> ACR (cpu) -> timeline/layers(mostly gpu) -> export-module(assume cpu) -> ProRes

jarabmx

  • New to the forum
  • *
  • Posts: 25
Re: GPU/CUDA acceleration
« Reply #2 on: August 08, 2014, 01:26:43 PM »
Is there any way to make rendering faster? Or is everyone else (who's using ACR) rendering at 1fps?

dyfid

  • Freshman
  • **
  • Posts: 69
Re: GPU/CUDA acceleration
« Reply #3 on: August 08, 2014, 07:02:10 PM »
The rendering part could be GPU accelerated, creating the actual image frame data from the DNGs, GPU debayer perhaps not that common, but going from image frame to prores isn't rendering but encoding and taxes the hardware differently and is most likely CPU bound so multiple cores and multithreaded encoders are going to perform better.

So the restriction of 1fps on your macbook could be slow debayer to image frame or non multithreaded prores encoder.

ansius

  • Member
  • ***
  • Posts: 177
Re: GPU/CUDA acceleration
« Reply #4 on: August 09, 2014, 01:32:17 AM »
I'm not sure about CC, but as far CS6 goes no media decoding is handled by Mercury Engine, not even h264 or AVCHD where cards contain hardware accelerators for such tasks, compressing and rendering is tough. Mostly file phrasing is done actually trough QuickTime, and if it would use GPU acceleration we would see some better performance. As for almost all raw type of videos (except ones that have a native phrasing plugin like RED's one) they go trough ACR, which is not utilizing GPU. Adobe has done staggering job to seamlessly integrate their software tools, thus we would assume that GPU acceleration of After Effects or Premiere would work for everything, but sorry - it does not.

It is not one part that does the trick, it is well balanced system that performs, fast drives (one for input other for render output), enough cores (real ones not hyper threading, that actually works against you when doing video on well balanced system), plenty of RAM, good GPU with wide memory buss (you need to pump data to cuda cores, for example GTX 470 is rather ineffectively used, more on that http://www.studio1productions.com/Articles/PremiereCS5.htm) and so on.
Canon EOS 7D & 40D, EF-S 17-85mm IS USM, EF 28-300mm IS USM, Mir-20, Mir-1, Helios 44-5, Zenitar ME1, Industar 50-2, Industar 61L/Z-MC, Jupiter 37A, TAIR-3
http://www.ansius.lv http://ansius.500px.com

chmee

  • Contributor
  • Hero Member
  • *****
  • Posts: 1031
  • raw2cdng
Re: GPU/CUDA acceleration
« Reply #5 on: August 09, 2014, 01:44:47 AM »
(correction) because of the new cdng-modul in premiere cc its done by hardware(gpu) instead of "slow" ACR-cpu-consuming-way.

Thomas Worth

  • Member
  • ***
  • Posts: 194
Re: GPU/CUDA acceleration
« Reply #6 on: August 09, 2014, 03:40:42 AM »
I'm not sure about CC, but as far CS6 goes no media decoding is handled by Mercury Engine, not even h264 or AVCHD where cards contain hardware accelerators for such tasks
Adobe don't maintain their own H.264 decoder. They use MainConcept's under license, which is a shared library and runs on the CPU. "GPU," by the way, isn't a magic word. From what I understand, some types of math are just not a good candidate for GPU processing. The math used in codecs like H.264 and REDCODE (JPEG 2000) are examples. That's why special hardware DSPs have been needed to accelerate these codecs. As an example, a typical smartphone SOC has a GPU and a hardware H.264 decoder. Why not just use the GPU? Doesn't work that way, apparently.

As chmee explained, you're getting 1 fps because ACR (which renders DNG inside After Effects) is not accelerated and runs on the CPU. It's very high quality, and not designed for video playback. Remember, it was designed originally for still photography.

That said, an upgraded GPU will do exactly diddly squat. If you want to speed things up, use software with a GPU-accelerated debayer engine like Davinci Resolve. Or the latest Premiere, if that even counts.

Or render your DNG files to ProRes 4444 first, then composite in AE.

budafilms

  • Hero Member
  • *****
  • Posts: 711
  • 5D Mark a1ex
Re: GPU/CUDA acceleration
« Reply #7 on: August 09, 2014, 08:10:10 AM »
Hey everyone,

I wanted to clarify couple of facts regarding AE accelerated rendering when using one of their newer supported graphic cards. I am currently rendering dng sequences into Prores files on MBP and framerate is around 1fps which makes it very slow. Is there any reasonable difference between that and having a dedicated graphics card? Is it worth investing into faster cards or not as much?

Thanks

Something it's no fine in that configurations.

Midphase

  • Hero Member
  • *****
  • Posts: 712
Re: GPU/CUDA acceleration
« Reply #8 on: August 09, 2014, 08:26:22 AM »
That said, an upgraded GPU will do exactly diddly squat. If you want to speed things up, use software with a GPU-accelerated debayer engine like Davinci Resolve. Or the latest Premiere, if that even counts.

I second that. It might come as a surprise but AE does not take advantage of GPU yet. It's a bit of a mind-blowing revelation when people find out, but it's true. While Premiere Pro, Resolve, and FCP X all take advantage of GPU to assist with some of the image computations, AE does not.

jarabmx

  • New to the forum
  • *
  • Posts: 25
Re: GPU/CUDA acceleration
« Reply #9 on: August 09, 2014, 11:16:32 AM »
(correction) because of the new cdng-modul in premiere cc its done by hardware(gpu) instead of "slow" ACR-cpu-consuming-way.

So from reading this thread, Premiere (not AE) has GPU-supported encoding and should thus run faster? What are the usual speeds people achieve using ACR? I am deciding whether to invest into a desktop computer with a dedicated graphic card.


jarabmx

  • New to the forum
  • *
  • Posts: 25
Re: GPU/CUDA acceleration
« Reply #10 on: August 09, 2014, 11:18:08 AM »
Something it's no fine in that configurations.

My MBP setup:

i7 2Ghz
16 GB 1333 MHz RAM
footage loaded from an external drive and saved on SSD drive
ML raw footage converted to 422 Prores ---> 1fps encoding

Thomas Worth

  • Member
  • ***
  • Posts: 194
Re: GPU/CUDA acceleration
« Reply #11 on: August 09, 2014, 02:38:28 PM »
So from reading this thread, Premiere (not AE) has GPU-supported encoding and should thus run faster?
Premiere has a GPU-accelerated debayer engine. This will let you play DNG files back at normal-ish frame rates. What do you mean by "encoding?" Do you mean saving to a different codec/file? All of that is typically not helped by the GPU.

Keep in mind that GPU stands for Graphics Processing Unit. The key word being "graphics." These processors accelerate math operations that are commonly used with graphics. Data compression is something else.

jarabmx

  • New to the forum
  • *
  • Posts: 25
Re: GPU/CUDA acceleration
« Reply #12 on: August 09, 2014, 07:47:05 PM »
Point taken, thanks.

So in order to bypass long rendering times I can edit directly dng sequences and render only the final cut. Premiere CC only on a computer with dedicated GPU? Very HDD space demanding at the moment if you are working on multiple projects and probably not convenient for me. Shame encoding of these sequences still takes so much time.

Midphase

  • Hero Member
  • *****
  • Posts: 712
Re: GPU/CUDA acceleration
« Reply #13 on: August 09, 2014, 08:30:59 PM »
Point taken, thanks.

So in order to bypass long rendering times I can edit directly dng sequences and render only the final cut. Premiere CC only on a computer with dedicated GPU? Very HDD space demanding at the moment if you are working on multiple projects and probably not convenient for me. Shame encoding of these sequences still takes so much time.

I think for raw post, you really need a fairly fast machine with a dedicated GPU (like a MacBook Pro Retina), and Resolve which IMHO is still the fastest way to convert CDNG to Quicktime or whatever other formats.

Thomas Worth

  • Member
  • ***
  • Posts: 194
Re: GPU/CUDA acceleration
« Reply #14 on: August 09, 2014, 09:52:25 PM »
So in order to bypass long rendering times I can edit directly dng sequences and render only the final cut. Premiere CC only on a computer with dedicated GPU?
Yes, and the media on a disk array or an SSD, ideally.

Quote
Very HDD space demanding at the moment if you are working on multiple projects and probably not convenient for me. Shame encoding of these sequences still takes so much time.
I know what you mean. If you do get around to encoding them to ProRes, it'll open up some options for editing and other work since the computer has a much easier time dealing with ProRes footage versus DNG sequences.

dyfid

  • Freshman
  • **
  • Posts: 69
Re: GPU/CUDA acceleration
« Reply #15 on: August 10, 2014, 01:11:04 PM »
I think for raw post, you really need a fairly fast machine with a dedicated GPU (like a MacBook Pro Retina), and Resolve which IMHO is still the fastest way to convert CDNG to Quicktime or whatever other formats.

Only as a guide and quick test on Resolve 11 I get 36fps on mac encoding to ProRes any flavour which includes using force full quality resizing from 1280x544 (550D DNG's) to 1920x1080 letterboxed and full quality debayer both at encode time. 15fps on mac using same settings but going to QT h264. I'd encode without letterbox really.

DNG's are straight from MLVDump no CDNG conversions first. 23.976 source frame rate.

On exact same machine as it's a Hackintosh under Windows 8.1 I get 20fps going to h264 from DNG's, same force settings at encode time. No Prores options so would have to be letterboxed 1920x1080 in DNxHD. I'd use x264 from DNxHD intermediate.

Doing the same with 550D h264 source files instead of DNG's, obviously no force high quality resizing or debayer, I only get 15fps encoding to h264. In other words working from DNG's rather than decompress / recompress h264 gives faster encode times even with high quality debayer and resizing overhead of DNG's.

Machine spec is a quad 3.9, 32GB 4 channel ram and 4GB GTX770. Mavericks on SSD. Windows 8.1 on h/d. Budget machine spec really. I was pulling the h264 & DNG's from an external USB h/d this time but would use my RAID for a proper project.

jarabmx

  • New to the forum
  • *
  • Posts: 25
Re: GPU/CUDA acceleration
« Reply #16 on: August 10, 2014, 04:59:06 PM »
Only as a guide and quick test on Resolve 11 I get 36fps on mac encoding to ProRes any flavour which includes using force full quality resizing from 1280x544 (550D DNG's) to 1920x1080 letterboxed and full quality debayer both at encode time. 15fps on mac using same settings but going to QT h264. I'd encode without letterbox really.

....

Thanks for all this, I know Resolve is so much faster but coming from photography background I love flexibility and all various tweaks that you can run under ACR. Very essential for my workflow as I basically grade the files straight at the beginning. I leave only minor color and contrast tweaks to unify the final footage.

Looks I will have to keep my computer render footage overnight for any future filming. Shame really.

Midphase

  • Hero Member
  • *****
  • Posts: 712
Re: GPU/CUDA acceleration
« Reply #17 on: August 10, 2014, 08:30:31 PM »
Thanks for all this, I know Resolve is so much faster but coming from photography background I love flexibility and all various tweaks that you can run under ACR. Very essential for my workflow as I basically grade the files straight at the beginning. I leave only minor color and contrast tweaks to unify the final footage.

Looks I will have to keep my computer render footage overnight for any future filming. Shame really.

Why don't you give Resolve 11 a try before deciding that you're not interested in working with it? The new version gives you a great deal of tweaking at the raw stage that might get you closer to where you need to be than you realize. I am consistently amazed at how little people seem to value time, but the reality is that if you use a post workflow that is insanely slow, it will make you want to use raw and shoot footage less.

jarabmx

  • New to the forum
  • *
  • Posts: 25
Re: GPU/CUDA acceleration
« Reply #18 on: August 11, 2014, 04:55:00 PM »
Why don't you give Resolve 11 a try before deciding that you're not interested in working with it? The new version gives you a great deal of tweaking at the raw stage that might get you closer to where you need to be than you realize. I am consistently amazed at how little people seem to value time, but the reality is that if you use a post workflow that is insanely slow, it will make you want to use raw and shoot footage less.

Will give it a try. Having been using ACR for so many years that it saves me loads of time. Just had to schedule overnight encoding and am slightly worried my laptop is under a lot of strain that way. Thanks for the tips.