<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
              "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry>
	<refentryinfo>
		<keywordset><keyword>clGetDeviceInfo</keyword></keywordset>
	</refentryinfo>
    <refmeta>
        <refentrytitle>clGetDeviceInfo</refentrytitle>
		<refmiscinfo>
            <copyright>
                <year>2007-2009</year>
                <holder>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.</holder>
            </copyright>
        </refmiscinfo>
        <manvolnum>2</manvolnum>
    </refmeta>
	

<!-- ================================ SYNOPSIS -->	

  <refnamediv id="clGetDeviceInfo">
<refname>clGetDeviceInfo</refname> 
           <refpurpose>Get information about an OpenCL device.</refpurpose> 
    </refnamediv> 
    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef><link xlink:href="scalarDataTypes.html">cl_int</link> <function>clGetDeviceInfo</function></funcdef>
                <paramdef><link xlink:href="abstractDataTypes.html">cl_device_id</link><parameter>device</parameter></paramdef>
<paramdef><link xlink:href="enums.html#cl_device_info">cl_device_info</link><parameter>param_name</parameter></paramdef>
<paramdef><link xlink:href="scalarDataTypes.html">size_t</link><parameter>param_value_size</parameter></paramdef>					
<paramdef><link xlink:href="scalarDataTypes.html">void</link><parameter>*param_value</parameter></paramdef>	
<paramdef><link xlink:href="scalarDataTypes.html">size_t</link><parameter>*param_value_size_ret</parameter></paramdef>	  
            </funcprototype>
        </funcsynopsis>     
    </refsynopsisdiv>

<!-- ================================ PARAMETERS -->	

    <refsect1 id="parameters"><title>Parameters</title>
        <variablelist>
        <varlistentry>
            <term><varname>device</varname></term>
            <listitem>
                <para>Refers to the device returned by <citerefentry><refentrytitle>clGetDeviceIDs</refentrytitle></citerefentry>.</para>
	        </listitem>
		</varlistentry>
        <varlistentry>
            <term><varname>param_name</varname></term>
            <listitem>
                <para>An enumeration constant that identifies the device information being queried. It can be one of the values as specified in the table below.</para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><varname>param_value</varname></term>
            <listitem>
                <para>A pointer to memory location where appropriate values for a given <varname>param_name</varname> as specified in the table below will be returned. If <varname>param_value</varname> is NULL, it is ignored.</para>
            </listitem>
        </varlistentry>		
		<varlistentry>
            <term><varname>param_value_size</varname></term>
            <listitem>
                <para>Specifies the size in bytes of memory pointed to by <varname>param_value</varname>. This size in bytes must be greater than or equal to size of return type specified in the table below.</para>
            </listitem>
        </varlistentry>	
<varlistentry>
            <term><varname>param_value_size_ret</varname></term>
            <listitem>
                <para>Returns the actual size in bytes of data being queried by <varname>param_value</varname>. If <varname>param_value_size_ret</varname> is NULL, it is ignored</para>
            </listitem>
        </varlistentry>
<!-- ================================ PARAMETER TABLE (OPTIONAL) -->		
        <varlistentry>
            <term></term>
            <listitem>
				<informaltable frame="all"><tgroup cols="2" align="left" colsep="1" rowsep="1">
	<colspec colname="col1" colnum="1" />
	<colspec colname="col2" colnum="2" />
	<thead>
		<row>
		<entry>cl_device_info</entry>
		<entry>Description</entry>
		</row>
	</thead>
	<tbody>
		<row>
			<entry><constant>CL_DEVICE_ADDRESS_BITS</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>The default compute device address space size specified as an unsigned integer value in bits. Currently supported values are 32 or 64 bits.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_AVAILABLE</constant></entry>
			<entry><para>Return type: cl_bool</para>
			<para>Is CL_TRUE if the device is available and CL_FALSE if the device is not available.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_COMPILER_AVAILABLE</constant></entry>
			<entry><para>Return type: cl_bool</para>
			<para>Is CL_FALSE if the implementation does not have a compiler available to compile the program source. Is CL_TRUE if the compiler is available. This can be CL_FALSE for the embededed platform profile only.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_DOUBLE_FP_CONFIG</constant></entry>
			<entry><para>Return type: cl_device_fp_config</para>
			<para>Describes the OPTIONAL double precision floating-point capability of the OpenCL device. This is a bit-field that describes one or more of the following values:</para><itemizedlist mark="disc">
		<listitem>CL_FP_DENORM - denorms are supported.</listitem>
		<listitem>CL_FP_INF_NAN - INF and NaNs are supported.</listitem>
		<listitem>CL_FP_ROUND_TO_NEAREST - round to nearest even rounding mode supported.</listitem>
		<listitem>CL_FP_ROUND_TO_ZERO - round to zero rounding mode supported.</listitem>
		<listitem>CL_FP_ROUND_TO_INF - round to +ve and -ve infinity rounding modes supported.</listitem>
		<listitem>CL_FP_FMA - IEEE754-2008 fused multiply-add is supported. </listitem>
	</itemizedlist>
