I have a really simple question:
If I have a kernel with some parameters including cl_mem buffers, and I set an offset parameter for clEnqueueNDRangeKernel, will all my buffers read from that specified offset or just the first one?
Passing a global offset when you enqueue an NDRange kernel simply affects the values returned by get_global_id(), as explained in section 3.2 of the specification. It doesn’t affect in any way the memory objects that you pass to the kernel.