Description
The functionality described in this section requires
support for OpenCL C 2.0, or OpenCL C 3.0 or newer and the
__opencl_c_ feature.
|
This section describes built-in functions that allow a kernel to enqueue additional work to the same device, without host interaction. A kernel may enqueue code represented by Block syntax, and control execution order with event dependencies including user events and markers. There are several advantages to using the Block syntax: it is more compact; it does not require a cl_kernel object; and enqueuing can be done as a single semantic step.
The following table describes the list of built-in functions that can be used to enqueue a kernel(s).
When the cl_khr_ extension macro is
supported, the Built-in Kernel Enqueue
Functions and Built-in Kernel Query
Functions described in this section can use any of the built-in OpenCL C
scalar or vector integer or floating-point data types, or any user defined
type built from these scalar and vector data types, as the pointee type of
their arguments.
This is indicated by the generic type name gentype in those function
signatures.
When the cl_khr_ extension macro is
not supported, the pointee type of these functions must be void.
The macro CLK_NULL_EVENT refers to an invalid device event.
The macro CLK_NULL_QUEUE refers to an invalid device queue.
Document Notes
For more information, see the OpenCL C Specification
This page is extracted from the OpenCL C Specification. Fixes and changes should be made to the Specification, not directly.