GPU acceleration?

GlennChan wrote on 5/15/2006, 8:49 PM
Ok to dig up an old topic discussed in threads like concerned about NAB.

Just throwing an idea out here... I don't think it wouldn't really hurt to have a little bit of GPU acceleration. A lot of systems nowadays try to take advantage of everything available- CPU *and* GPU. There becomes a point where you have limited CPU horsepower left, while the GPU still may have more unfilled capacity.

It shouldn't be that hard to implement some GPU acceleration... MBE2 does it. I think we, the Vegas users, would have to ask for specific filters and plug-ins to be coded for GPU acceleration (the code has to be versioned into a form that will run on a GPU). The best filters to request would be the most frequently used ones, or the ones that are sometimes used but take a long time to render (i.e. guassian blur).
*It may be that gaussian blur can be optimized for CPU, using an infinite FIR or IIR filter or something like that (I can't remember what my programmer friend said). FCP can do 5 layers of gassian blur realtime (SD).

Yes there are hardware incompatibilities (i.e. MBE2 doesn't work with ATI on PC platform). But with other systems, they have associated hardware that is even more incompatible. And if the user's GPU is incompatible, it's not such a big deal. Your system will still run. Vegas has lots of features that not everyone uses.

If the user really wants GPU acceleration, then they can buy a compatible GPU for a few hundred dollars. Which is not that much compared to proprietary hardware (i.e. Avid, Matrox, etc.) or more expensive editing software.

Conclusion>
Anyways... it would make sense to ask for specific filters to be faster. If there is any optimization to be done (CPU or GPU), it would be on select filters.

Comments

farss wrote on 5/15/2006, 9:10 PM
And lets not forget about audio. I've heard that the GPUs as they're parralleled processors can do great things for handling many tracks of audio, perhaps they can achieve even bigger benefits with audio than video.

One overall concern, does this not then shift responsibility for the rendered quality of the output from the Vegas code to the GPU uCode or does this only apply for vector rastering?

Bob.
Jayster wrote on 5/16/2006, 10:32 AM
I would think there should be some possibilities here, but it wouldn't be easy. I'm not sure how all this works, but I know that a video card isn't a general purpose CPU. You can't just say "here's a DLL full of code, load it and run this code." To write GPU accelerated software, you probably have to invoke particular operations that fit within predefined, known capabilities of the video hardware and its drivers, as defined by the programmer's interface specifications (like whatever is offered by the DirectX 9 APIs, for example). This narrows the usefulness (or at least the easiness) of using it for a wide range of software needs. These are the limitations faced by 3D effects software products which do use GPU acceleration.

On the ATI website they say that they have hardware acceleration built in for decoding WMV9, H.264, MPG2, and a short list of other codecs. It seems like this should be something Vegas would want to make use of. Maybe it's less complicated, and would get results quickly. And maybe they could partner with the video card companies, since it would surely boost the cardmaker's sales.
Coursedesign wrote on 5/16/2006, 10:37 AM
Just in the last year, there must have been a dozen software companies coming out with GPU-accelerated new versions of their apps.

After Effects, Premiere Pro, Final Cut Pro, Motion, Combustion, just to pick a few video apps.

There is plenty of functionality in the standard APIs for graphics cards, see previous posts here.

Someday Vegas will have it too, and I even think V7 will have it.
GlennChan wrote on 5/16/2006, 2:28 PM
Audio:
I don't follow audio too closely, but it seems like you should be fine throwing CPU at it. Audio is not quite as intensive and you can supposedly get 40-80 tracks in some DAWs. If you set the program up to taking advantage of multiple cores/processors, you could simply get a better computer to improve performance. And this makes the programmer's lives easier, because coding something for the GPU takes additional effort.

2- GPU programming is limited, but for some effects it could be worth the effort. I think I'd like to see some common effects like pan/crop + resizing, maybe HD decoding, masking, the color corrector, etc. on the GPU.

epirb wrote on 5/17/2006, 4:48 PM
On this subject, Can any give some input on how a decent video card with a good Gpu will help with S.M.'s Ultra 2.
Esp. when using HDV say CFDI's ?
Faster renders out of Ultra ??