blob: 1cd7a6670e1f55d25c9fcf2af7d9d4d35cab64e1 [file] [log] [blame]
<!-- table 5.1 - List of supported cl_queue_property values and description -->
<informaltable frame="all"><tgroup cols="2" align="left" colsep="1" rowsep="1">
<colspec colname="col1" colnum="1" />
<colspec colname="col2" colnum="2" />
<thead>
<row>
<entry>Queue Properties</entry>
<entry>Property Value</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>CL_QUEUE_PROPERTIES</constant></entry>
<entry><type>cl_command_queue_-
properties</type></entry>
<entry><para>This is a bitfield and can be set to a
combination of the following values:</para>
<para><constant>CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE</constant> -
Determines whether the
commands queued in the command-queue
are executed in-order or out-of-order. If
set, the commands in the command-queue
are executed out-of-order. Otherwise,
commands are executed in-order.</para>
<para><constant>CL_QUEUE_PROFILING_ENABLE</constant> -
Enable or disable profiling of commands in
the command-queue. If set, the profiling of
commands is enabled. Otherwise profiling
of commands is disabled.</para>
<para><constant>CL_QUEUE_ON_DEVICE</constant> - Indicates that this
is a device queue. If <constant>CL_QUEUE_ON_DEVICE</constant>
is set, <constant>CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE</constant>
must also be set. Only out-of-order device queues are supported.</para>
<para><constant>CL_QUEUE_ON_DEVICE_DEFAULT</constant> -
indicates that this is the default device
queue. This can only be used with
<constant>CL_QUEUE_ON_DEVICE</constant>.
The application must create the default device queue
if any kernels containing calls to get_default_queue are
enqueued. There can only be one default device
queue for each device within a context.
clCreateCommandQueueWithProperties with
<constant>CL_QUEUE_PROPERTIES</constant> set to
<constant>CL_QUEUE_ON_DEVICE</constant> |
<constant>CL_QUEUE_ON_DEVICE_DEFAULT</constant>
will return the default device queue that has
already been created and
increment its retain count by 1.
</para>
<para>If <constant>CL_QUEUE_PROPERTIES</constant> is not
specified an in-order host command queue
is created for the specified device.</para>
</entry>
</row>
<row>
<entry><constant>CL_QUEUE_SIZE</constant></entry>
<entry><type>cl_uint</type></entry>
<entry><para>Specifies the size of the device queue in
bytes.</para>
<para>This can only be specified if
<constant>CL_QUEUE_ON_DEVICE</constant> is set in
<constant>CL_QUEUE_PROPERTIES</constant>. This must be a
value &le; <constant>CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE</constant>.</para>
<para>For best performance, this should be &le;
<constant>CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE</constant>.</para>
<para>If <constant>CL_QUEUE_SIZE</constant> is not specified, the
device queue is created with
<constant>CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE</constant>
as the size of the queue.</para></entry>
</row>
<row>
<entry><constant>CL_QUEUE_PRIORITY_KHR</constant></entry>
<entry><type>cl_queue_priority_khr</type></entry>
<entry>
<para>
Applies only if the
<citerefentry><refentrytitle>cl_khr_priority_hints</refentrytitle></citerefentry>
extension is enabled.
</para>
<para>
Can be one of
<constant>CL_QUEUE_PRIORITY_HIGH_KHR</constant>,
<constant>CL_QUEUE_PRIORITY_MED_KHR</constant>, or
<constant>CL_QUEUE_PRIORITY_LOW_KHR</constant>.
</para>
<para>
If <constant>CL_QUEUE_PRIORITY_KHR</constant>
is not specified then the default priority is
<constant>CL_QUEUE_PRIORITY_MED_KHR</constant>.
</para>
</entry>
</row>
<row>
<entry><constant>CL_QUEUE_THROTTLE_KHR</constant></entry>
<entry><type></type></entry>
<entry>
<para>
Applies only if the
<citerefentry><refentrytitle>cl_khr_throttle_hints</refentrytitle></citerefentry>
extension is enabled.
</para>
<para>
Can be one of
<constant>CL_QUEUE_THROTTLE_HIGH_KHR</constant>,
<constant>CL_QUEUE_THROTTLE_MED_KHR</constant>,
<constant>CL_QUEUE_THROTTLE_LOW_KHR</constant>
</para>
<para>
If <constant>CL_QUEUE_THROTTLE_KHR</constant>
is not specified then the default priority is
<constant>CL_QUEUE_THROTTLE_MED_KHR</constant>.
</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<!-- 4-Nov-2015, API ver 2.1 rev 19; Ext ver 2.1 rev 10; C lang ver 2.0 rev 30 -->