Issues all previously queued OpenCL commands in a command-queue to the device associated with the command-queue.
cl_int
clFlush
(
|
cl_command_queue
command_queue
) |
Issues all previously queued OpenCL commands in command_queue
to the device associated with command_queue
.
clFlush
only guarantees that all queued commands to
command_queue
will eventually be submitted to the appropriate device
There is no guarantee that they will be complete after clFlush
returns.
Any blocking commands queued in a command-queue and
clReleaseCommandQueue
perform an implicit flush of the command-queue. These blocking commands are
clEnqueueReadBuffer,
clEnqueueReadBufferRect,
clEnqueueReadImage,
with blocking_read
set to CL_TRUE
;
clEnqueueWriteBuffer,
clEnqueueWriteBufferRect,
clEnqueueWriteImage
with blocking_write
set to CL_TRUE
;
clEnqueueMapBuffer,
clEnqueueMapImage
with blocking_map
set to CL_TRUE
;
clEnqueueSVMMemcpy
with blocking_copy
set to CL_TRUE
;
clEnqueueSVMMap
with blocking_map
set to CL_TRUE
or
clWaitForEvents.
To use event objects that refer to commands enqueued in a command-queue as event objects
to wait on by commands enqueued in a different command-queue, the application must call
a clFlush
or any blocking commands that perform an implicit flush
of the command-queue where the commands that refer to these event objects are enqueued.
Returns CL_SUCCESS if the function call was executed successfully. Otherwise, it returns one of the following errors:
command_queue
is not a valid host command-queue.