| <?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>clGetDeviceInfo</title> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /> |
| <meta name="keywords" content="clGetDeviceInfo" /> |
| </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="clGetDeviceInfo"></a> |
| <h1>clGetDeviceInfo</h1> |
| <p>Get information about an OpenCL 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="pagedisplay">cl_int</a> |
| <strong class="fsfunc">clGetDeviceInfo</strong> |
| (</code> |
| <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> |
| </td> |
| </tr> |
| <tr valign="top"> |
| <td> </td> |
| <td> |
| <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="enums.html#cl_device_info" target="pagedisplay">cl_device_info</a> |
| <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">param_name</var> |
| , </td> |
| </tr> |
| <tr valign="top"> |
| <td> </td> |
| <td> |
| <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">size_t</a> |
| <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">param_value_size</var> |
| , </td> |
| </tr> |
| <tr valign="top"> |
| <td> </td> |
| <td> |
| <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">void</a> |
| <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">*param_value</var> |
| , </td> |
| </tr> |
| <tr valign="top"> |
| <td> </td> |
| <td> |
| <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">size_t</a> |
| <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">*param_value_size_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">device</code> |
| </span> |
| </dt> |
| <dd> |
| <p> |
| May be a device returned by |
| <a class="citerefentry" href="clGetDeviceIDs.html"><span class="citerefentry"><span class="refentrytitle">clGetDeviceIDs</span></span></a> |
| or a sub-device created by |
| <a class="citerefentry" href="clCreateSubDevices.html"><span class="citerefentry"><span class="refentrytitle">clCreateSubDevices</span></span></a>. |
| If <code class="varname">device</code> is a sub-device, the specific information for |
| the sub-device will be returned. The information that can be queried using |
| <code class="function">clGetDeviceInfo</code> is specified in the table below. |
| </p> |
| </dd> |
| <dt> |
| <span class="term"> |
| <code class="varname">param_value</code> |
| </span> |
| </dt> |
| <dd> |
| <p> |
| A pointer to memory location where appropriate values for a given |
| <code class="varname">param_name</code> as specified in the table below will be |
| returned. If <code class="varname">param_value</code> is NULL, it is ignored. |
| </p> |
| </dd> |
| <dt> |
| <span class="term"> |
| <code class="varname">param_value_size</code> |
| </span> |
| </dt> |
| <dd> |
| <p> |
| Specifies the size in bytes of memory pointed to by |
| <code class="varname">param_value</code>. This size in bytes must be ≥ size of |
| return type specified in the table below. |
| </p> |
| </dd> |
| <dt> |
| <span class="term"> |
| <code class="varname">param_value_size_ret</code> |
| </span> |
| </dt> |
| <dd> |
| <p> |
| Returns the actual size in bytes of data being queried by |
| <code class="varname">param_value</code>. If <code class="varname">param_value_size_ret</code> |
| is NULL, it is ignored. |
| </p> |
| </dd> |
| <dt> |
| <span class="term"> |
| <code class="varname">param_name</code> |
| </span> |
| </dt> |
| <dd> |
| <p> |
| An enumeration constant that identifies the device information being queried. It |
| can be one of the values as specified in the table below. |
| </p> |
| </dd> |
| <dt> |
| <span class="term"></span> |
| </dt> |
| <dd> |
| <div class="informaltable"> |
| <table border="1"> |
| <colgroup> |
| <col align="left" class="col1" /> |
| <col align="left" class="col2" /> |
| </colgroup> |
| <thead> |
| <tr> |
| <th align="left">cl_device_info</th> |
| <th align="left">Return Type</th> |
| <th align="left">Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_ADDRESS_BITS</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| The default compute device address space size specified as an unsigned |
| integer value in bits. Currently supported values are 32 or 64 bits. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_AVAILABLE</code> |
| </td> |
| <td align="left">cl_bool</td> |
| <td align="left"> |
| Is <code class="constant">CL_TRUE</code> if the device is available and |
| <code class="constant">CL_FALSE</code> if the device is not available. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_BUILT_IN_KERNELS</code> |
| </td> |
| <td align="left">char[]</td> |
| <td align="left"> |
| A semi-colon separated list of built-in kernels supported by the device. |
| An empty string is returned if no built-in kernels are supported by |
| the device. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_COMPILER_AVAILABLE</code> |
| </td> |
| <td align="left">cl_bool</td> |
| <td align="left"> |
| Is <code class="constant">CL_FALSE</code> if the implementation does |
| not have a compiler available to compile the program source. |
| Is <code class="constant">CL_TRUE</code> if the compiler is available. This can |
| be <code class="constant">CL_FALSE</code> for the embedded platform profile only. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_DOUBLE_FP_CONFIG</code> |
| </td> |
| <td align="left"> |
| <p>cl_device_-</p> |
| <p>fp_config</p> |
| </td> |
| <td align="left"> |
| Describes double precision floating-point capability of the |
| OpenCL device. This is a bit-field that describes one or more of the following values: |
| <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_DENORM</code> - denorms are supported.</li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_INF_NAN</code> - INF and NaNs are supported.</li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_ROUND_TO_NEAREST</code> - round to nearest even rounding mode supported.</li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_ROUND_TO_ZERO</code> - round to zero rounding mode supported.</li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_ROUND_TO_INF</code> - |
| round to positive and negative infinity rounding modes supported.</li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_FMA</code> - IEEE754-2008 fused multiply-add is supported. </li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_SOFT_FLOAT</code> - Basic floating-point operations (such as |
| addition, subtraction, multiplication) are implemented in software.</li></ul></div> |
| |
| <p> |
| Double precision is an optional feature so the mandated minimum double |
| precision floating-point capability is 0. |
| </p> |
| |
| <p> |
| If double precision is supported by the device, then the minimum double |
| precision floatingpoint capability must be: <code class="constant">CL_FP_FMA</code> |
| | <code class="constant">CL_FP_ROUND_TO_NEAREST</code> |
| | <code class="constant">CL_FP_ROUND_TO_ZERO</code> |
| | <code class="constant">CL_FP_ROUND_TO_INF</code> | |
| <code class="constant">CL_FP_INF_NAN</code> | <code class="constant">CL_FP_DENORM</code>. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_ENDIAN_LITTLE</code> |
| </td> |
| <td align="left">cl_bool</td> |
| <td align="left"> |
| Is <code class="constant">CL_TRUE</code> if the OpenCL device is a little endian |
| device and <code class="constant">CL_FALSE</code> otherwise. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_ERROR_CORRECTION_SUPPORT</code> |
| </td> |
| <td align="left">Return type: cl_bool</td> |
| <td align="left"> |
| Is <code class="constant">CL_TRUE</code> if the device implements error correction |
| for all accesses to compute device memory (global and constant). |
| Is <code class="constant">CL_FALSE</code> if the device does not implement such |
| error correction. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_EXECUTION_CAPABILITIES</code> |
| </td> |
| <td align="left"> <p>cl_device_-</p><p>exec_capabilities</p> </td> |
| <td align="left"> |
| Describes the execution capabilities of the device. This is |
| a bit-field that describes one or more of the following values: |
| <p><code class="constant">CL_EXEC_KERNEL</code> - The OpenCL device can execute |
| OpenCL kernels.</p> <p><code class="constant">CL_EXEC_NATIVE_KERNEL</code> |
| - The OpenCL device can execute native kernels.</p> <p>The mandated |
| minimum capability is <code class="constant">CL_EXEC_KERNEL</code>.</p> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_EXTENSIONS</code> |
| </td> |
| <td align="left">char[]</td> |
| <td align="left"> |
| Returns a space separated list of extension names (the extension names themselves do |
| not contain any spaces) supported by the device. The list of extension names returned |
| can be vendor supported extension names and one or more of the following Khronos |
| approved extension names: |
| |
| <p> |
| </p><div class="literallayout"><p><br /> |
| <a class="citerefentry" href="cl_khr_int64_base_atomics.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_int64_base_atomics</span></span></a><br /> |
| <a class="citerefentry" href="cl_khr_int64_extended_atomics.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_int64_extended_atomics</span></span></a><br /> |
| <a class="citerefentry" href="cl_khr_fp16.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_fp16</span></span></a><br /> |
| <a class="citerefentry" href="cl_khr_gl_sharing.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_gl_sharing</span></span></a><br /> |
| <a class="citerefentry" href="cl_khr_gl_event.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_gl_event</span></span></a><br /> |
| <a class="citerefentry" href="cl_khr_d3d10_sharing.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_d3d10_sharing</span></span></a><br /> |
| <a class="citerefentry" href="cl_khr_dx9_media_sharing.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_dx9_media_sharing</span></span></a><br /> |
| <a class="citerefentry" href="cl_khr_d3d11_sharing.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_d3d11_sharing</span></span></a><br /> |
| </p></div><p> |
| </p> |
| </td> |
| <td align="left"> |
| The following approved Khronos extension names must be returned by all device that support OpenCL C 1.2: |
| <p> |
| </p><div class="literallayout"><p><br /> |
| cl_khr_global_int32_base_atomics<br /> |
| cl_khr_global_int32_extended_atomics<br /> |
| cl_khr_local_int32_base_atomics<br /> |
| cl_khr_local_int32_extended_atomics<br /> |
| cl_khr_byte_addressable_store<br /> |
| cl_khr_fp64<br /> |
| (for backward compatibility if double precision is supported)<br /> |
| </p></div><p> |
| </p> |
| |
| <p> |
| Please refer to the OpenCL 1.2 Extension Specification for a detailed description of these extensions. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_GLOBAL_MEM_CACHE_SIZE</code> |
| </td> |
| <td align="left">cl_ulong</td> |
| <td align="left">Size of global memory cache in bytes.</td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_GLOBAL_MEM_CACHE_TYPE</code> |
| </td> |
| <td align="left"> <p>cl_device_mem-</p><p>_cache_type</p> </td> |
| <td align="left"> |
| Type of global memory cache supported. Valid values are: |
| <code class="constant">CL_NONE</code>, <code class="constant">CL_READ_ONLY_CACHE</code>, |
| and <code class="constant">CL_READ_WRITE_CACHE</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left">Size of global memory cache line in bytes.</td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_GLOBAL_MEM_SIZE</code> |
| </td> |
| <td align="left">cl_ulong</td> |
| <td align="left">Size of global device memory in bytes.</td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_HALF_FP_CONFIG</code> |
| </td> |
| <td align="left"> |
| <p>cl_device_-</p> |
| <p>fp_config</p> |
| </td> |
| <td align="left"> |
| Describes the OPTIONAL half precision floating-point capability of the |
| OpenCL device. This is a bit-field that describes one or more of the following values: |
| |
| <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_DENORM</code> - denorms are supported.</li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_INF_NAN</code> - INF and NaNs are supported.</li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_ROUND_TO_NEAREST</code> - round to nearest even rounding mode supported.</li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_ROUND_TO_ZERO</code> - round to zero rounding mode supported.</li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_ROUND_TO_INF</code> - round |
| to +ve and -ve infinity rounding modes supported.</li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_FMA</code> - IEEE754-2008 fused multiply-add is supported. </li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_FP_SOFT_FLOAT</code> - Basic floating-point operations |
| (such as addition, subtraction, multiplication) are implemented in software.</li></ul></div> |
| |
| <p> |
| The required minimum half precision floating-point capability as |
| implemented by this extension is <code class="constant">CL_FP_ROUND_TO_ZERO</code> |
| or <code class="constant">CL_FP_ROUND_TO_INF</code> | |
| <code class="constant">CL_FP_INF_NAN</code>. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_HOST_UNIFIED_MEMORY</code> |
| </td> |
| <td align="left">cl_bool</td> |
| <td align="left"> |
| Is <code class="constant">CL_TRUE</code> if the device and the host have a unified |
| memory subsystem and is <code class="constant">CL_FALSE</code> otherwise. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_IMAGE_SUPPORT</code> |
| </td> |
| <td align="left">cl_bool</td> |
| <td align="left"> |
| Is <code class="constant">CL_TRUE</code> if images are supported by the OpenCL |
| device and <code class="constant">CL_FALSE</code> otherwise. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_IMAGE2D_MAX_HEIGHT</code> |
| </td> |
| <td align="left">size_t</td> |
| <td align="left"> |
| Max height of 2D image in pixels. The minimum value is 8192 if |
| <code class="constant">CL_DEVICE_IMAGE_SUPPORT</code> is <code class="constant">CL_TRUE</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_IMAGE2D_MAX_WIDTH</code> |
| </td> |
| <td align="left">size_t</td> |
| <td align="left"> |
| Max width of 2D image or 1D image not created from a buffer object in pixels. |
| The minimum value is 8192 if <code class="constant">CL_DEVICE_IMAGE_SUPPORT</code> |
| is <code class="constant">CL_TRUE</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_IMAGE3D_MAX_DEPTH</code> |
| </td> |
| <td align="left">size_t</td> |
| <td align="left"> |
| Max depth of 3D image in pixels. The minimum value is 2048 if |
| <code class="constant">CL_DEVICE_IMAGE_SUPPORT</code> is <code class="constant">CL_TRUE</code>.</td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_IMAGE3D_MAX_HEIGHT</code> |
| </td> |
| <td align="left">size_t</td> |
| <td align="left"> |
| Max height of 3D image in pixels. The minimum value is 2048 if |
| <code class="constant">CL_DEVICE_IMAGE_SUPPORT</code> is <code class="constant">CL_TRUE</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_IMAGE3D_MAX_WIDTH</code> |
| </td> |
| <td align="left">size_t</td> |
| <td align="left"> |
| Max width of 3D image in pixels. The minimum value is 2048 if |
| <code class="constant">CL_DEVICE_IMAGE_SUPPORT</code> is <code class="constant">CL_TRUE</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_IMAGE_MAX_BUFFER_SIZE</code> |
| </td> |
| <td align="left">size_t</td> |
| <td align="left"> |
| Max number of pixels for a 1D image created from a buffer object. |
| The minimum value is 65536 if <code class="constant">CL_DEVICE_IMAGE_SUPPORT</code> |
| is <code class="constant">CL_TRUE</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_IMAGE_MAX_ARRAY_SIZE</code> |
| </td> |
| <td align="left">size_t</td> |
| <td align="left"> |
| Max number of images in a 1D or 2D image array. The minimum value is 2048 if |
| <code class="constant">CL_DEVICE_IMAGE_SUPPORT</code> is <code class="constant">CL_TRUE</code> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_LINKER_AVAILABLE</code> |
| </td> |
| <td align="left">cl_bool</td> |
| <td align="left"> |
| Is <code class="constant">CL_FALSE</code> if the implementation does not |
| have a linker available. Is <code class="constant">CL_TRUE</code> if the |
| linker is available. This can be <code class="constant">CL_FALSE for the embedded |
| platform profile only. This must be <code class="constant">CL_TRUE</code> if |
| <code class="constant">CL_DEVICE_COMPILER_AVAILABLE</code> is CL_TRUE</code> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_LOCAL_MEM_SIZE</code> |
| </td> |
| <td align="left">cl_ulong</td> |
| <td align="left"> |
| Size of local memory arena in bytes. The minimum value is 32 KB for |
| devices that are not of type <code class="constant">CL_DEVICE_TYPE_CUSTOM</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_LOCAL_MEM_TYPE</code> |
| </td> |
| <td align="left"> <p>cl_device_-</p><p>local_mem_type</p></td> |
| <td align="left"> |
| Type of local memory supported. This can be set to |
| <code class="constant">CL_LOCAL</code> implying dedicated local memory storage |
| such as SRAM, or <code class="constant">CL_GLOBAL</code>. For custom devices, |
| <code class="constant">CL_NONE</code> can also be returned indicating no local |
| memory support. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_CLOCK_FREQUENCY</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left">Maximum configured clock frequency of the device in MHz.</td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_COMPUTE_UNITS</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| The number of parallel compute units on the OpenCL device. A work-group executes |
| on a single compute unit. The minimum value is 1. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_CONSTANT_ARGS</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| Max number of arguments declared with the <a class="citerefentry" href="constant.html"><span class="citerefentry"><span class="refentrytitle">__constant</span></span></a> |
| qualifier in a kernel. The minimum value is 8 for devices that are not |
| of type <code class="constant">CL_DEVICE_TYPE_CUSTOM</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE</code> |
| </td> |
| <td align="left">cl_ulong</td> |
| <td align="left"> |
| Max size in bytes of a constant buffer allocation. The |
| minimum value is 64 KB for devices that are not of type |
| <code class="constant">CL_DEVICE_TYPE_CUSTOM</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_MEM_ALLOC_SIZE</code> |
| </td> |
| <td align="left">cl_ulong</td> |
| <td align="left"> |
| Max size of memory object allocation in bytes. The minimum value is max (1/4th |
| of <code class="constant">CL_DEVICE_GLOBAL_MEM_SIZE</code>, 128*1024*1024) for devices |
| that are not of type <code class="constant">CL_DEVICE_TYPE_CUSTOM</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_PARAMETER_SIZE</code> |
| </td> |
| <td align="left">size_t</td> |
| <td align="left"> |
| Max size in bytes of the arguments that can be passed to a |
| kernel. The minimum value is 1024 for devices that are not of type |
| <code class="constant">CL_DEVICE_TYPE_CUSTOM</code>. For this minimum value, |
| only a maximum of 128 arguments can be passed to a kernel. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_READ_IMAGE_ARGS</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| Max number of simultaneous image objects that can be read by a kernel. The |
| minimum value is 128 if <code class="constant">CL_DEVICE_IMAGE_SUPPORT</code> |
| is <code class="constant">CL_TRUE</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_SAMPLERS</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| Maximum number of samplers that can be used in a kernel. The minimum |
| value is 16 if <code class="constant">CL_DEVICE_IMAGE_SUPPORT</code> |
| is <code class="constant">CL_TRUE</code>. (Also see |
| <a class="citerefentry" href="sampler_t.html"><span class="citerefentry"><span class="refentrytitle">sampler_t</span></span></a>.) |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_WORK_GROUP_SIZE</code> |
| </td> |
| <td align="left">size_t</td> |
| <td align="left"> |
| Maximum number of work-items in a work-group executing a kernel on a |
| single compute unit, using the data parallel execution model. (Refer to |
| <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a>). |
| The minimum value is 1. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| Maximum dimensions that specify the global and local |
| work-item IDs used by the data parallel execution model. (Refer to |
| <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a>). |
| The minimum value is 3 for devices that are not of type |
| <code class="constant">CL_DEVICE_TYPE_CUSTOM</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_WORK_ITEM_SIZES</code> |
| </td> |
| <td align="left">size_t[]</td> |
| <td align="left"> |
| <p> |
| Maximum number of work-items that can be |
| specified in each dimension of the work-group to |
| <a class="citerefentry" href="clEnqueueNDRangeKernel.html"><span class="citerefentry"><span class="refentrytitle">clEnqueueNDRangeKernel</span></span></a>. |
| </p> |
| |
| <p> |
| Returns <code class="varname">n</code> size_t entries, where |
| <code class="varname">n</code> is the value returned by the query for |
| <code class="constant">CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS</code>. |
| </p> |
| |
| <p> |
| The minimum value is (1, 1, 1) for devices that are not of type |
| <code class="constant">CL_DEVICE_TYPE_CUSTOM</code>. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MAX_WRITE_IMAGE_ARGS</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| Max number of simultaneous image objects that can |
| be written to by a kernel. The minimum value is 8 if |
| <code class="constant">CL_DEVICE_IMAGE_SUPPORT</code> is <code class="constant">CL_TRUE</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MEM_BASE_ADDR_ALIGN</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| The minimum value is the size (in bits) of the largest OpenCL built-in |
| data type supported by the device (<span class="type">long16</span> in FULL profile, |
| <span class="type">long16</span> or <span class="type">int16</span> in EMBEDDED profile) for devices |
| that are not of type <code class="constant">CL_DEVICE_TYPE_CUSTOM</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| Deprecated in OpenCL 1.2. The smallest alignment in bytes which can be |
| used for any data type. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_NAME</code> |
| </td> |
| <td align="left">char[]</td> |
| <td align="left">Device name string.</td> |
| </tr> |
| <tr> |
| <td align="left"><code class="constant">CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR</code> |
| <p><code class="constant">CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT</code></p> |
| <p><code class="constant">CL_DEVICE_NATIVE_VECTOR_WIDTH_INT</code></p> |
| <p><code class="constant">CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG</code></p> |
| <p><code class="constant">CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT</code></p> |
| <p><code class="constant">CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE</code></p> |
| <p><code class="constant">CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF</code></p></td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| <p> |
| Returns the native ISA vector width. The vector width is defined as |
| the number of scalar elements that can be stored in the vector. |
| </p> |
| |
| <p> |
| If double precision is not supported, |
| <code class="constant">CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE</code> must return 0. |
| </p> |
| |
| <p> |
| If the |
| <a class="citerefentry" href="cl_khr_fp16.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_fp16</span></span></a> |
| extension is not supported, |
| <code class="constant">CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF</code> must return 0. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_OPENCL_C_VERSION</code> |
| </td> |
| <td align="left">char[]</td> |
| <td align="left"> |
| <p> |
| OpenCL C version string. Returns the highest OpenCL C version |
| supported by the compiler for this device that is not of type |
| <code class="constant">CL_DEVICE_TYPE_CUSTOM</code>. This version string has |
| the following format: |
| </p> |
| |
| <p> |
| <code class="varname"> |
| OpenCL<space>C<space><major_version.minor_version><space><vendor-specific |
| information> </code> |
| </p> |
| |
| <p> |
| The <code class="varname">major_version.minor_version</code> value returned must |
| be 1.2 if <code class="constant">CL_DEVICE_VERSION</code> is OpenCL 1.2. |
| </p> |
| |
| <p> |
| The <code class="varname">major_version.minor_version</code> value returned must |
| be 1.1 if <code class="constant">CL_DEVICE_VERSION</code> is OpenCL 1.1. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_PARENT_DEVICE</code> |
| </td> |
| <td align="left">cl_device_id</td> |
| <td align="left"> |
| Returns the cl_device_id of the parent device to which this sub-device |
| belongs. If device is a root-level device, a NULL value is returned. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_PARTITION_MAX_SUB_DEVICES</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| Returns the maximum number of sub-devices that can be created |
| when a device is partitioned. The value returned cannot exceed |
| <code class="constant">CL_DEVICE_MAX_COMPUTE_UNITS</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_PARTITION_PROPERTIES</code> |
| </td> |
| <td align="left"> |
| <p>cl_device_partit-</p> |
| <p>ion_property[]</p> |
| </td> |
| <td align="left"> |
| Returns the list of partition types supported by device. This is an array of |
| <code class="varname">cl_device_partition_property</code> values drawn from the following list: |
| <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem" style="list-style-type: disc"><code class="constant">CL_DEVICE_PARTITION_EQUALLY</code></li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_DEVICE_PARTITION_BY_COUNTS</code></li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN</code></li></ul></div> |
| If the device does not support any partition types, a value of 0 will be returned. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_PARTITION_AFFINITY_DOMAIN</code> |
| </td> |
| <td align="left"> |
| <p>cl_device_aff-</p> |
| <p>inity_domain</p> |
| </td> |
| <td align="left"> |
| Returns the list of supported affinity domains for partitioning the device using |
| <code class="constant">CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN</code>. |
| This is a bit-field that describes one or more of the following values: |
| <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem" style="list-style-type: disc"><code class="constant">CL_DEVICE_AFFINITY_DOMAIN_NUMA</code></li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE</code></li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE</code></li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE</code></li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE</code></li><li class="listitem" style="list-style-type: disc"><code class="constant">CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE</code></li></ul></div> |
| If the device does not support any affinity domains, a value of 0 will be returned. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_PARTITION_TYPE</code> |
| </td> |
| <td align="left"> |
| <p>cl_device_part-</p> |
| <p>ition_property[]</p> |
| </td> |
| <td align="left"> |
| Returns the properties argument specified in |
| <a class="citerefentry" href="clCreateSubDevices.html"><span class="citerefentry"><span class="refentrytitle">clCreateSubDevices</span></span></a> |
| if <code class="varname">device</code> is a subdevice. Otherwise the implementation |
| may either return a <code class="varname">param_value_size_ret</code> of 0 i.e. there |
| is no partition type associated with <code class="varname">device</code> or can |
| return a property value of 0 (where 0 is used to terminate the partition |
| property list) in the memory that <code class="varname">param_value</code> points to. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_PLATFORM</code> |
| </td> |
| <td align="left"> |
| <a class="link" href="abstractDataTypes.html" target="pagedisplay">cl_platform_id</a> |
| </td> |
| <td align="left">The platform associated with this device.</td> |
| </tr> |
| <tr> |
| <td align="left"><code class="constant">CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR</code> |
| <p><code class="constant">CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT</code></p> |
| <p><code class="constant">CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT</code></p> |
| <p><code class="constant">CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG</code></p> |
| <p><code class="constant">CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT</code></p> |
| <p><code class="constant">CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE</code></p> |
| <p><code class="constant">CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF</code></p></td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| <p> |
| Preferred native vector width size for built-in scalar types that can |
| be put into vectors. The vector width is defined as the number of scalar |
| elements that can be stored in the vector. |
| </p> |
| |
| <p> |
| If double precision is not supported, |
| <code class="constant">CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE</code> must return 0. |
| </p> |
| |
| <p> |
| If the |
| <a class="citerefentry" href="cl_khr_fp16.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_fp16</span></span></a> |
| extension is not supported, |
| <code class="constant">CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF</code> must return 0. |
| </p> |
| |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_PRINTF_BUFFER_SIZE</code> |
| </td> |
| <td align="left">size_t</td> |
| <td align="left"> |
| Maximum size of the internal buffer that holds the output of <a class="citerefentry" href="printfFunction.html"><span class="citerefentry"><span class="refentrytitle">printf</span></span></a> |
| calls from a kernel. The minimum value for the FULL profile is 1 MB. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_PREFERRED_INTEROP_USER_SYNC</code> |
| </td> |
| <td align="left">cl_bool</td> |
| <td align="left"> |
| Is <code class="constant">CL_TRUE</code> if the device's preference is for the user |
| to be responsible for synchronization, when sharing memory objects between |
| OpenCL and other APIs such as DirectX, <code class="constant">CL_FALSE</code> if the |
| device / implementation has a performant path for performing synchronization |
| of memory object shared between OpenCL and other APIs such as DirectX |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_PROFILE</code> |
| </td> |
| <td align="left">char[]</td> |
| <td align="left"> |
| <p> |
| OpenCL profile string. Returns the profile name supported by the device |
| (see note). The profile name returned can be one of the following strings: |
| </p> |
| |
| <p> |
| FULL_PROFILE - if the device supports the OpenCL specification |
| (functionality defined as part of the core specification and does not |
| require any extensions to be supported). |
| </p> |
| |
| <p> |
| EMBEDDED_PROFILE - if the device supports the OpenCL embedded profile. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_PROFILING_TIMER_RESOLUTION</code> |
| </td> |
| <td align="left">size_t</td> |
| <td align="left">Describes the resolution of device timer. This is measured in nanoseconds.</td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_QUEUE_PROPERTIES</code> |
| </td> |
| <td align="left"> |
| <p>cl_command_-</p> |
| <p>queue_properties</p> |
| </td> |
| <td align="left"> |
| <p> |
| Describes the command-queue properties supported by the device. This is |
| a bit-field that describes one or more of the following values: |
| </p> |
| |
| <p><code class="constant">CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE</code></p> |
| <p><code class="constant">CL_QUEUE_PROFILING_ENABLE</code></p> |
| <p> |
| These properties are described in the table for |
| <a class="citerefentry" href="clCreateCommandQueue.html"><span class="citerefentry"><span class="refentrytitle">clCreateCommandQueue</span></span></a>. |
| The mandated minimum capability is |
| <code class="constant">CL_QUEUE_PROFILING_ENABLE</code>. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_REFERENCE_COUNT</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| Returns the device reference count. If the device is a root-level device, |
| a reference count of one is returned. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_SINGLE_FP_CONFIG</code> |
| </td> |
| <td align="left"> |
| <p>cl_device_-</p> |
| <p>fp_config</p> |
| </td> |
| <td align="left"> |
| <p> |
| Describes single precision floating-point capability of the device. This |
| is a bit-field that describes one or more of the following values: |
| </p> |
| |
| <p><code class="constant">CL_FP_DENORM</code> - denorms are supported</p> |
| <p><code class="constant">CL_FP_INF_NAN</code> - INF and quiet NaNs are supported</p> |
| <p><code class="constant">CL_FP_ROUND_TO_NEAREST</code> - round to nearest even rounding mode supported</p> |
| <p><code class="constant">CL_FP_ROUND_TO_ZERO</code> - round to zero rounding mode supported</p> |
| <p><code class="constant">CL_FP_ROUND_TO_INF</code> - round to +ve and -ve infinity rounding modes supported</p> |
| <p><code class="constant">CL_FP_FMA</code> - IEEE754-2008 fused multiply-add is supported</p> |
| |
| <p> |
| <code class="constant">CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT</code> - divide and |
| sqrt are correctly rounded as defined by the IEEE754 specification. |
| </p> |
| |
| <p> |
| <code class="constant">CL_FP_SOFT_FLOAT</code> - Basic floating-point operations |
| (such as addition, subtraction, multiplication) are implemented in |
| software. |
| </p> |
| |
| <p> |
| The mandated minimum floating-point capability for devices that |
| are not of type <code class="constant">CL_DEVICE_TYPE_CUSTOM</code> |
| is <code class="constant">CL_FP_ROUND_TO_NEAREST</code> | |
| <code class="constant">CL_FP_INF_NAN</code>. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_TYPE</code> |
| </td> |
| <td align="left">cl_device_type</td> |
| <td align="left"> |
| The OpenCL device type. Currently supported values are one of or |
| a combination of: <code class="constant">CL_DEVICE_TYPE_CPU</code>, |
| <code class="constant">CL_DEVICE_TYPE_GPU</code>, |
| <code class="constant">CL_DEVICE_TYPE_ACCELERATOR</code>, |
| <code class="constant">CL_DEVICE_TYPE_DEFAULT</code>, a combination of the above |
| types, or <code class="constant">CL_DEVICE_TYPE_CUSTOM</code>. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_VENDOR</code> |
| </td> |
| <td align="left">char[]</td> |
| <td align="left">Vendor name string.</td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_VENDOR_ID</code> |
| </td> |
| <td align="left">cl_uint</td> |
| <td align="left"> |
| A unique device vendor identifier. An example of a unique device identifier |
| could be the PCIe ID. |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DEVICE_VERSION</code> |
| </td> |
| <td align="left">char[]</td> |
| <td align="left"> |
| <p> |
| OpenCL version string. Returns the OpenCL version supported by the |
| device. This version string has the following format: |
| </p> |
| |
| <p> |
| <code class="varname"> |
| OpenCL<space><major_version.minor_version><space><vendor-specific |
| information> </code> |
| </p> |
| |
| <p> |
| The <code class="varname">major_version.minor_version</code> value returned will |
| be 1.2. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td align="left"> |
| <code class="constant">CL_DRIVER_VERSION</code> |
| </td> |
| <td align="left">char[]</td> |
| <td align="left"> |
| OpenCL software driver version string in the form |
| <code class="varname">major_number.minor_number</code>. |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <div class="refsect1"> |
| <a id="notes"></a> |
| <h2>Notes</h2> |
| <p> |
| <code class="constant">CL_DEVICE_PROFILE</code>: The platform profile returns the profile |
| that is implemented by the OpenCL framework. If the platform profile returned is |
| FULL_PROFILE, the OpenCL framework will support devices that are FULL_PROFILE and may |
| also support devices that are <code class="constant">EMBEDDED_PROFILE</code>. The compiler must |
| be available for all devices i.e. <code class="constant">CL_DEVICE_COMPILER_AVAILABLE</code> |
| is <code class="constant">CL_TRUE</code>. If the platform profile returned |
| is <code class="constant">EMBEDDED_PROFILE</code>, then devices that are only |
| <code class="constant">EMBEDDED_PROFILE</code> are supported. |
| </p> |
| <p> |
| The device queries described the table above should return the |
| same information for a root-level device i.e. a device returned by |
| <a class="citerefentry" href="clGetDeviceIDs.html"><span class="citerefentry"><span class="refentrytitle">clGetDeviceIDs</span></span></a> and any |
| sub-devices created from this device except for the following queries: |
| |
| </p> |
| <div class="itemizedlist"> |
| <ul class="itemizedlist" style="list-style-type: disc; "> |
| <li class="listitem" style="list-style-type: disc"> |
| <code class="constant">CL_DEVICE_GLOBAL_MEM_CACHE_SIZE</code> |
| </li> |
| <li class="listitem" style="list-style-type: disc"> |
| <code class="constant">CL_DEVICE_BUILT_IN_KERNELS</code> |
| </li> |
| <li class="listitem" style="list-style-type: disc"> |
| <code class="constant">CL_DEVICE_PARENT_DEVICE</code> |
| </li> |
| <li class="listitem" style="list-style-type: disc"> |
| <code class="constant">CL_DEVICE_PARTITION_TYPE</code> |
| </li> |
| <li class="listitem" style="list-style-type: disc"> |
| <code class="constant">CL_DEVICE_REFERENCE_COUNT</code> |
| </li> |
| </ul> |
| </div> |
| <p> |
| </p> |
| </div> |
| <div class="refsect1"> |
| <a id="errors"></a> |
| <h2>Errors</h2> |
| <p> |
| <code class="function">clGetDeviceInfo</code> returns <span class="errorname">CL_SUCCESS</span> if the |
| function is executed successfully. Otherwise, it returns the following: |
| </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_DEVICE</span> if <code class="varname">device</code> is not valid. |
| </li> |
| <li class="listitem" style="list-style-type: disc"><span class="errorname">CL_INVALID_VALUE</span> if <code class="varname">param_name</code> |
| is not one of the supported values or if size in bytes specified by |
| <code class="varname">param_value_size</code> is less than size of return type as shown in the |
| table above and <code class="varname">param_value</code> is not a <span class="errorname">NULL</span> |
| value or if param_name is a value that is available as an extension and the corresponding |
| extension is 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="http://www.khronos.org/registry/cl/specs/opencl-1.2.pdf#page=37" target="OpenCL Spec">OpenCL Specification</a> |
| </p> |
| </div> |
| <div class="refsect1"> |
| <a id="seealso"></a> |
| <h2>Also see</h2> |
| <p> |
| <a class="citerefentry" href="clGetDeviceIDs.html"><span class="citerefentry"><span class="refentrytitle">clGetDeviceIDs</span></span></a>, |
| <a class="citerefentry" href="cl_khr_fp64.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_fp64</span></span></a>, |
| <a class="citerefentry" href="constant.html"><span class="citerefentry"><span class="refentrytitle">__constant</span></span></a>, |
| <a class="citerefentry" href="clCreateCommandQueue.html"><span class="citerefentry"><span class="refentrytitle">clCreateCommandQueue</span></span></a>, |
| <a class="citerefentry" href="clRetainCommandQueue.html"><span class="citerefentry"><span class="refentrytitle">clRetainCommandQueue</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-2011 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> |