When attempting to enqueue a kernel with the following statement:
(Where SIZE = 256, and queue is of type cl::CommandQueue as defined in the OpenCL C++ bindings)
queue.enqueueNDRangeKernel(
kernel,
cl::NullRange,
cl::NDRange((SIZE)*(SIZE)),
cl::NDRange(1, 1),
NULL,
&event);
An error defined as “CL_Invalid_Value” (-30) is returned. This problem does not occur if SIZE < 256 (where SIZE is a positive integer).
Q: What/who is responsible for this error? Why can >65k threads not be created? Is this a limitation of the NVIDIA OpenCL runtime or the result of some form of EBCAK (Error between chair and keyboard)?
Thanks in advance.