<?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>clEnqueueNDRangeKernel</title>
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <meta name="keywords" content="                            &#10;                clEnqueueNDRangeKernel&#10;            " />
  </head>
  <body>
    <div class="refentry">
      <a id="idp31926608"></a>
      <div class="titlepage"></div>
      <div xmlns="" class="refnamediv">
        <a xmlns="http://www.w3.org/1999/xhtml" id="clEnqueueNDRangeKernel"></a>
        <h1>clEnqueueNDRangeKernel</h1>
        <p>                             
            Enqueues a command to execute a kernel on a 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="scalarDataTypes.html" target="_top">cl_int</a>
                    <strong class="fsfunc">                  
                        clEnqueueNDRangeKernel
                    </strong>
                (</code>
                <td><a xmlns="http://www.w3.org/1999/xhtml" class="link" href="abstractDataTypes.html" target="_top">cl_command_queue</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">command_queue</var>, </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td><a xmlns="http://www.w3.org/1999/xhtml" class="link" href="abstractDataTypes.html" target="_top">cl_kernel</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">kernel</var>, </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td><a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="_top">cl_uint</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">work_dim</var>, </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>const <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="_top">size_t</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">*global_work_offset</var>, </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>const <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="_top">size_t</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">*global_work_size</var>, </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>const <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="_top">size_t</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">*local_work_size</var>, </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td><a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="_top">cl_uint</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">num_events_in_wait_list</var>, </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>const <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="abstractDataTypes.html" target="_top">cl_event</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">*event_wait_list</var>, </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td><a xmlns="http://www.w3.org/1999/xhtml" class="link" href="abstractDataTypes.html" target="_top">cl_event</a> <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">*event</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"> 
                        command_queue
                    </code>
                </span>
            </dt>
            <dd>
              <p> 
                        A valid command-queue. The kernel will be queued for execution on the device associated with <code class="varname">command_queue</code>.
                    </p>
            </dd>
            <dt>
              <span class="term">
                    <code class="varname"> 
                        kernel
                    </code>
                </span>
            </dt>
            <dd>
              <p> 
                         A valid kernel object. The OpenCL context associated with <code class="varname">kernel</code> and <code class="varname">command_queue</code> must be the same.
                    </p>
            </dd>
            <dt>
              <span class="term">
                    <code class="varname"> 
                        work_dim
                    </code>
                </span>
            </dt>
            <dd>
              <p> 
                        The number of dimensions used to specify the global work-items and work-items in the work-group. <code class="varname">work_dim</code> must be greater than zero and less than or equal to three.
                    </p>
            </dd>
            <dt>
              <span class="term">
                    <code class="varname"> 
                        global_work_offset
                    </code>
                </span>
            </dt>
            <dd>
              <p> 
                        Must currently be a NULL value. In a future revision of OpenCL,
<code class="varname">global_work_offset</code> can be used to specify an array of <code class="varname">work_dim</code> unsigned values that describe the offset used to calculate the global ID of a work-item instead of having the global IDs always start at offset (0, 0,... 0).
                    </p>
            </dd>
            <dt>
              <span class="term">
                    <code class="varname"> 
                        global_work_size
                    </code>
                </span>
            </dt>
            <dd>
              <p> 
                         Points to an array of <code class="varname">work_dim</code> unsigned values that describe the number of global work-items in <code class="varname">work_dim</code> dimensions that will execute the kernel function. The total number of global work-items is computed as <code class="varname">global_work_size</code>[0] *...* <code class="varname">global_work_size</code>[<code class="varname">work_dim</code> - 1]. </p>
              <p>
The values specified in <code class="varname">global_work_size</code> cannot exceed the range given by the <code class="constant">sizeof(size_t)</code> for the device on which the kernel execution will be enqueued. The <code class="constant">sizeof(size_t)</code> for a device can be determined using <code class="constant">CL_DEVICE_ADDRESS_BITS</code> in the table of OpenCL Device Queries for <a class="citerefentry" href="clGetDeviceInfo.html"><span class="citerefentry"><span class="refentrytitle">clGetDeviceInfo</span></span></a>. If, for example, <code class="constant">CL_DEVICE_ADDRESS_BITS</code> = 32, i.e. the device uses a 32-bit address space, size_t is a 32-bit unsigned integer and global_work_size values must be in the range 1 .. 2^32 - 1. Values outside this range return a <code class="constant">CL_OUT_OF_RESOURCES</code> error.
                    </p>
            </dd>
            <dt>
              <span class="term">
                    <code class="varname"> 
                        local_work_size
                    </code>
                </span>
            </dt>
            <dd>
              <p> 
                        Points to an array of <code class="varname">work_dim</code> unsigned values that describe the number of work-items that make up a work-group (also referred to as the size of the work-group) that will execute the kernel specified by <code class="varname">kernel</code>. The total number of work-items in a work-group is computed as <code class="varname">local_work_size</code>[0] *... * <code class="varname">local_work_size</code>[<code class="varname">work_dim</code> - 1]. The total number of work-items in the work-group must be less than or equal to the
<code class="constant">CL_DEVICE_MAX_WORK_GROUP_SIZE</code> value specified in table of OpenCL Device Queries for <a class="citerefentry" href="clGetDeviceInfo.html"><span class="citerefentry"><span class="refentrytitle">clGetDeviceInfo</span></span></a> and the number of work-items specified in <code class="varname">local_work_size</code>[0],... <code class="varname">local_work_size</code>[<code class="varname">work_dim</code> - 1] must be less than or
equal to the corresponding values specified by <code class="constant">CL_DEVICE_MAX_WORK_ITEM_SIZES</code>[0],....
<code class="constant">CL_DEVICE_MAX_WORK_ITEM_SIZES</code>[<code class="varname">work_dim</code> - 1]. The explicitly specified <code class="varname">local_work_size</code> will be used to determine how to break the global work-items specified by <code class="varname">global_work_size</code> into appropriate work-group instances. If <code class="varname">local_work_size</code> is specified, the values specified in <code class="varname">global_work_size</code>[0],... <code class="varname">global_work_size</code>[<code class="varname">work_dim</code> - 1] must be evenly divisable by the corresponding values specified in <code class="varname">local_work_size</code>[0],... <code class="varname">local_work_size</code>[<code class="varname">work_dim</code> - 1].</p>
              <p>The work-group size to be used for <code class="varname">kernel</code> can also be specified in the program source using the <code class="constant"><a class="citerefentry" href="attribute.html"><span class="citerefentry"><span class="refentrytitle">__attribute__</span></span></a>((reqd_work_group_size(X, Y, Z)))</code>qualifier. In this case the size of work group specified by <code class="varname">local_work_size</code> must match the value specified by the <code class="constant">reqd_work_group_size</code> <a class="citerefentry" href="attribute.html"><span class="citerefentry"><span class="refentrytitle">__attribute__</span></span></a> qualifier.</p>
              <p><code class="varname">local_work_size</code> can also be a NULL value in which case the OpenCL implementation will determine how to be break the global work-items into appropriate work-group instances.</p>
              <p>See note for more information.
                    </p>
            </dd>
            <dt>
              <span class="term">
                    <code class="varname"> 
                        event_wait_list
                    </code> and 
                    <code class="varname"> 
                        num_events_in_wait_list
                    </code>
                </span>
            </dt>
            <dd>
              <p> 
                        Specify events that need to complete before this
particular command can be executed. If <code class="varname">event_wait_list</code> is NULL, then this particular command does not wait on any event to complete. If <code class="varname">event_wait_list</code> is NULL, <code class="varname">num_events_in_wait_list</code>
must be 0. If <code class="varname">event_wait_list</code> is not NULL, the list of events pointed to by <code class="varname">event_wait_list</code> must be valid and <code class="varname">num_events_in_wait_list</code> must be greater than 0. The events specified in
<code class="varname">event_wait_list</code> act as synchronization points. The context associated with events in <code class="varname">event_wait_list</code> and <code class="varname">command_queue</code> must be the same.
                    </p>
            </dd>
            <dt>
              <span class="term">
                    <code class="varname"> 
                        event
                    </code>
                </span>
            </dt>
            <dd>
              <p> 
                        Returns an event object that identifies this particular kernel execution instance. Event objects are unique and can be used to identify a particular kernel execution instance later on. If <code class="varname">event</code> is NULL, no event will be created for this kernel execution instance and therefore it will not be possible for the application to query or queue a wait for this particular kernel execution instance.
                    </p>
            </dd>
          </dl>
        </div>
      </div>
      <div class="refsect1">
        <a id="notes"></a>
        <h2>Notes</h2>
        <p>
Work-group instances are executed in parallel across multiple compute units or concurrently on the same compute unit.</p>
        <p>Each work-item is uniquely identified by a global identifier. The global ID, which can be read inside the kernel, is computed using the value given by <code class="varname">global_work_size</code> and <code class="varname">global_work_offset</code>. In OpenCL 1.0, the starting global ID is always (0, 0, ... 0). In addition, a work-item is also identified within a work-group by a unique local ID. The local ID, which can also be read by the kernel, is computed using the value given by <code class="varname">local_work_size</code>. The starting local ID is always (0, 0, ... 0).
        </p>
      </div>
      <div class="refsect1">
        <a id="errors"></a>
        <h2>Errors</h2>
        <p>
            Returns <span class="errorname">CL_SUCCESS</span> if the kernel execution was successfully queued.
Otherwise, it returns one of the following errors:
        </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_PROGRAM_EXECUTABLE</span> if there is no successfully built program executable available for device associated with <code class="varname">command_queue</code>.
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_COMMAND_QUEUE</span> if <code class="varname">command_queue</code> is not a valid command-queue.
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_KERNEL</span> if <code class="varname">kernel</code> is not a valid kernel object.
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_CONTEXT</span> if context associated with <code class="varname">command_queue</code> and <code class="varname">kernel</code> is not the same or if the context associated with <code class="varname">command_queue</code> and events in <code class="varname">event_wait_list</code> are not the same.
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_KERNEL_ARGS</span> if the kernel argument values have not been specified.
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_WORK_DIMENSION</span> if <code class="varname">work_dim</code> is not a valid value (i.e. a value between 1 and 3).
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_WORK_GROUP_SIZE</span> if <code class="varname">local_work_size</code> is specified and number of work-items specified by <code class="varname">global_work_size</code> is not evenly divisable by size of work-group given by <code class="varname">local_work_size</code> or does not match the work-group size specified for <code class="varname">kernel</code> using the
<span class="errorname"><a class="citerefentry" href="functionQualifiers.html"><span class="citerefentry"><span class="refentrytitle">__attribute__</span></span></a>((reqd_work_group_size(X, Y, Z)))</span> qualifier in program source.
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_WORK_GROUP_SIZE</span> if <code class="varname">local_work_size</code> is specified and the total number of work-items in the work-group computed as <code class="varname">local_work_size</code>[0] *... <code class="varname">local_work_size</code>[<code class="varname">work_dim</code> - 1] is greater than the value specified by <span class="errorname">CL_DEVICE_MAX_WORK_GROUP_SIZE</span> in the table of OpenCL Device Queries for <a class="citerefentry" href="clGetDeviceInfo.html"><span class="citerefentry"><span class="refentrytitle">clGetDeviceInfo</span></span></a>.
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_WORK_GROUP_SIZE</span> if <code class="varname">local_work_size</code> is NULL and the <span class="errorname"><a class="citerefentry" href="functionQualifiers.html"><span class="citerefentry"><span class="refentrytitle">__attribute__</span></span></a>((reqd_work_group_size(X, Y, Z)))</span> qualifier is used to declare the work-group size for <code class="varname">kernel</code> in the program source.
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_WORK_ITEM_SIZE</span> if the number of work-items specified in any of <code class="varname">local_work_size</code>[0], ... <code class="varname">local_work_size</code>[<code class="varname">work_dim</code> - 1] is greater than the corresponding values specified by <span class="errorname">CL_DEVICE_MAX_WORK_ITEM_SIZES</span>[0], ....
<span class="errorname">CL_DEVICE_MAX_WORK_ITEM_SIZES</span>[<code class="varname">work_dim</code> - 1].
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_GLOBAL_OFFSET</span> if <code class="varname">global_work_offset</code> is not NULL.
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_OUT_OF_RESOURCES</span> if there is a failure to queue
the execution instance of <code class="varname">kernel</code> on the command-queue because of insufficient resources needed to execute the kernel. For example, the explicitly specified <code class="varname">local_work_size</code> causes a failure to execute the kernel because of insufficient resources such as registers or local memory. Another example would be the number of read-only image args used in <code class="varname">kernel</code> exceed the <span class="errorname">CL_DEVICE_MAX_READ_IMAGE_ARGS</span> value for device or the number of write-only image args used in <code class="varname">kernel</code> exceed the <span class="errorname">CL_DEVICE_MAX_WRITE_IMAGE_ARGS</span> value for device or the number of samplers used in <code class="varname">kernel</code> exceed
<span class="errorname">CL_DEVICE_MAX_SAMPLERS</span> for device.
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_MEM_OBJECT_ALLOCATION_FAILURE</span> if there is a failure to
allocate memory for data store associated with image or buffer objects specified as arguments to <code class="varname">kernel</code>.
            </li>
            <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_EVENT_WAIT_LIST</span> if <code class="varname">event_wait_list</code> is NULL and <code class="varname">num_events_in_wait_list</code> &gt; 0, or <code class="varname">event_wait_list</code> is not NULL and <code class="varname">num_events_in_wait_list</code> is 0, or if event objects in <code class="varname">event_wait_list</code> are not valid events.
            </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="http://www.khronos.org/registry/cl/specs/opencl-1.x-latest.pdf#page=109" target="OpenCL Spec">OpenCL Specification</a>
        </p>
      </div>
      <div class="refsect1">
        <a id="seealso"></a>
        <h2>Also see</h2>
        <p>
<a class="citerefentry" href="clCreateCommandQueue.html"><span class="citerefentry"><span class="refentrytitle">clCreateCommandQueue</span></span></a>, <a class="citerefentry" href="clGetDeviceInfo.html"><span class="citerefentry"><span class="refentrytitle">clGetDeviceInfo</span></span></a>,
			<a class="citerefentry" href="clEnqueueNativeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNativeKernel</span></span></a>, 
			<a class="citerefentry" href="clEnqueueTask.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueTask</span></span></a>, 
			<a class="citerefentry" href="workItemFunctions.html"><span class="citerefentry"><span class="refentrytitle">Work-Item Functions</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-2009 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>
