CL_INVALID_ARG_SIZE caused by OpenCL's clSetKernelArg
For example,
ret = clSetKernelArg(kernel, 0, sizeof(size_t), &n);
Kernel's sizeof(size_t) (for example, 8 byte) and host's sizeof(size_t) (for example, 4 byte) might be different. Compile your program in 64bit if you installed OpenCL 64bit.