fandango

Illegal to call scatter kernel from any kernel

Discussion created by fandango on May 10, 2009
Latest reply on May 10, 2009 by gaurav.garg

Hello again,

What does this error mean?

I have two kernel function.

kernel void motion_estimation(unsigned char src[], unsigned char ref[], int width, int height, out double sad[])

kernel int estimate_macroblock_4x4(unsigned char mbs[],
                                   unsigned char mbr[],
                                   int i,
                                   int j,
                                   int width,
                                   int height, 
                                   out double sad[])


The first calls the second one.

The streams defenition is

    brook::Stream<unsigned char> srcStream(rank, streamSize);
    brook::Stream<unsigned char> refStream(rank, streamSize);

    // copying data from input buffer to input stream
    srcStream.read(src);
    refStream.read(ref);

    // creating the output stream
    streamSize[0] = width / 16 * height / 16;

    rank = 1;

    // creating the output stream
    streamSize[0] = width;
    streamSize[1] = height;
    rank = 1;

    brook::Stream<double> sad(rank, streamSize);

As you can see I don't fully understand you stream conception, because of poor documentation.


Can you advice me something?

Outcomes