First, you really need to check the result of the OpenCL API calls. If "it doesn't even gets inside the kernels", then one of the API call has returned some error value that you've missed.
Second, there is indeed a limit for the buffer sizes (and for many other values). OpenCL mandates the minimum limit for each value, but other than that it's device-dependent and you need to ask your specific device for its maximums, using clGetDeviceInfo
.