clFlush3clc
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);
Notes
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(3clc) perform an implicit flush of the command-queue. These blocking commands are clEnqueueReadBuffer(3clc), clEnqueueReadBufferRect(3clc), or clEnqueueReadImage(3clc) with blocking_read set to CL_TRUE; clEnqueueWriteBuffer(3clc), clEnqueueWriteBufferRect(3clc), or clEnqueueWriteImage(3clc) with blocking_write set to CL_TRUE; clEnqueueMapBuffer(3clc) or clEnqueueMapImage(3clc) with blocking_map set to CL_TRUE; or clWaitForEvents(3clc).
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.
Errors
Returns CL_SUCCESS if the function call was executed successfully. Otherwise, it returns one of the following:
• CL_INVALID_COMMAND_QUEUE if command_queue is not a valid command-queue.
• CL_OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
• CL_OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
Specification
OpenCL Specification[1]
Notes
- 1.
-
OpenCL Specification
page 193, section 5.13 - Flush and Finish
Releases
5 releases since Debian 8 (Jessie); the text changed 3 times.