Log in

View Full Version : GPU Filters


boombastic
28th May 2006, 19:29
I saw that there are some filter with their GPU version,i'd like to know if it worths to buy a Video Card like a GeForce 6200 or 6600 to speed up my xvid encodings.I'm going to buy it to speed up my playing sessione with the last games but i'd like to know if there will be some advantages also in the encoding part.
My Pc is

AMD 3000+
1 GB Ram Pc 3200
2 HD 80 GB 7.200 RPM

thanks

tsp
28th May 2006, 19:57
Only if you plan to use the GPU version. If you use fft3dgpu instead of fft3dfilter you will see a speedup in the encoding speed with a geforce 6600.

boombastic
28th May 2006, 20:05
Sorry for re-asking but i'd like to be sure: the use of the GPU version of a filter in a avs script leads to a speed up of the encoding respect to the use of the same filter but with its CPU version?Thanks!

tsp
28th May 2006, 20:24
Yes it does. For two reasons:
1) the GPU version is faster than the CPU version (at least when compairing a geforce 6600GT vs. athlon xp 3000+)
2) the GPU version uses less cpu resources that can be used for encoding instead

Of course there are not many GPU filters currently and they don't have all the functions as the CPU counterparts.

Cheech
28th May 2006, 20:27
Is there a list of GPU filters? This sounds quite interesting.

tsp
28th May 2006, 20:37
it's very short:
AviShader: http://forum.doom9.org/showthread.php?t=86793
Japanese GPU filters: http://www.avisynth.org/JapanesePlugins
fft3dgpu: http://forum.doom9.org/showthread.php?t=89941
Also virtualdub has support for GPU filters using custom shaders.

Revgen
28th May 2006, 22:32
@Boombastic

I think it would be better to upgrade to a Dual-Core system and use TSP's SetMT and MT filters. GeForce 6600 GPU's cost about $100 and would only speed up a few filters that take advantage of it. An AMD X2 3800+ Dual Core CPU and mobo should cost about $400 at street price and work for many more avisynth filters, video encoders, and other non-encoding tasks. It will also allow you to multitask while you encode.

I got the feeling from your post that you wanted to speed up your entire encoding performance.

boombastic
29th May 2006, 12:18
I've got an old Radeon 9000 with 64 MB of memory and i'd like to improve my gaming performance first of all.If i change the Cpu and mobo i also must change the video card too spending a lot more.I prefer to spend a low price at the moment and deserve something for the next year when i'm going to change the entire pc,because at the moment my pc allows me to encode with xvid at full resolution in "normal" time (3-4 hours).
If changing the video card can also improve the encoding time it's just a side effects.
Thanks for your advice anyway!!
Just another questions:what are the most important parameters for using gpu filters?
Number of Pixel Shaders(2 o 3)?
Frequency of core and memory?
The amount of memory?
I'm going to choose between a 6600 or an ATI x1300 which both assure me to play all the latest games.

tsp
29th May 2006, 13:23
I would say
1)support for multiple rendertargets(only geforce fx 5xxx doesn't support this
1)memory bandwidth (memclock multiplied with width of bus(128 or 256 bit)
2)number of pixelshaders multiplied with the core freq.

amount of memory doesn't affect speed but more number of filters that you can use at the same time and complexity of them.

If you can avoid the Geforce 6600LE I think that a Geforce 6600 (non GT) would be the fastest compared to a ATI x1300(non pro)
And don't count on overclocking the card as much when used for filtering as the resulting artifacts are worse(and saved to the encoded file)

Again only if you currently is using a cpu filter that there are gpu version available for will you see a difference in encoding speed.

Blue_MiSfit
29th May 2006, 14:38
Do not buy into AGP! If you buy a video card now, you will have to buy another one when you upgrade your cpu and motherboard next time. Save your money! GPU AviSynth filters are definately cool and faster, but they don't warrant a new video card IMO.

