Hi all,
iam trying to make a VST-Plugin which uses the GPU. I got a HD4670 AGP Card.
So i do my signal processing in the vst:rocessreplacing function, which gets called everytime a new input_vector is full. A blocksize of 1024 @ 44,1khz would mean, a call every ~20ms.
So iam calling for every channel! within the 20ms:
brook::Stream inputStream(rank, streamSize);
inputStream.read(inputBuffer);
memset(outputBuffer, 0, width * height * sizeof(float));
brook::Stream outputStream(rank, streamSize);
copy(inputStream, outputStream); //KERNEL
outputStream.write(outputBuffer);
Its works, but i get som VPU Recovery (because driver doenst respond) error, when i minimize/maximize some other windows.
do i just make to many kernel calls?
thank you very much.
MS
Did you disable VPU recover/watchdog timer? Look at CAL FAQs for detailed info.
HI,
setting this registry entry seems to make no difference, still running into VPU recovrey.
disabling VPU recovry in the CCC, leads to a frozen system, because the graphic driver is stuck and noone is doing anything.
Which OS are you using Vista or XP?
Hey,
its a
Windows XP Prof 32bit with Service Pack3
tanks.
I'm experiencing similar symptoms on XP systems (both 32bit and 64bit). Sometimes the driver (apparently not something in the CAL library) simply crashes the whole system or gives a VPU recover (often the system stops responding even if VPU recover is enabled).
That behaviour started with Catalyst 9.3 (9.2 was stable at least on my systems). All of the following driver releases were simply unusable for GPGPU if one had more than just a few kernels calls (i.e. some thousand kernel calls over some minutes runtime). It improved a bit with Cat 9.8 and 9.9 but is still not back at the sturdiness of Catalyst 8.12 which was the most stable driver release for WinXP in my opinion (it simply runs, no problems whatsoever). The Vista drivers didn't suffer from the same problems.
so it would be worth a try to install die CATALYST 9.2 ?
at the moment i am running with:
Driver Packetversion 8.62-090505a-080607E-ati
Catalyst Verion 09.6
thank very much for the support!
just installed the Radeon 4000 AGP Hotfix:
DriverPacket: 8.65-090813a-087742E-ati
catalyst 09.9
but still not working. where can i fond those older drivers?
still its running very unstable. need some hint.
thanks
i got a general question about streams and kernels.
assuming:
->im calling a kernel and passing a stream.
->the instruction in the kernel is then aplied implicit to every elemt in the stream (parallel).
->so, the data in the stream has to be independend.
-> it is not possible to do something like thatata[(i+n2)][ix] = data[(i+n1-1)][ix]; Because of parallelity and indipendency.
->in other words: the MD in SIMD refers to one element in the stream.
so i think i am totaly confused.
thank you guys A LOT.
hi, me again.
i tried several things:
Using older Drivers: not possible iam using a 4670 AGP, and there is only one functional driver.
Setting some mentioned system variables or editing registry.
Original code from simple_kernel changed:
main(int argc, char* argv[])
{
for (int i =0; i<1024*100; i++){
if(i % 1024 == 0){
...
}
}
same thing. -> VPU recover.
then i tried orignal CAL code. in hellocal.cpp
int main(CALuint argc, CALchar** argv)
{
for (int i =0; i<1024*100; i++){
if(i % 1024 == 0){
...
}
}
TATAA. its working. so the question is, do i have to prog now in CAL?
thanks again!
ok, i deleted everything in the code except:
// Create a 2D stream of specified size i.e. 64x64 floating-point values
brook::Stream<float> inputStream(rank, streamSize);
// Copying data from input buffer to input stream
// inputStream.read(inputBuffer);
works.
// Create a 2D stream of specified size i.e. 64x64 floating-point values
brook::Stream<float> inputStream(rank, streamSize);
// Copying data from input buffer to input stream
inputStream.read(inputBuffer);
dies, that means it runs but you cant do anything else. in the very moment you move something on the screen it crashs-
could somebody please check this behavior?
it must be possible to run a brook application in a loop!? meaning re-run the kernel with new data.
Originally posted by: VST_RT ok, i deleted everything in...
...dies, that means it runs but you cant do anything else. in the very moment you move something on the screen it crashs-
Well, this isn't a surprise for me, I can't move anything while running my applications, for me it has been always this way. I just wait until the execution finishes to continue working.
Originally posted by: Ceq
Well, this isn't a surprise for me, I can't move anything while running my applications, for me it has been always this way. I just wait until the execution finishes to continue working.
But my app will not "finish" its real time audio processing.
...new data-> .read -> runKernel ->.write -> new data -> .read -> runKernel -> .write -> ....
and i have to be able to use my system/screen at the same time.