<para>The mandated minimum double precision floating-point capability is CL_FP_FMA |  CL_FP_ROUND_TO_NEAREST | CL_FP_ROUND_TO_ZERO | CL_FP_ROUND_TO_INF | CL_FP_INF_NAN | CL_FP_DENORM.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_ENDIAN_LITTLE</constant></entry>
			<entry><para>Return type: cl_bool</para>
			<para>Is CL_TRUE if the OpenCL device is a little endian device and CL_FALSE otherwise.</para></entry>
		</row>		
		<row>
			<entry><constant>CL_DEVICE_ERROR_CORRECTION_SUPPORT</constant></entry>
			<entry><para>Return type: cl_bool</para>
			<para>Is CL_TRUE if the device implements error correction for the memories, caches, registers etc. in the device. Is CL_FALSE if the device does not implement error correction. This can be a requirement for certain clients of OpenCL.</para></entry>
		</row>		
		<row>
			<entry><constant>CL_DEVICE_EXECUTION_CAPABILITIES</constant></entry>
			<entry><para>Return type: cl_device_exec_capabilities</para>
			<para>Describes the execution capabilities of the device. This is a bit-field that describes one or more of the following values:</para>
<para>CL_EXEC_KERNEL - The OpenCL device can execute OpenCL kernels.</para>
<para>CL_EXEC_NATIVE_KERNEL - The OpenCL device can execute native kernels.</para>
<para>The mandated minimum capability is CL_EXEC_KERNEL.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_EXTENSIONS</constant></entry>
			<entry><para>Return type: char[]</para>
			<para>Returns a space separated list of extension names (the extension names themselves do not contain any spaces). The list of extension names returned currently can include one or more of the following approved extension names:</para>
<para>
<literallayout><citerefentry><refentrytitle>cl_khr_fp64</refentrytitle></citerefentry>
<citerefentry><refentrytitle>cl_khr_select_fprounding_mode</refentrytitle></citerefentry>
<citerefentry><refentrytitle>cl_khr_global_int32_base_atomics</refentrytitle></citerefentry>
<citerefentry><refentrytitle>cl_khr_global_int32_extended_atomics</refentrytitle></citerefentry>
<citerefentry><refentrytitle>cl_khr_local_int32_base_atomics</refentrytitle></citerefentry>
<citerefentry><refentrytitle>cl_khr_local_int32_extended_atomics</refentrytitle></citerefentry>
<citerefentry><refentrytitle>cl_khr_int64_base_atomics</refentrytitle></citerefentry>
<citerefentry><refentrytitle>cl_khr_int64_extended_atomics</refentrytitle></citerefentry>
<citerefentry><refentrytitle>cl_khr_3d_image_writes</refentrytitle></citerefentry>
<citerefentry><refentrytitle>cl_khr_byte_addressable_store</refentrytitle></citerefentry>
<citerefentry><refentrytitle>cl_khr_fp16</refentrytitle></citerefentry></literallayout>
</para>
</entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_GLOBAL_MEM_CACHE_SIZE</constant></entry>
			<entry><para>Return type: cl_ulong</para>
			<para>Size of global memory cache in bytes.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_GLOBAL_MEM_CACHE_TYPE</constant></entry>
			<entry><para>Return type: cl_device_mem_cache_type</para>
			<para>Type of global memory cache supported. Valid values are: CL_NONE,
