Results 1 to 3 of 3

Thread: Cannot enqueue> ~65k threads

  1. #1

    Cannot enqueue> ~65k threads

    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)

    Code :
    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.

  2. #2
    Senior Member
    Join Date
    Jul 2009
    Location
    Northern Europe
    Posts
    311

    Re: Cannot enqueue> ~65k threads

    You should always be able to enqueue a global size of 65k as long as your local size is an even divisor of that. My guess is that with a local size of 1 and a global size of 65k you're running into a bug in the implementation here. Try setting the local size to 256 (or NULL) and see if it works. If it does, you should file a bug with the vendor.

  3. #3

    Re: Cannot enqueue> ~65k threads

    Changing the local size to a non-1 divisor of the global size resolved the problem - it seems that you are correct about it being a driver issue. A bug report has been field with NVIDIA. Thank you for your assistance in this matter of grave importance.

Similar Threads

  1. buffer enqueue question
    By choos3n in forum OpenSL ES - General
    Replies: 1
    Last Post: 03-27-2012, 02:41 PM
  2. eglCreatePbufferFromClientBuffer and Threads
    By Nils Pipenbrinck in forum Cross API and window system integration
    Replies: 2
    Last Post: 02-13-2007, 05:37 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •