|  | <?xml version="1.0" encoding="UTF-8"?> | 
|  | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd"> | 
|  | <!-- saved from url=(0013)about:internet --> | 
|  | <?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" xmlns:xlink="http://www.w3.org/1999/xlink" pref:renderer="mathplayer-dl"> | 
|  | <head> | 
|  | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | 
|  | <style xmlns="" type="text/css"> | 
|  | /* This style sets a margin around the entire page */ | 
|  | html, body { | 
|  | margin: 10px; | 
|  | } | 
|  |  | 
|  | p { | 
|  | font: normal 16px verdana, sans-serif; | 
|  | margin: 0; | 
|  | padding-bottom:12px; | 
|  | } | 
|  |  | 
|  | h1 { | 
|  | font: bold 25px verdana, sans-serif; | 
|  | margin-top: 0; | 
|  | margin-bottom: 3px; | 
|  | padding-top: 0; | 
|  | padding-bottom: 0; | 
|  | } | 
|  |  | 
|  | h2 { | 
|  | font: bold 19px verdana, sans-serif; | 
|  | margin-top: 28px; | 
|  | margin-bottom: 3px; | 
|  | padding-top: 0; | 
|  | padding-bottom: 0; | 
|  | } | 
|  |  | 
|  | h3 { | 
|  | font: bold 19px verdana, sans-serif !important; | 
|  | margin-top: 28px; | 
|  | margin-bottom: 3px; | 
|  | padding-top: 0; | 
|  | padding-bottom: 0; | 
|  | } | 
|  |  | 
|  | li { | 
|  | font: normal 16px verdana, sans-serif; | 
|  | margin-top: 0; | 
|  | margin-bottom: 18px; | 
|  | padding-top: 0; | 
|  | padding-bottom: 0; | 
|  | } | 
|  |  | 
|  | .pdparam { | 
|  | font: italic 16px verdana, sans-serif; | 
|  | } | 
|  |  | 
|  | .term { | 
|  | font: italic 16px verdana, sans-serif; | 
|  | font-weight: normal; | 
|  | } | 
|  |  | 
|  | .type { | 
|  | font: normal 16px verdana, sans-serif !important; | 
|  | } | 
|  |  | 
|  | .parameter { | 
|  | font-style: italic; | 
|  | } | 
|  |  | 
|  | a:link, a:visited { | 
|  | color: blue; | 
|  | text-decoration: none; | 
|  | font: normal 16px; | 
|  | } | 
|  |  | 
|  | a:hover { | 
|  | background-color: #FFFF99; | 
|  | font: normal 16px; | 
|  | } | 
|  |  | 
|  | div.funcsynopsis { | 
|  | text-align: left; | 
|  | background-color: #e6e6e6; | 
|  | font: normal 16px verdana, sans-serif; | 
|  | padding-top: 10px; | 
|  | padding-bottom: 10px; | 
|  | } | 
|  |  | 
|  | div.funcsynopsis table { | 
|  | border-collapse: separate; | 
|  | font: normal 16px verdana, sans-serif; | 
|  | } | 
|  |  | 
|  | div.funcsynopsis td { | 
|  | background-color: #e6e6e6; | 
|  | border: 0 solid #000; | 
|  | padding: 1px; | 
|  | font: normal 16px verdana, sans-serif; | 
|  | } | 
|  |  | 
|  | div.refsect1 { | 
|  | font-family: verdana, sans-serif; | 
|  | font-size: 16px; | 
|  | } | 
|  |  | 
|  | code.constant { | 
|  | font: normal 16px courier new, monospace !important; | 
|  | } | 
|  |  | 
|  | span.errorname { | 
|  | font: normal 16px verdana, sans-serif !important; | 
|  | } | 
|  |  | 
|  | code.function { | 
|  | font: bold 16px verdana, sans-serif !important; | 
|  | } | 
|  |  | 
|  | b.fsfunc { | 
|  | font: bold 16px verdana, sans-serif !important; | 
|  | } | 
|  |  | 
|  | code.varname { | 
|  | font: italic 16px verdana, sans-serif; | 
|  | } | 
|  |  | 
|  | code.replaceable { | 
|  | font: italic 16px courier new, monospace; | 
|  | } | 
|  |  | 
|  | code.funcdef { | 
|  | font: normal 16px verdana, sans-serif !important; | 
|  | } | 
|  |  | 
|  | .citerefentry { | 
|  | font: normal 16px verdana, sans-serif !important; | 
|  | } | 
|  |  | 
|  | .parameter { | 
|  | font-style: italic; | 
|  | } | 
|  |  | 
|  | code.fsfunc { | 
|  | font: normal 16px verdana, sans-serif !important; | 
|  | } | 
|  |  | 
|  | /* PARAMETER: This style controls spacing between the terms in Parameter section */ | 
|  | dt { | 
|  | margin-top: 15px; | 
|  | } | 
|  |  | 
|  | /* TABLES: These styles apply to all tables OTHER than the Synopsis and Example tables */ | 
|  | div.refsect1 table { | 
|  | width: 100%; | 
|  | margin-top: 10px; | 
|  | background-color: #FFF; | 
|  | border-collapse: collapse; | 
|  | border-color: #000; | 
|  | border-width: 1px; | 
|  | font: normal 16px verdana, sans-serif; | 
|  | } | 
|  |  | 
|  | div.refsect1 th { | 
|  | border-collapse: collapse; | 
|  | border-color: #000; | 
|  | border-width: 1px; | 
|  | font: bold 16px verdana, sans-serif; | 
|  | } | 
|  |  | 
|  | div.refsect1 td { | 
|  | background-color: #FFF; | 
|  | padding: 5px; | 
|  | vertical-align: text-top; | 
|  | border-collapse: collapse; | 
|  | border-color: #000; | 
|  | border-width: 1px; | 
|  | font: normal 16px verdana, sans-serif; | 
|  | } | 
|  |  | 
|  | div.refsect1 p{ | 
|  | font: normal 16px verdana, sans-serif; | 
|  | margin-top: 8px; | 
|  | margin-bottom: 8px; | 
|  | padding-top: 0; | 
|  | padding-bottom: 0; | 
|  | } | 
|  |  | 
|  |  | 
|  | /* EXAMPLE: These styles apply only to the Example section */ | 
|  | div.refsect2 { | 
|  | font: normal 16px courier new, monospace !important; | 
|  | } | 
|  |  | 
|  | div.refsect2 table { | 
|  | margin-top: 0; | 
|  | background-color: #e6e6e6; | 
|  | width: 100%; | 
|  | border: 0 solid #000; | 
|  | padding: 2px; | 
|  | font: normal 16px courier new, monospace !important; | 
|  | } | 
|  |  | 
|  | div.refsect2 td { | 
|  | background-color: #e6e6e6; | 
|  | font: normal 16px courier new, monospace !important; | 
|  | white-space:pre; | 
|  | } | 
|  |  | 
|  | /* COPYRIGHT: This style formats the text of the copyright statement at the bottom of the page */ | 
|  | div.refsect3 { | 
|  | font: normal 11px verdana, sans-serif; | 
|  | margin-top: 50px; | 
|  | margin-bottom: 20px; | 
|  | padding-top: 0; | 
|  | padding-bottom: 0; | 
|  | } | 
|  |  | 
|  | </style> | 
|  | <title>clCreateCommandQueueWithProperties</title> | 
|  | <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /> | 
|  | <meta name="keywords" content="clCreateCommandQueueWithProperties" /> | 
|  | </head> | 
|  | <body> | 
|  | <div class="refentry"> | 
|  | <a id="id-1"></a> | 
|  | <div class="titlepage"></div> | 
|  | <div xmlns="" class="refnamediv"> | 
|  | <a xmlns="http://www.w3.org/1999/xhtml" id="clCreateCommandQueueWithProperties"></a> | 
|  | <h1>clCreateCommandQueueWithProperties</h1> | 
|  | <p>Create a host or device command-queue on a specific device.</p> | 
|  | </div> | 
|  | <div class="refsynopsisdiv"> | 
|  | <h2></h2> | 
|  | <div class="funcsynopsis"> | 
|  | <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"> | 
|  | <tr valign="bottom"> | 
|  | <td> | 
|  | <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef"><a class="link" href="abstractDataTypes.html" target="pagedisplay">cl_command_queue</a> <strong class="fsfunc">clCreateCommandQueueWithProperties</strong>(</code> | 
|  | <td><a xmlns="http://www.w3.org/1999/xhtml" class="link" href="abstractDataTypes.html" target="pagedisplay">cl_context</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">context</var>, </td> | 
|  | </td> | 
|  | </tr> | 
|  | <tr valign="top"> | 
|  | <td> </td> | 
|  | <td><a xmlns="http://www.w3.org/1999/xhtml" class="link" href="abstractDataTypes.html" target="pagedisplay">cl_device_id</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">device</var>, </td> | 
|  | </tr> | 
|  | <tr valign="top"> | 
|  | <td> </td> | 
|  | <td>const <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="enums.html#cl_queue_properties" target="pagedisplay">cl_queue_properties</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">*properties</var>, </td> | 
|  | </tr> | 
|  | <tr valign="top"> | 
|  | <td> </td> | 
|  | <td><a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">cl_int</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">*errcode_ret</var><code>)</code></td> | 
|  | </tr> | 
|  | </table> | 
|  | </div> | 
|  | </div> | 
|  | <div class="refsect1"> | 
|  | <a id="parameters"></a> | 
|  | <h2>Parameters</h2> | 
|  | <div class="variablelist"> | 
|  | <dl class="variablelist"> | 
|  | <dt> | 
|  | <span class="term"> | 
|  | <code class="varname">context</code> | 
|  | </span> | 
|  | </dt> | 
|  | <dd> | 
|  | <p> | 
|  | Must be a valid OpenCL context. | 
|  | </p> | 
|  | </dd> | 
|  | <dt> | 
|  | <span class="term"> | 
|  | <code class="varname">device</code> | 
|  | </span> | 
|  | </dt> | 
|  | <dd> | 
|  | <p> | 
|  | Must be a device associated with <code class="varname">context</code>. | 
|  | It can either be in the list of devices specified when | 
|  | <code class="varname">context</code> is created using | 
|  | <a class="citerefentry" href="clCreateContext.html"><span class="citerefentry"><span class="refentrytitle">clCreateContext</span></span></a> | 
|  | or have the same device type as the device type specified | 
|  | when the <code class="varname">context</code> is created using | 
|  | <a class="citerefentry" href="clCreateContextFromType.html"><span class="citerefentry"><span class="refentrytitle">clCreateContextFromType</span></span></a>. | 
|  | </p> | 
|  | </dd> | 
|  | <dt> | 
|  | <span class="term"> | 
|  | <code class="varname">properties</code> | 
|  | </span> | 
|  | </dt> | 
|  | <dd> | 
|  | <p> | 
|  | Specifies a list of properties for the | 
|  | command-queue and their corresponding values. | 
|  | Each property name is immediately followed | 
|  | by the corresponding desired value. The list is | 
|  | terminated with 0. The list of supported properties | 
|  | is described in the table below. If a | 
|  | supported property and its value is not specified in | 
|  | <code class="varname">properties</code>, its default value will be used. | 
|  | <code class="varname">properties</code> can be NULL in which case | 
|  | the default values for supported command-queue properties | 
|  | will be used. | 
|  | </p> | 
|  | <div class="informaltable"> | 
|  | <table border="1"> | 
|  | <colgroup> | 
|  | <col align="left" class="col1" /> | 
|  | <col align="left" class="col2" /> | 
|  | </colgroup> | 
|  | <thead> | 
|  | <tr> | 
|  | <th align="left">Queue Properties</th> | 
|  | <th align="left">Property Value</th> | 
|  | <th align="left">Description</th> | 
|  | </tr> | 
|  | </thead> | 
|  | <tbody> | 
|  | <tr> | 
|  | <td align="left"> | 
|  | <code class="constant">CL_QUEUE_PROPERTIES</code> | 
|  | </td> | 
|  | <td align="left"> | 
|  | <span class="type">cl_command_queue_- | 
|  | properties</span> | 
|  | </td> | 
|  | <td align="left"><p>This is a bitfield and can be set to a | 
|  | combination of the following values:</p> | 
|  |  | 
|  | <p><code class="constant">CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE</code> - | 
|  | 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.</p> | 
|  |  | 
|  | <p><code class="constant">CL_QUEUE_PROFILING_ENABLE</code> - | 
|  | Enable or disable profiling of commands in | 
|  | the command-queue. If set, the profiling of | 
|  | commands is enabled. Otherwise profiling | 
|  | of commands is disabled.</p> | 
|  |  | 
|  | <p><code class="constant">CL_QUEUE_ON_DEVICE</code> - Indicates that this | 
|  | is a device queue. If <code class="constant">CL_QUEUE_ON_DEVICE</code> | 
|  | is set, <code class="constant">CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE</code> | 
|  | must also be set. Only out-of-order device queues are supported.</p> | 
|  |  | 
|  | <p><code class="constant">CL_QUEUE_ON_DEVICE_DEFAULT</code> - | 
|  | indicates that this is the default device | 
|  | queue. This can only be used with | 
|  | <code class="constant">CL_QUEUE_ON_DEVICE</code>. | 
|  | The application should create the default device queue if needed. | 
|  | There can only be one default device queue per context. | 
|  | <code class="function">clCreateCommandQueueWithProperties</code> | 
|  | with <code class="constant">CL_QUEUE_PROPERTIES</code> set to | 
|  | <code class="constant">CL_QUEUE_ON_DEVICE</code> | | 
|  | <code class="constant">CL_QUEUE_ON_DEVICE_DEFAULT</code> | 
|  | will return the default device queue thas | 
|  | already been created and increment its retain count by 1. | 
|  | </p> | 
|  |  | 
|  | <p>If <code class="constant">CL_QUEUE_PROPERTIES</code> is not | 
|  | specified an in-order host command queue | 
|  | is created for the specified device.</p> | 
|  |  | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td align="left"> | 
|  | <code class="constant">CL_QUEUE_SIZE</code> | 
|  | </td> | 
|  | <td align="left"> | 
|  | <span class="type">cl_uint</span> | 
|  | </td> | 
|  | <td align="left"><p>Specifies the size of the device queue in | 
|  | bytes.</p> | 
|  |  | 
|  | <p>This can only be specified if | 
|  | <code class="constant">CL_QUEUE_ON_DEVICE</code> is set in | 
|  | <code class="constant">CL_QUEUE_PROPERTIES</code>. This must be a | 
|  | value ≤ <code class="constant">CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE</code>.</p> | 
|  |  | 
|  | <p>For best performance, this should be ≤ | 
|  | <code class="constant">CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE</code>.</p> | 
|  |  | 
|  | <p>If <code class="constant">CL_QUEUE_SIZE</code> is not specified, the | 
|  | device queue is created with | 
|  | <code class="constant">CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE</code> | 
|  | as the size of the queue.</p></td> | 
|  | </tr> | 
|  | </tbody> | 
|  | </table> | 
|  | </div> | 
|  | </dd> | 
|  | <dt> | 
|  | <span class="term"> | 
|  | <code class="varname">errcode_ret</code> | 
|  | </span> | 
|  | </dt> | 
|  | <dd> | 
|  | <p> | 
|  | Returns an appropriate error code. If <code class="varname">errcode_ret</code> | 
|  | is <code class="constant">NULL</code>, no error code is returned. | 
|  | </p> | 
|  | </dd> | 
|  | </dl> | 
|  | </div> | 
|  | </div> | 
|  | <div class="refsect1"> | 
|  | <a id="notes"></a> | 
|  | <h2>Notes</h2> | 
|  | <p> | 
|  | OpenCL objects such as memory, program and kernel objects are created using a | 
|  | context.  Operations on these objects are performed using  a command-queue. The | 
|  | command-queue can be used to queue a set of operations (referred to as commands) | 
|  | in order.  Having multiple command-queues allows applications to queue multiple | 
|  | independent commands without requiring synchronization.  Note that this should work | 
|  | as long as these objects are not being shared.  Sharing of objects across multiple | 
|  | command-queues will require the application to perform appropriate synchronization. | 
|  | This is described in Appendix A of the specification. | 
|  | </p> | 
|  | <h4><a id="id-1.6.3"></a>Out-of-order Execution of Kernels and Memory Object Commands</h4> | 
|  | <p> | 
|  | The OpenCL functions that are submitted to a command-queue are enqueued in the order | 
|  | the calls are made but can be configured to execute in-order or out-of-order. The | 
|  | <code class="varname">properties</code> argument in <code class="function">clCreateCommandQueueWithProperties</code> | 
|  | can be used to specify the execution order. | 
|  | </p> | 
|  | <p> | 
|  | If the <code class="constant">CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE</code> | 
|  | property of a command-queue is not set, the commands enqueued to a | 
|  | command-queue execute in order. For example, if an application calls | 
|  | <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a> | 
|  | to execute kernel A followed by a | 
|  | <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a> | 
|  | to execute kernel B, the application can assume that kernel A finishes first and then | 
|  | kernel B is executed. If the memory objects output by kernel A are inputs to kernel | 
|  | B then kernel B will see the correct data in memory objects produced by execution of | 
|  | kernel A. If the <code class="constant">CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE</code> property | 
|  | of a command-queue is set, then there is no guarantee that kernel A will finish before | 
|  | kernel B starts execution. | 
|  | </p> | 
|  | <p> | 
|  | Applications can configure the commands enqueued to a command-queue to execute | 
|  | out-of-order by setting the <code class="constant">CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE</code> | 
|  | property of the command-queue. This can be specified when the command-queue is | 
|  | created. In out-of-order execution mode there is no guarantee that the enqueued | 
|  | commands will finish execution in the order they were queued. As there is no | 
|  | guarantee that kernels will be executed in order, i.e. based on when the | 
|  | <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a> | 
|  | calls are made within a command-queue, it is therefore possible that an earlier | 
|  | <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a> | 
|  | call to execute kernel A identified by event A may execute and/or finish later than a | 
|  | <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a> | 
|  | call to execute kernel B which was called by the application at a later | 
|  | point in time. To guarantee a specific order of execution of kernels, a | 
|  | wait on a particular event (in this case event A) can be used. The wait for | 
|  | event A can be specified in the <code class="varname">event_wait_list</code> argument to | 
|  | <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a> | 
|  | for kernel B. | 
|  | </p> | 
|  | <p> | 
|  | In addition, a wait for events | 
|  | (<a class="citerefentry" href="clEnqueueMarkerWithWaitList.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueMarkerWithWaitList</span></span></a>) | 
|  | or a barrier | 
|  | (<a class="citerefentry" href="clEnqueueBarrierWithWaitList.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueBarrierWithWaitList</span></span></a>) | 
|  | command can be enqueued to the command-queue. The wait for events command ensures | 
|  | that previously enqueued commands identified by the list of events to wait for have | 
|  | finished before the next batch of commands is executed. The barrier command ensures | 
|  | that all previously enqueued commands in a command-queue have finished execution | 
|  | before the next batch of commands is executed. | 
|  | </p> | 
|  | <p> | 
|  | Similarly, commands to read, write, copy or map memory objects that are enqueued after | 
|  | <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a> or | 
|  | <a class="citerefentry" href="clEnqueueNativeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNativeKernel</span></span></a> | 
|  | commands are not guaranteed to wait for kernels scheduled for execution to have | 
|  | completed (if the <code class="constant">CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE</code> | 
|  | property is set). To ensure correct ordering of commands, the event object returned by | 
|  | <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a> or | 
|  | <a class="citerefentry" href="clEnqueueNativeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNativeKernel</span></span></a> | 
|  | can be used to enqueue a wait for event or a barrier command can be enqueued that | 
|  | must complete before reads or writes to the memory object(s) occur. | 
|  | </p> | 
|  | </div> | 
|  | <div class="refsect1"> | 
|  | <a id="errors"></a> | 
|  | <h2>Errors</h2> | 
|  | <p> | 
|  | <code class="function">clCreateCommandQueueWithProperties</code> | 
|  | returns a valid non-zero command-queue and | 
|  | <code class="varname">errcode_ret</code> is set to <span class="errorname">CL_SUCCESS</span> if the | 
|  | command-queue is created successfully. Otherwise, it returns a NULL value with one | 
|  | of the following error values returned in <code class="varname">errcode_ret</code>: | 
|  | </p> | 
|  | <div class="itemizedlist"> | 
|  | <ul class="itemizedlist" style="list-style-type: disc; "> | 
|  | <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_CONTEXT</span> if <code class="varname">context</code> is not a valid | 
|  | context. | 
|  | </li> | 
|  | <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_DEVICE</span> if <code class="varname">device</code> is not a valid | 
|  | device or is not associated with <code class="varname">context</code>. | 
|  | </li> | 
|  | <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_VALUE</span> if values specified in | 
|  | <code class="varname">properties</code> are not valid. | 
|  | </li> | 
|  | <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_QUEUE_PROPERTIES</span> if values specified in | 
|  | <code class="varname">properties</code> are valid but are not supported by the device. | 
|  | </li> | 
|  | <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_OUT_OF_RESOURCES</span> if there is a failure | 
|  | to allocate resources required by the OpenCL implementation on the device. | 
|  | </li> | 
|  | <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_OUT_OF_HOST_MEMORY</span> if there is a failure | 
|  | to allocate resources required by the OpenCL implementation on the host. | 
|  | </li> | 
|  | </ul> | 
|  | </div> | 
|  | </div> | 
|  | <div class="refsect1"> | 
|  | <a id="specification"></a> | 
|  | <h2>Specification</h2> | 
|  | <p><img src="pdficon_small1.gif" /> | 
|  | <a href="https://www.khronos.org/registry/cl/specs/opencl-2.0.pdf#page=88" target="OpenCL Spec">OpenCL Specification</a> | 
|  | </p> | 
|  | </div> | 
|  | <div class="refsect1"> | 
|  | <a id="seealso"></a> | 
|  | <h2>Also see</h2> | 
|  | <p> | 
|  | <a class="citerefentry" href="clGetCommandQueueInfo.html"><span class="citerefentry"><span class="refentrytitle">clGetCommandQueueInfo</span></span></a>, | 
|  | <a class="citerefentry" href="clReleaseCommandQueue.html"><span class="citerefentry"><span class="refentrytitle">clReleaseCommandQueue</span></span></a>, | 
|  | <a class="citerefentry" href="clRetainCommandQueue.html"><span class="citerefentry"><span class="refentrytitle">clRetainCommandQueue</span></span></a>, | 
|  | <a class="citerefentry" href="clCreateContext.html"><span class="citerefentry"><span class="refentrytitle">clCreateContext</span></span></a>, | 
|  | <a class="citerefentry" href="clCreateContextFromType.html"><span class="citerefentry"><span class="refentrytitle">clCreateContextFromType</span></span></a>, | 
|  | <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a> | 
|  | </p> | 
|  | </div> | 
|  | <div xmlns="" class="refsect3" lang="en" xml:lang="en"><a xmlns="http://www.w3.org/1999/xhtml" id="Copyright"></a><h4 xmlns="http://www.w3.org/1999/xhtml"></h4><img xmlns="http://www.w3.org/1999/xhtml" src="KhronosLogo.jpg" /><p xmlns="http://www.w3.org/1999/xhtml"></p>Copyright © 2007-2013 The Khronos Group Inc. | 
|  | Permission is hereby granted, free of charge, to any person obtaining a | 
|  | copy of this software and/or associated documentation files (the | 
|  | "Materials"), to deal in the Materials without restriction, including | 
|  | without limitation the rights to use, copy, modify, merge, publish, | 
|  | distribute, sublicense, and/or sell copies of the Materials, and to | 
|  | permit persons to whom the Materials are furnished to do so, subject to | 
|  | the condition that this copyright notice and permission notice shall be included | 
|  | in all copies or substantial portions of the Materials. | 
|  | </div> | 
|  | </div> | 
|  | </body> | 
|  | </html> |