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
get issued to the appropriate device. There is no guarantee that they will be complete after
clFlush
returns.
clFlush
returns CL_SUCCESS if the function call was executed successfully. It returns
CL_INVALID_COMMAND_QUEUE if command_queue
is not a valid command-queue and
returns CL_OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the
OpenCL implementation on the host.
Any blocking commands queued in a command-queue such as clEnqueueReadImage or clEnqueueReadBuffer
with blocking_read
set to CL_TRUE, clEnqueueWriteImage or clEnqueueWriteBuffer with blocking_write
set
to CL_TRUE, clEnqueueMapImage or clEnqueueMapBuffer with blocking_map
set to CL_TRUE or
clWaitForEvents perform an implicit flush of the command-queue.
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.