I have 3 questions:
- I tried to use kernel intrinsic function dot(x,y). Brook+ specification says "dot(x,y) - Dot product of the two vectors x and y". What does vector means: an unidimensional stream or an unidimensional table? Using this function, I observed that dot(x,y) is equivalent with x*y, where x and y are numbers, not streams nor vectors. Can anybody provide an example where this function is applied on 2 streams ?
- How are bidimensional streams organised in memory: row after row (linke in C) or column after colums? Suppose we have:
kernel void test(float x, ... )
Which element is getting the value 5: the element from the row 2 and colums 3 or the element from the row 3 and column 2?
- Suppose that I have global stream variable, when calling a kernel having as parameter this stream, it is created a local copy of this stream or all the operations within the kernel are executed directly on the global stream?
Thank you .