CL_READ_ONLY_CACHE, and CL_READ_WRITE_CACHE.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>Size of global memory cache line in bytes.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_GLOBAL_MEM_SIZE</constant></entry>
			<entry><para>Return type: cl_ulong</para>
			<para>Size of global device memory in bytes.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_HALF_FP_CONFIG</constant></entry>
			<entry><para>Return type: cl_device_fp_config</para>
			<para>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:</para><itemizedlist mark="disc">
		<listitem>CL_FP_DENORM - denorms are supported.</listitem>
		<listitem>CL_FP_INF_NAN - INF and NaNs are supported.</listitem>
		<listitem>CL_FP_ROUND_TO_NEAREST - round to nearest even rounding mode supported.</listitem>
		<listitem>CL_FP_ROUND_TO_ZERO - round to zero rounding mode supported.</listitem>
		<listitem>CL_FP_ROUND_TO_INF - round to +ve and -ve infinity rounding modes supported.</listitem>
		<listitem>CL_FP_FMA - IEEE754-2008 fused multiply-add is supported. </listitem>
	</itemizedlist>
<para>The required minimum half precision floating-point capability as implemented by this extension is CL_FP_ROUND_TO_ZERO |
CL_FP_ROUND_TO_INF | CL_FP_INF_NAN.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_IMAGE_SUPPORT</constant></entry>
			<entry><para>Return type: cl_bool</para>
			<para>Is CL_TRUE if images are supported by the OpenCL device and CL_FALSE
otherwise.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_IMAGE2D_MAX_HEIGHT</constant></entry>
			<entry><para>Return type: size_t</para>
			<para>Max height of 2D image in pixels. The minimum value is 8192 if
CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_IMAGE2D_MAX_WIDTH</constant></entry>
			<entry><para>Return type: size_t</para>
			<para>Max width of 2D image in pixels. The minimum value is 8192 if
CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_IMAGE3D_MAX_DEPTH</constant></entry>
			<entry><para>Return type: size_t</para>
			<para>Max depth of 3D image in pixels. The minimum value is 2048 if
CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_IMAGE3D_MAX_HEIGHT</constant></entry>
			<entry><para>Return type: size_t</para>
			<para>Max height of 3D image in pixels. The minimum value is 2048 if
CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_IMAGE3D_MAX_WIDTH</constant></entry>
			<entry><para>Return type: size_t</para>
			<para>Max width of 3D image in pixels. The minimum value is 2048 if
CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_LOCAL_MEM_SIZE</constant></entry>
			<entry><para>Return type: cl_ulong</para>
			<para>Size of local memory arena in bytes. The minimum value is 16 KB.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_LOCAL_MEM_TYPE</constant></entry>
			<entry><para>Return type: cl_device_local_mem_type</para>
			<para>Type of local memory supported. This can be set to CL_LOCAL implying
dedicated local memory storage such as SRAM, or CL_GLOBAL.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_CLOCK_FREQUENCY</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>Maximum configured clock frequency of the device in MHz.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_COMPUTE_UNITS</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>The number of parallel compute cores on the OpenCL device. The minimum value is 1.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_CONSTANT_ARGS</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>Max number of arguments declared with the <citerefentry href="constant"><refentrytitle>__constant</refentrytitle></citerefentry> qualifier in a
kernel. The minimum value is 8.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE</constant></entry>
			<entry><para>Return type: cl_ulong</para>
			<para>Max size in bytes of a constant buffer allocation. The minimum value is 64 KB.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_MEM_ALLOC_SIZE</constant></entry>
			<entry><para>Return type: cl_ulong</para>
			<para>Max size of memory object allocation in bytes. The minimum value is max (1/4th of CL_DEVICE_GLOBAL_MEM_SIZE, 128*1024*1024)</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_PARAMETER_SIZE</constant></entry>
			<entry><para>Return type: size_t</para>
			<para>Max size in bytes of the arguments that can be passed to a kernel. The minimum value is 256.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_READ_IMAGE_ARGS</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>Max number of simultaneous image objects that can be read by a kernel. The minimum value is 128 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_SAMPLERS</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>Maximum number of samplers that can be used in a kernel. The minimum value is 16 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE. (Also see <citerefentry><refentrytitle>sampler_t</refentrytitle></citerefentry>.)</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_WORK_GROUP_SIZE</constant></entry>
			<entry><para>Return type: size_t</para>
			<para>Maximum number of work-items in a work-group executing a kernel using
