GPU assisted possible / useful?

suggest a way to improve Neat Video
Maccara
Posts: 14
Joined: Fri Oct 13, 2006 7:17 am

GPU assisted possible / useful?

Post by Maccara »

Hi,

Loving neatvideo, as it made my analogue captures so much easier (used to all filtering in avisynth with plugins, but the need for constant tweaking drove me nuts as I wasn't very good at it :wink:).

However, speed improvements would be nice. (filtering 1:40h video at full res takes a day with my X2 4400+)

Unfortunately, I'm not familiar with math involved with wavelets, but if they make extensive use of floating point operations, GPU assisted filtering might be possible. It is already apparent parallelization is feasible, as this already takes use of multiple cores.

For example fft3d -> fft3dgpu offered significant speed improvements in speed even with "low class" (dx9 compatible) GPU. Of course, fft is very flop intensive, so that's "easy" to see why it would improve.

Source code for fft3dgpu is available if you want to have an example how it can be implemented and analyze if it would be feasible for neatvideo too.

Of course this would also need to be a user selectable option, as not all encoding machines have a useful GPU (or they might to want to have the GPU for other stuff)...
NVTeam
Posts: 2748
Joined: Thu Sep 01, 2005 4:12 pm
Contact:

Post by NVTeam »

Thank you for the suggestion and comments. We will certainly consider the possibility of using a GPU to increase processing speed.

Thank you very much,
Vlad
Meld
Posts: 10
Joined: Fri Aug 08, 2008 7:41 pm

Post by Meld »

Or someone clever should create a plugin wrapper that can take most avisynth/vdub plugins and get the GPU to do calculations. :P
Maccara
Posts: 14
Joined: Fri Oct 13, 2006 7:17 am

Post by Maccara »

That's not possible; wrapper won't help, a plugin rewrite is required to take advantage of GPUs.

(technically, it would be possible to write an emulation layer which would translate CPU instructions to GPU instructions, but that would only make things slower)

Also, I wouldn't promote GPU acceleration at this point unless it can be done in shaders, as the only other viable solutions at this point are still vendor specific (CUDA / Stream) and OpenCL is around the corner (which would be a more open platform).

So, lets see Q2/3 what OpenCL brings and evaluate then. ;)
anacletus
Posts: 1
Joined: Sun May 31, 2009 12:37 pm

Post by anacletus »

I second the request for a GPU assisted filtering process.

As it stands now the filter is damn powerfull but also damn slow :(

Looking forward to any speed improvement algorythm you can implement

Keep up the good work

Anac
Lugarimo
Posts: 114
Joined: Mon Feb 09, 2009 2:51 pm

Post by Lugarimo »

It's Q2 2009 now, I wonder if Vlad implement it yet?
noir
Posts: 8
Joined: Sun Oct 25, 2009 8:52 pm

Post by noir »

i don't know about neat, but the gpu world is about to make a leap soon, with the release of nvidia's fermi : http://www.brightsideofnews.com/news/20 ... gddr5.aspx

The huge thing imho is not the speed, but the possibility to directly calculate at 32bit and 64bit (at half speed, but which is huge still) and that it's programmable in C++, with debugging in Visual Studio enabled.

I don't know in which language the NeatVideo filter is written, but this development makes things look more feasible than they were some months ago.

Another lead could be OpenCL

Interesting times.
NVTeam
Posts: 2748
Joined: Thu Sep 01, 2005 4:12 pm
Contact:

Post by NVTeam »

C++ support is indeed interesting. The closer GPU comes to regular programming methods the easier it becomes to use in real-world products. Another issue is of course standardization. Hopefully there will a merging of several competing approaches into a univesal standard. We are watching these developments too.

Vlad
steff517
Posts: 1
Joined: Mon Jan 11, 2010 7:05 am

Post by steff517 »

I just purchased neatvideo and now I know why your demo version only renders 640x480 ;-) Denoising of 1h Full-HD footage on my Core i7 920 takes 69h !!
I absolutely agree that a GPU rendering should be considered in close future.
jpsdr
Posts: 221
Joined: Mon Aug 11, 2008 7:33 am

Post by jpsdr »

Personaly, on my i7 965, 45mn of FHD have taken something around 5h. I'm not sure about the specific time, i don't remember exactly, but i'm sure i take less than one night. You may have some problem somewhere.
Antiraid
Posts: 2
Joined: Sat May 05, 2007 6:15 am

Post by Antiraid »

Now a number of programs used for the compress to AVCHD support CUDA. Of course, this programs developers watching these developments, but thy are ALLREADY USE IT!!!
jpsdr
Posts: 221
Joined: Mon Aug 11, 2008 7:33 am

Post by jpsdr »

Yes, but i don't know the algorithm used in NV, but CUDA is made for some specific process, and if NV is not using the same process, they will not be able to benefit from GPU acceleration. Others use it, because they are benefit to them. The true question is : Are GPU/CUDA functions benefit/usabled by NV ?
Antiraid
Posts: 2
Joined: Sat May 05, 2007 6:15 am

Post by Antiraid »

There is no need to rewrite all source code of NeatVideo engine. It is possible to rewrite only slowest procedures and functions with CUDA.
AFUMCBill
Posts: 7
Joined: Mon May 03, 2010 12:12 am
Location: Alpharetta, GA, USA

Post by AFUMCBill »

I'm betting you guys are waiting for OpenCL to be universally available across both the nVidia and ATI Radeon platforms before doing a GPU based version of NeatVideo, correct?

I can hardly wait. Great video plugin, but speedy it is not - but you already knew that.
jpsdr
Posts: 221
Joined: Mon Aug 11, 2008 7:33 am

Post by jpsdr »

Not everything can benefit to GPU.
We don't know if the algorithm in NV is suitable for GPU acceleration
Post Reply