Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums VEGAS Pro Beating a Dead Horse For Good Measure: OpenCL, CUDA, and GPUs in Sony Vegas

  • Beating a Dead Horse For Good Measure: OpenCL, CUDA, and GPUs in Sony Vegas

    Posted by Kell Hymer on December 6, 2014 at 10:30 am

    Hello All,

    These forum’s and Sony’s are saturated with talk of GPU support, OpenCL, and CUDA. My unyielding OCD to squeeze out as much performance from my PC as possible has caused me to read up on the topic for weeks. I am no expert on any topic but I get the general idea…I think. In posting this, I hoping to validate that I understand correctly and then can make the best choice for my hardware. I also hope this will make for a decent centralized resource for other Vegas users. Sony Vegas’ GPU utilization capabilities are determined my many factors. Here is what I have gathered:

    1) The CUDA language is proprietary to NVIDA GPUs. CUDA is hardware agnostic but software must be coded specifically to utilize it. I assume NVIDIA likely controls or licenses the use of CUDA. If not, NVIDIA must have and still does push CUDA support among software/gaming developers. By doing so, they have secured demand for their GPUs. CUDA is arguably a better language and more efficient than OpenCL.

    2) AMD’s GPUs utilize OpenCL which is also hardware agnostic but not proprietary. It is managed by the non-profit Khronos Group. OpenCL seems to be more widely used across many industries and applications but it is not updated as frequently as CUDA. As such, it is usually some years behind in some features when compared to current generation CUDA revisions. Nonetheless, it is still highly effective.

    3) Vegas uses OpenCL for real time previewing.

    4) Sony Vegas does not really utilize CUDA at all, but some of the rendering codecs used by Vegas do.

    5) Main Concept limited their AVC codec to work with only certain GPU chips. Main Concept has not been updated for some time so newer cards may not be supported when rendering to Main Concept AVC (MC MPEG 2 as well?). What I do not know is if this limitation applies to both CUDA and OpenCL or just one of the languages. Anyone know? I have the option to render to either one “if available”.

    6) In an effort to beat the competition and corner the market, NVIDIA, for the most part, stopped supporting OpenCL after their Fermi cards. Technically, pre and post Fermi NVIDIA GPUs should still boost rendering performance for CUDA enabled codecs. However, this is not the case with Main Concept due to their codec intentionally limiting all but certain unknown GPU chips.

    Conclusion:

    So which GPU is best for Sony Vegas? There are multiple answers depending on what your needs are. If improving rendering speeds are your primary concern and you often work with various codecs, my answer would be “good luck. Buy an 8 core Intel processor”. If you primarily stick to one codec, find the best GPU and driver for that codec within Vegas. If rendering speed is of no concern and you need a smooth real-time preview to make your editing more efficient, a modern AMD card seems to be the clear choice.

    We could all cross our fingers and wait for the day when Sony Vegas enables CUDA support within the program to improve frame rates on real-time unrendered playback. Vegas GPU support has been enabled for a number of years and each subsequent version of the program has yet to do so. I do not think it is coming anytime soon. In all reality, it seems like Sony did us all a favor by sticking with OpenCL, the more widely compatible of the 2 languages. After all, it is not Sony’s fault that NVIDIA and Main Concept decided to play consumer-unfriendly market games. Software developers often write their code to support both OpenCL and CUDA. However, maintaining scalability in both languages is very challenging. This becomes exponentially more difficult when writing code for computationally heavy software…such as Sony Vegas. I am guessing that we would significantly more instability if Vegas were to attempt this.

    ——————————————————-

    Subsequent questions:

    1) My source material is often H.264 GoPro video and I render to the Sony AVC Blu-Ray templates. However, I am primarily concerned with improving the preview frame rate while I edit and will likely buy an AMD card soon. To get improved frame rates with OpenCL/GPU support, Should I match the project setting to the GoPro source video or transcode it to another format before editing so that I can make full use of the OpenCL enabled GPU? In otherwords, do the project settings and source video, as long as matched, impact the frame rate and OpenCL’s ability to improve it?

    2) Which AMD cards are suggested and what should I look for in one? I have almost zero knowledge of AMD’s GPU lineup other than reading positive reports of the 79XX series and the R9-290. How do FirePro cards compare to their gaming counterparts in Sony Vegas? Are they worth the premium charged for them? I have found that NVIDIA’s Quadros don’t seem to be any better than their comparable gaming cards. If anything, they can be slower in my experience.

    Current System: Intel i7 3930K | Asus P9X79 Deluxe | Nvidia Quadro 4000 & 2000 | OCZ Revo 480 GB PCI Express SSD | Windows 7 64 bit | Vegas Pro 12 (64)

    John Rofrano replied 11 years, 1 month ago 6 Members · 28 Replies
  • 28 Replies
  • Sonic 67

    December 6, 2014 at 2:14 pm

    If you want to experiment, replace your Quadro 2000 with an AMD card (R280 for example, if you have the required power connectors)and use it to connect the display. In this way you will have OpenCL from AMD for timeline acceleration.
    You will still be able to use MainConcept encoder with the CUDA (from remaining Quadro 4000).

    Personally I am using a GTX480 (Fermi) modded in Quadro 6000. Not the same like real thing – more cores but less memory – but very stable and per formant.
    Using GPU-Z to verify the GPU utilization, I realized that the video card is NOT the bottleneck – it doesn’t reach 100% at any time.
    Previously I was using a Quadro 2000 and that was maxed out during rendering, so as of now I know that adding a faster card won’t do anything for me.

    My CPU is not reaching 100% either, so at this point I blame the HDD’s for being the bottleneck. I just purchased a RAID card and I will try to populate it with HDD’s to see if I get any improvement.

  • Kell Hymer

    December 6, 2014 at 7:22 pm

    Personally, I have found it very difficult to determine with any certainty why my GPU and CPU do not seem to be utilized more. This applies to both rendering and previewing. Oftentimes, my preview window frame rate is low and my CPU and/or GPU utilization are low. CPU utilization is not necessarily the best measure from what I gather. If you think about it, the various codecs and effects may not be able to fully utilize parallel processing (hyperthreading and multi-cores). Other determinants are the motherboard bus speeds, RAM speeds, GPU to onboard memory bandwidth limitations, and PCI-E lane restrictions and bandwidth. Sometimes a modern CPU can process the data faster than the time it takes for the CPU to offload it to the GPU, the GPU to compute and move data back and forth between the on-board memory, package it up and send it back to the CPU. Removing known bottlenecks is the best thing to do to speed up this process. I recently upgraded to an i7-4930k and have dedicated OS, read, and write solid state drives to work from. My working read drive is a PCI-E SSD that is roughly double the read and write speeds of the best Samsung SSDs on the market. I use SATA 3 ports for the remainder of my drives. I have plenty of RAM on a P9-X79 deluxe board that is still top of the line for consumer boards. Despite this, I still have bottleneck :). Simply put, a high level of complex multi-layered video with effects will tax any system. The only thing I see as being a possible bottleneck to real-time high frame rate previews is getting a better GPU that will utilize OpenCL.

    Current System: Intel i7 3930K | Asus P9X79 Deluxe | Nvidia Quadro 4000 & 2000 | OCZ Revo 480 GB PCI Express SSD | Windows 7 64 bit | Vegas Pro 12 (64)

  • John Rofrano

    December 6, 2014 at 8:15 pm

    [Kell Hymer] “What I do not know is if this limitation applies to both CUDA and OpenCL or just one of the languages. Anyone know? I have the option to render to either one “if available”.”

    I believe it applies to both. We have had people report that CUDA doesn’t work on anything above the Fermi series and that OpenCL doesn’t work for AMD above the 7000 series. I have an AMD Radeon HD 5870 so mine works.

    [Kell Hymer] “1) My source material is often H.264 GoPro video and I render to the Sony AVC Blu-Ray templates. However, I am primarily concerned with improving the preview frame rate while I edit and will likely buy an AMD card soon. To get improved frame rates with OpenCL/GPU support, Should I match the project setting to the GoPro source video or transcode it to another format before editing so that I can make full use of the OpenCL enabled GPU? In otherwords, do the project settings and source video, as long as matched, impact the frame rate and OpenCL’s ability to improve it?”

    Yes the project settings definitely affect timeline playback if the source doesn’t match because Vegas Pro will try and conform the source “on-the-fly” which could lead to stuttering playback. So matching the project to the media is recommended for improved playback. As for transcoding, that is one solution. Proxies are another. Vegas Pro 13.0 has a proxy workflow but I’ve never tried it because I don’t need it You might want to look into it.

    [Kell Hymer] “2) Which AMD cards are suggested and what should I look for in one? I have almost zero knowledge of AMD’s GPU lineup other than reading positive reports of the 79XX series and the R9-290. How do FirePro cards compare to their gaming counterparts in Sony Vegas? Are they worth the premium charged for them? I have found that NVIDIA’s Quadros don’t seem to be any better than their comparable gaming cards. If anything, they can be slower in my experience.”

    I would go for the Radeon R9 290x. If you can’t afford that get the R9 280. They won’t accelerate MainConcept AVC but they will accelerate everything else and provide good value for the money over a FirePro which Vegas Pro won’t really take advantage of the “workstation’ features.

    ~jr

    http://www.johnrofrano.com
    http://www.vasst.com

  • Kell Hymer

    December 6, 2014 at 9:48 pm

    Thanks John,

    Much of the information I gathered for this thread came from you and a handful of others.

    [John Rofrano] “Yes the project settings definitely affect timeline playback if the source doesn’t match because Vegas Pro will try and conform the source “on-the-fly” which could lead to stuttering playback. So matching the project to the media is recommended for improved playback. As for transcoding, that is one solution. Proxies are another. Vegas Pro 13.0 has a proxy workflow but I’ve never tried it because I don’t need it You might want to look into it.”

    Makes sense but does the source material itself make a difference even when the project setting match it? I just dropped some 1080p 29.97fps GoPro footage onto a test timeline and then matched the settings. When I click on the media properties, it tells me the format is AVC. How do I know if this is MainConcept AVC or Sony’s version of AVC which has better OpenCL support? When rendering from one format to MainConcept AVC, newer GPUs are not supported as mentioned previously. However, does this change when, instead of rendering to, one is working with/editing MainConcept AVC material and needs a decent fps preview? I know Vegas itself will utilize OpenCL here but I am not sure if it will be hampered by using MainConcept AVC source material. If so, I could render to a different format before editing but transcoding the material multiple times might result in a quality loss. Proxy editing may solve this dilemma and is on my list of subjects to read up on.

    [John Rofrano] “I would go for the Radeon R9 290x. If you can’t afford that get the R9 280. They won’t accelerate MainConcept AVC but they will accelerate everything else and provide good value for the money over a FirePro which Vegas Pro won’t really take advantage of the “workstation’ features.”

    Considering the price difference, the R9 290x is a much more appealing option :). What do you mean that Vegas will not take advantage of “workstation” features? Based on my experience with NVIDIA Quadro and GTX cards, it seems to me that the drivers are more geared for CAD and 3d modeling applications more than for NLE software. Additionally, gaming cards must be able to render video editing previews on the fly in the same manner in which they do for video games. Are the FirePro cards similar? It makes me wonder if video editing processes are more similar to video games than the “workstation” processes associated with CAD and 3d modeling.

    Current System: Intel i7 3930K | Asus P9X79 Deluxe | Nvidia Quadro 4000 & 2000 | OCZ Revo 480 GB PCI Express SSD | Windows 7 64 bit | Vegas Pro 12 (64)

  • John Rofrano

    December 6, 2014 at 11:07 pm

    [Kell Hymer] “Makes sense but does the source material itself make a difference even when the project setting match it? “

    Yes, absolutely! The codec that is used has a big influence over how fast it can be decoded. HDV compression is much easier to decode than AVCHD compression so HDV will playback smoother than AVCHD.

    [Kell Hymer] ” I just dropped some 1080p 29.97fps GoPro footage onto a test timeline and then matched the settings. When I click on the media properties, it tells me the format is AVC. How do I know if this is MainConcept AVC or Sony’s version of AVC which has better OpenCL support?”

    It’s neither. It’s GoPro’s implementation of AVC/H.264. That’s the important part. Not all implementations are the same and Vegas Pro plays back some smoother than others.

    [Kell Hymer] “I know Vegas itself will utilize OpenCL here but I am not sure if it will be hampered by using MainConcept AVC source material. If so, I could render to a different format before editing but transcoding the material multiple times might result in a quality loss. Proxy editing may solve this dilemma and is on my list of subjects to read up on.”

    If I were you, I would use GoPro Studio to convert the GoPro footage to CineForm Digital Intermediary format. There will be no quality loss and playback will be very smooth.

    [Kell Hymer] “What do you mean that Vegas will not take advantage of “workstation” features? Based on my experience with NVIDIA Quadro and GTX cards, it seems to me that the drivers are more geared for CAD and 3d modeling applications more than for NLE software. “

    That’s exactly what I mean. Workstation graphics cards have features designed to aid in CAD and 3D modeling that Vegas Pro doesn’t use. So you are paying for features that you don’t need when you buy these cards. If you also use After Effects or other 3D applications that’s a different story. But if you are just using Vegas Pro, you won’t be taking advantage of these features.

    [Kell Hymer] “Additionally, gaming cards must be able to render video editing previews on the fly in the same manner in which they do for video games. Are the FirePro cards similar?”

    FirePro’s are AMD’s workstation line just like Quadro’s are NVIDIA’s workstation line. Same thing… different company.

    [Kell Hymer] ” It makes me wonder if video editing processes are more similar to video games than the “workstation” processes associated with CAD and 3d modeling.”

    People don’t buy Quadro’s and FirePro’s because they perform better when video editing. They buy them because the drivers are more stable and you get better support. I have to admit that people have a lot of problems finding the right consumer card that gives stability because the drivers are tweaked for games and not video editing.

    The bottom line is that Vegas Pro makes use of OpenCL and AMD has the best implementation of OpenCL in their drivers which is why many recommend AMD cards for Vegas Pro editors.

    ~jr

    http://www.johnrofrano.com
    http://www.vasst.com

  • Sonic 67

    December 6, 2014 at 11:23 pm

    About workstation features – they might be useful in a NLE too, it just depends of NLE.
    For example my GTX 480 when I modded it to Quadro 6000 it acquired a bidirectional Async Engine between the video memory and system memory, while previously it was just one way (from system memory to video memory). That helped the encoding speed in MainConcept.
    There are other limitations that don’t apply to Vegas necessary (nvec encoder has more capabilities for newer Quadro cards then their gaming equals, like more that 2 streams, interlaced support).

    However, getting a “faster” video card doesn’t mean that the Vegas will be “accelerated”. In my experience, upgrading from Quadro 2000 to Quadro 6000 didn’t speed up the original quad-core system. The GPU utilization just dropped from 80-90% to 20%, because the CPU was pegged at 100% already.
    I upgraded to a six core CPU, it got faster, GPU raised to 46-50%, the CPU is not hitting 100%, so the limitation just moved somewhere else.

  • Kell Hymer

    December 7, 2014 at 12:09 am

    Thank you John and Sorin. This has been a very helpful thread!!!

    Current System: Intel i7 3930K | Asus P9X79 Deluxe | Nvidia Quadro 4000 & 2000 | OCZ Revo 480 GB PCI Express SSD | Windows 7 64 bit | Vegas Pro 12 (64)

  • Mark Thompson

    December 7, 2014 at 1:11 am

    Hi,
    just adding my 2 cents. I’m not saying anything is wrong but I would shift the emphasis slightly.
    CUDA is an architecture. You program to it in C or CUDA C which is an extension to C/libraries for C. That enables you to program the CUDA based chips from NVIDEA.
    OpenCL is a standard that implementers can use provide a common programming interface across multiple gpu architectures.
    In theory OpenCL should be a little less efficient than programming the chip’s native interface. There is no fundamental reason that you couldn’t provide an OpenCL interface on top of CUDA.

    In keeping with the Horse theme 🙂 there is an expression “you can take a horse to water but you can’t make him drink!”. In this case I think that means that whatever architecture/interface is used it all boils down to how efficiently it was programmed. So benchmarks are the best way to determine how good the implementation is.
    mark

  • Sonic 67

    December 7, 2014 at 2:02 am

    nVidia supports OpenCL too… works for time line acceleration.
    It’s just harder to test in Vegas.
    It’s just the MediaConcept implementation of OpenCL that is limited to ATI – because they choose CUDA for nvidia.

    PS: A generic video composition test for OpenCL performance, is this:

    https://compubench.com/result.jsp?benchmark=compu20&data-source=1&version=all&test=588&text-filter=&order=median&ff-desktop=true&ff-lmobile=true&ff-smobile=true&os-Android_rs=true&os-OS_X_cl=true&os-Windows_cl=true&pu-CPU=true&pu-dGPU=true&pu-iGPU=true&pu-mGPU=true&pu-CPU-iGPU=true&pu-ACC=true&arch-ARM=true&arch-x86=true&base=device

    My Quadro 6000 (modded from GTX 480) gets 55fps in “video composition”. Don’t know how relevant is for Vegas, maybe not at all…

  • Kell Hymer

    December 15, 2014 at 12:24 am

    Anyone familiar with OpenCL 2.0? Most gamer GPUs seem to support up to OpenCL 1.2, not OpenCL 2.0. I assume Vegas uses OpenCL 1.2?

    In another thread I asked for advice on GPUs. We discussed that the AMD R9 series gaming cards are my best choice and that the FirePro and Quadro cards are designed more for 3D application than NLE work. I do notice though that the FirePro supports OpenCL 2.0 while the R9 gaming cards do not. I am almost certain that Vegas does not use OpenCL 2.0 but when/if they do, it looks like it would be a huge improvement. The following link explains that OpenCL 2.0 allows the CPU and GPU to reference the same memory, improving performance:

    https://www.cnet.com/news/opencl-2-0-brings-new-graphics-chip-power-to-software/

    AMD has beta drivers for OpenCL on their gaming cards but it has limitations and only works with Windows 8:

    https://support.amd.com/en-us/kb-articles/Pages/OpenCL2-Driver.aspx

    I am about ready to buy an AMD R9 290x, but part of me wondershow long until Vegas supports OpenCL 2.0 and if I should wait to get a compatible card. That may be a way down the road still, but it does have me thinking.

    Current System: Intel i7 4930K | Asus P9X79 Deluxe | Nvidia Quadro 4000 & 2000 | OCZ Revo 480 GB PCI Express SSD | Windows 7 64 bit | Vegas Pro 12 (64)

Page 1 of 3

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy