The Khronos Group - a non-profit industry consortium to develop, publish and promote open standard, royalty-free media authoring and acceleration standards for desktop and handheld devices, combined with conformance qualification programs for platform and device interoperability.

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

event return by EnqueueNDRange broken with nVidia

The cl_event return by clEnqueueNDRange in last nVidia implementation on windows seems to be broken.

If I don't call clWaitEvent, its execution status stay on queued.
And if I try to get the get command queue with clGetEventInfo, the cl_command_queue isn't valid (the address seems to be shifted by few bytes) and a clRetainCommandQueue on it crash.

Re: event return by EnqueueNDRange broken with nVidia

Re: event return by EnqueueNDRange broken with nVidia

Technically, clEnqueueNDRangeKernel only needs to return CL_SUCCESS if the kernel was successfully queued, but it is not responsible for starting the execution of the queue. The start of the queue executing is done with clFlush. Most people do not need to call this directly as blocking commands like clWaitEvent do an implicit call.

If you do not wish to block, call flush directly. clGetEventInfo doc does not say a clFlush is required to return valid data, but the last paragraph of clFlush's documentation says that it must be called to use any event object that refers to commands.