Wait until Socket AM2 prices drop and then get yourself an AM2 motherboard, 2 gigs of DDR2, and an AM2 dual core 3800+. Overclock it. Get whatever PCI express video card will fit your budget.

Maybe Conroe will be a much better option by this time. Who knows. Now is simply a dreadful time to upgrade. Wait. You will waste your money if you don't :)

Also, a 6600 or an x1300 will be able to run the latest games.... at 800x600 with low details. Don't even bother. A vanilla 6600 is barely adequate for Half Life 2 at 1024x768. Honestly, my old Radeon 9800 pro was better. Forget about newer demanding games like Battlefield 2, F.E.A.R., or Quake 4. All those are getting "old" anyway.

~MiSfit

tsp
29th May 2006, 14:44
well neither a geforce 6600 or a radeon x1300 is expensive and would be considered low end (but still faster than his current radeon 9000 and supports directx 9). So it is a small upgrade that will keep his machine alive until the prices drop on M2 or Core 2. But I agree that it would be stupid to buy a Geforce 7800 AGP right now.

Blue_MiSfit
29th May 2006, 14:46
True... Still yet, either card will set you back $80-100 depending on where you get it from.

I guess from that standpoint it might not be the worst idea. I wouldn't do it though :D

I would be tempted to bitch-slap anyone who purchased an AGP 7800 :)


Btw.. I remember reading that AGP video cards would be not ideal for using GPU acclerated AviSynth filters, but my old AGP 9800 pro did fine with fft3dgpu over a year ago. Just thought I'd mention it.


~MiSfit

AI
29th May 2006, 16:34
And don't count on overclocking the card as much when used for filtering as the resulting artifacts are worse(and saved to the encoded file)
I have artefacts then overclock CPU, becose I overclock HiperTransport too, becose on my matherboard I can't change HTT multiplier

I have change cooler on bridge for minimize artefacs...

boombastic
31st May 2006, 18:22
Just to have some practice i'm trying the GPU Japanese plugin but when i load in my script the GPU.dll VirtualDub says it's not an Avisynth 2.5 filter.Is it normal?

tsp
31st May 2006, 19:17
So what card did you end up buyíng? You need to copy gpu25.dll instead of gpu.dll according to http://www.avisynth.info/?cmd=read&page=GPU%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3

boombastic
31st May 2006, 19:23
Finally i bought an 9800XT with a bus of 256 bit and 256Mb at 620 Mhx if i'm not wrong.This is what i can afford at the oment.Next year i'm going to chenge the entire pc.6600GT was too expensive....

boombastic
8th June 2006, 07:13
Finally it arrived!!With same parameters i passed from 11 fps of FFT3dFilter to 24 fps of FFT3dGPU!!

Blue_MiSfit
10th June 2006, 10:33
Booyah.

Gotta love that :)

And the amazing thing is that your 9800xt is basically a stretched, overclocked 9700 pro, which came out in October 2002!! Thats how far ahead of the game ATi was. It will be interesting to see how the next generation of GPUs compares :)


The new 3 card CrossFire setups that ATi is gearing up for look badass. 2 x1900xtx cards for graphics, and an x1600 to do physics! (or an x1900xtx if you're insane). Kinda like the 4x4 rig that AMD / nVidia are working on - 2 Dual core CPUs and quad SLI!! Absurd. I hope to see more AviSynth plugins ported over to run on the GPU, and multiple card support added. Imagine running fft3dgpu on 1080p content and encoding into x264 with a system like that. Real time maybe? Off an analog HD component capture card that I hope will someday materialize in the consumer market? :)

Things are truly getting out of hand.

Sorry for rambling OT as usual..

~MiSfit

boombastic
11th June 2006, 10:50
I'm getting an error with this line:
GPU_LanczosResize(704,400)

the error is "invalid argument for GPU_LanczosResize"

why?Where is the error?I put GPU25.dll in the plugin directory and also tried to put it in another directory and load it into the script but in both cases i get this same error

foxyshadis
11th June 2006, 16:56
Did you read the readme or just use it without start/end? http://www.avisynth.org/GPU_001

GerSoft
17th June 2006, 23:20
Hallo,
I'm getting an error on GPU_LanczosResize, using GPU25.dll.
"Evaluate: System exception - Access Violation".

#GPU_Start()
#gpu_LanczosResize(dest_x,dest_y)
#GPU_End()

The GPU is a RadeonX800 ?
Anyone knowes this error?

boombastic
18th June 2006, 09:31
i get the same error with a Radeon 9800xt...

Dreassica
18th June 2006, 17:20
Same here, on my desktop with a 6200LE and on my laptop with a 7600 go.

GerSoft
22nd June 2006, 18:29
;) i think i found the Problem. It's very easy to fix this error...

GerSoft
22nd June 2006, 18:55
Yes, here it is...

SpeedTest:

1000 Frames with CCE 1min:14s
LanczosResize(1120,976)
LanczosResize(720,576)

1000 Frames with CCE 1min:04s
GPU_Start()
GPU_LanczosResize(1120,976)
GPU_LanczosResize(720,576)
GPU_END()


So it's not so fast... I want to speed up my new DEdgeSharpenPP script... A new sharpener without oversharpen the edges and PixelPlus mode for High Quality.


Here's the fix for GPU25:
You must Copy all the Shadefiles ".hlsl" to the Plugins directory.

boombastic
22nd June 2006, 19:10
Well:10 seconds on a total of 74 seconds are a speed up of 13 %,it's not so bad.Anyway i tought the gain was higher too...

SledgeHammer_999
22nd June 2006, 23:55
@boombastic

yeah as far as I know LanczosResize is not so much CPU-hungry. maybe we can see a noticeable difference when we encode a whole movie. I hope that someone makes a GPU-based deinterlacer, that would make a huge difference(i think)

foxyshadis
23rd June 2006, 00:18
I don't think GPU filters are going to be more than a niche segment until you can compile C into PS code. It'd be nice if we could switch between CPU and GPU to balance speed perfectly, but as general coprocessors they kind of suck.

SledgeHammer_999
23rd June 2006, 14:16
I don't think GPU filters are going to be more than a niche segment until you can compile C into PS code. It'd be nice if we could switch between CPU and GPU to balance speed perfectly, but as general coprocessors they kind of suck.


what is PS code? (sorry if I'm out of topic)

foxyshadis
23rd June 2006, 19:15
Pixel Shader.

tsp
24th June 2006, 21:57
I don't think GPU filters are going to be more than a niche segment until you can compile C into PS code. It'd be nice if we could switch between CPU and GPU to balance speed perfectly, but as general coprocessors they kind of suck.
If you want an extra general coprocessor you buy an extra cpu as the GPU is more like a special parallel coprocessor with high memory bandwidth.
But you're right about writing code for GPU is rather complicated with the current API's. One solution is to use something like brook (http://graphics.stanford.edu/projects/brookgpu/) or sh (http://libsh.org/).

SledgeHammer_999
28th August 2006, 16:29
the problem persists. I have the .hlsl files in the same directory as GPU25.dll and the script is as follows but I keep getting "evaluate: system exeption - access violation". What is wrong? Can you help me?

LoadPlugin("C:\Program Files\GordianKnot\DGMPGDec2\DGDecode.dll")
Loadplugin("C:\Program Files\AviSynth 2.5\plugins\GPU25.dll")

mpeg2source("C:\movies\movie.d2v")

GPU_Start()
GPU_LanczosResize(604,324)
GPU_End()

Thasp
13th March 2007, 20:53
Same problem here, I can't find a solution either. I tried copying the hlsl files into the plugins directory also, and loaded GPU25.dll.

The wiki is in japanese, and I haven't seen any updates. This seems like bunk. :(