Just experienced a bizarre problem. I can't past the entire code to confuse you. The program is like this conceptually:
struct st_a{
...
int3 vInA;
...
int num;
};
struct st_b{
...
float3 vInB;
...
}
__kernel void MyKernel()
{
__local struct st_a A;
__local struct st_b B;
A.vInA = (int3)0;
B.vInB = (float3).6f;
// OMG, A.vInA is now very big numbers!!!
...
}
I only launched one work item, so there is no write conflict.
Does anybody have any suggestions?
Thank you in advance!
VisCocoa