the data parallel execution model. (Refer to <citerefentry><refentrytitle>clEnqueueNDRangeKernel</refentrytitle></citerefentry>). The minimum value is 1.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>Maximum dimensions that specify the global and local work-item IDs used by the data parallel execution model. (Refer to <citerefentry><refentrytitle>clEnqueueNDRangeKernel</refentrytitle></citerefentry>). The minimum value is 3.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_WORK_ITEM_SIZES</constant></entry>
			<entry><para>Return type: size_t[]</para>
			<para>Maximum number of work-items that can be specified in each dimension of the work-group to <citerefentry><refentrytitle>clEnqueueNDRangeKernel</refentrytitle></citerefentry>.</para>
<para>Returns <varname>n</varname> size_t entries, where <varname>n</varname> is the value returned by the query for CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS. The minimum value is (1, 1, 1).</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MAX_WRITE_IMAGE_ARGS</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>Max number of simultaneous image objects that can be written to by a
kernel. The minimum value is 8 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MEM_BASE_ADDR_ALIGN</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>Describes the alignment in bits of the base address of any allocated memory object.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>The smallest alignment in bytes which can be used for any data type.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_NAME</constant></entry>
			<entry><para>Return type: char[]</para>
			<para>Device name string.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_PLATFORM</constant></entry>
			<entry><para>Return type: <link xlink:href="abstractDataTypes.html">cl_platform_id</link></para>
			<para>The platform associated with this device.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR</constant>
<para><constant>CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT</constant></para>
<para><constant>CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT</constant></para>
<para><constant>CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG</constant></para>
<para><constant>CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT</constant></para>
<para><constant>CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE</constant></para></entry>
			<entry><para>Return type: cl_uint</para>
			<para>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.</para>
<para>If the <citerefentry><refentrytitle>cl_khr_fp64</refentrytitle></citerefentry> extension is not supported, CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE must return 0.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_PROFILE</constant></entry>
			<entry><para>Return type: char[]</para>
			<para>OpenCL profile string. Returns the profile name supported by the device (see note). The profile name returned can be one of the following strings:</para>
<para>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).</para>
<para>EMBEDDED_PROFILE - if the device supports the OpenCL embedded profile.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_PROFILING_TIMER_RESOLUTION</constant></entry>
			<entry><para>Return type: size_t</para>
			<para>Describes the resolution of device timer. This is measured in nanoseconds.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_QUEUE_PROPERTIES</constant></entry>
			<entry><para>Return type: cl_command_queue_properties</para>
			<para>Describes the command-queue properties supported by the device.
This is a bit-field that describes one or more of the following values:</para>
<para>CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE</para>
<para>CL_QUEUE_PROFILING_ENABLE</para>
<para>These properties are described in the table for  
<citerefentry><refentrytitle>clCreateCommandQueue</refentrytitle></citerefentry>. The mandated minimum capability is CL_QUEUE_PROFILING_ENABLE.</para>
</entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_SINGLE_FP_CONFIG</constant></entry>
			<entry><para>Return type: cl_device_fp_config</para>
			<para>Describes single precision floating-point capability of the device. This is a bit-field that describes one or more of the following values:</para>
<para>CL_FP_DENORM - denorms are supported</para>
<para>CL_FP_INF_NAN - INF and quiet NaNs are supported</para>
<para>CL_FP_ROUND_TO_NEAREST - round to nearest even rounding mode supported</para>
<para>CL_FP_ROUND_TO_ZERO - round to zero rounding mode supported</para>
<para>CL_FP_ROUND_TO_INF - round to +ve and -ve infinity rounding modes supported</para>
<para>CL_FP_FMA - IEEE754-2008 fused multiply-add is supported</para>
<para>The mandated minimum floating-point capability is CL_FP_ROUND_TO_NEAREST | CL_FP_INF_NAN.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_TYPE</constant></entry>
			<entry><para>Return type: cl_device_type</para>
			<para>The OpenCL device type. Currently supported values are one of or a combination of: CL_DEVICE_TYPE_CPU, CL_DEVICE_TYPE_GPU, CL_DEVICE_TYPE_ACCELERATOR, or CL_DEVICE_TYPE_DEFAULT.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_VENDOR</constant></entry>
			<entry><para>Return type: char[]</para>
			<para>Vendor name string.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_VENDOR_ID</constant></entry>
			<entry><para>Return type: cl_uint</para>
			<para>A unique device vendor identifier. An example of a unique device identifier could be the PCIe ID.</para>
			</entry>
		</row>
		<row>
			<entry><constant>CL_DEVICE_VERSION</constant></entry>
			<entry><para>Return type: char[]</para>
			<para>OpenCL version string. Returns the OpenCL version supported by the
