Hello.
I found a curious bug in Intel OpenCL driver on Intel HD Graphics 4600 (Core i5 4570).
Driver version: 10.18.10.3412
Intel OpenCL SDK Version: 2013 R3 64-bit
I write following kernel:
int gidx = get_global_id(0); int gidy = get_global_id(1); __local uchar temp[3]; uchar r = 255; if (gidx == 0 && gidy == 0) { temp[0] = 255; temp[1] = 34; temp[2] = 255; for (int i=0; i<3; i++) { printf("temp[i] = %d\n", temp[i]); printf("r = %d\n", r); r = min(r,temp[i]); } }
When I run it I get:
temp[i] = 255 r = 255 temp[i] = 34 r = 15 temp[i] = 255 r = 15
Variable 'r' have incorrect value (15 instead 34). What may cause the problem?