The attached simple program simply prints out the result of get_local_id(0) and get_global_id(0). The former works but the latter returns 0 every time. Here is the output:
Device name: Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz
Driver version: 1.2.0.76921
local_id = 0 global_id = 0
local_id = 1 global_id = 0
local_id = 2 global_id = 0
local_id = 0 global_id = 0
local_id = 1 global_id = 0
local_id = 2 global_id = 0
I'm using Ubuntu 13.10 on Sandy Bridge and I installed from intel_sdk_for_ocl_applications_xe_2013_r2_runtime_3.1.1.11385_x64.tgz. I realise this is probably not a supported platform, but perhaps someone from Intel could run the code and see whether the problem is reproducible (g++ -Wall -g -o printf-test printf-test.cpp -lOpenCL).