device. This version string has the following format:</para>
<para><varname>OpenCL&lt;space&gt;&lt;major_version.minor_version&gt;&lt;space&gt;&lt;vendor-specific information&gt;</varname></para>
<para>The <varname>major_version.minor_version</varname> value returned will be 1.0.</para></entry>
		</row>
		<row>
			<entry><constant>CL_DRIVER_VERSION</constant></entry>
			<entry><para>Return type: char[]</para>
			<para>OpenCL software driver version string in the form  <varname>major_number.minor_number</varname>.</para></entry>
		</row>
		

	</tbody>	
		
	</tgroup></informaltable>	
            </listitem>
        </varlistentry>
<!-- ================================ END PARAMETER TABLE  -->			

        </variablelist>
    </refsect1>
	

<!-- ================================ NOTES  -->
    <refsect1 id="notes"><title>Notes</title>
        <para>
            CL_DEVICE_PROFILE: 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 EMBEDDED_PROFILE. The compiler must be available for all devices i.e. CL_DEVICE_COMPILER_AVAILABLE is CL_TRUE. If the platform profile returned is EMBEDDED_PROFILE, then devices that are only EMBEDDED_PROFILE are supported.
		</para>
    </refsect1>		
		
	
<!-- ================================ ERRORS  -->
    <refsect1 id="errors"><title>Errors</title>
	<para><function>clGetDeviceInfo</function> returns <errorname>CL_SUCCESS</errorname> if the function is executed successfully. Otherwise, it returns the following:</para>
<itemizedlist mark="disc">
		<listitem>
            <errorname>CL_INVALID_DEVICE</errorname> if <varname>device</varname> is not valid.
		</listitem>
		<listitem>
			<errorname>CL_INVALID_VALUE</errorname> if <varname>param_name</varname> is not one of the supported values or if size in bytes specified by <varname>param_value_size</varname> is less than size of return type as shown in the table above and <varname>param_value</varname> is not a <errorname>NULL</errorname> value.
		</listitem>
		</itemizedlist>
    </refsect1>
	
<!-- ================================ EXAMPLE  -->
<!-- DO NOT DELETE IN CASE AN EXAMPLE IS ADDED IN THE FUTURE -->
<!--
    <refsect2 id="example1">
        <title>
            Example
        </title>

        <informaltable frame="none">
            <tgroup cols="1" align="left" colsep="0" rowsep="0">
                <colspec colname="col1" colnum="1" />
                <tbody>
                    <row>
                        <entry>
                            Example goes here - it will be set in "code" type with white space preserved.
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>
-->

<!-- ================================ SPECIFICATION  -->		
<!-- Set the "uri" attribute in the <olink /> element to the "named destination" for the PDF page
-->		
    <refsect1 id="specification"><title>Specification</title>
        <para><imageobject><imagedata fileref="pdficon_small1.gif" format="gif" /></imageobject>
            <olink uri="clGetDeviceInfo">OpenCL Specification</olink>
        </para>
    </refsect1>  	

<!-- ================================ ALSO SEE  -->	
    <refsect1 id="seealso"><title>Also see</title>
        <para>
			<citerefentry><refentrytitle>clGetDeviceIDs</refentrytitle></citerefentry>, 
            <citerefentry><refentrytitle>cl_khr_fp64</refentrytitle></citerefentry>, 
			<citerefentry href="constant"><refentrytitle>__constant</refentrytitle></citerefentry>, 
			<citerefentry><refentrytitle>clCreateCommandQueue</refentrytitle></citerefentry>, 
			<citerefentry><refentrytitle>clRetainCommandQueue</refentrytitle></citerefentry>, 
			<citerefentry><refentrytitle>clEnqueueNDRangeKernel</refentrytitle></citerefentry> 

        </para>
    </refsect1>


<!-- ============================== COPYRIGHT -->
<!-- Content included from copyright.inc.xsl -->

    <refsect3 id="Copyright"><title></title>
			Copyright &#169; 
    </refsect3>

</refentry>

