kartik

Brook+ help

Discussion created by kartik on Feb 14, 2009
Latest reply on Feb 22, 2009 by gaurav.garg
Kernel cannot create temporary linear streams

Hi, I've just started coding on brook+. I have a 4870 installed on my pc and I tried to run a simple convolution kernel on the gpu, but it returns BR_KERNEL_ERROR. Stepping through with the debugger, I see the error string

+        _errorString    "Kernel Execution : Failed to create temporary linear stream
"    std::basic_string,std::allocator > *
 'kernel ecexcution

This same code runs on another 4870 correctly, so I'm not sure why its failing on my card. This is my kernel

kernel void convolute(float a[][], float b[][], out float c[][],int J,int K)
{
    int j,k;
    int2 ind = instance().xy;
   
    float val = 0.0f;
   
    for (j=0;j
    {
        for (k=0;k
        {
            val = (((ind.x-j)<0) || ((ind.y-k)<0)) ? 0.0f : a[ind.x-j][ind.y-k];
            c[ind.x][ind.y] += b[j][k]*val;
        }
    }
}

Any help on this would be most appreciated. Thanks

Kartik

 

*UPDATE : some of the brook+ sample apps like matrixmult cause my gpu to hang and VPU recover has to reset the gpu. Has anyone else experienced this before?

Outcomes