Parameters

An enumeration constant that identifies the device information being queried. It can be one of the values as specified in the table below.

param_value

A pointer to memory location where appropriate values for a given param_name as specified in the table below will be returned. If param_value is NULL, it is ignored.

param_value_size

Specifies the size in bytes of memory pointed to by param_value. This size in bytes must be greater than or equal to size of return type specified in the table below.

param_value_size_ret

Returns the actual size in bytes of data being queried by param_value. If param_value_size_ret is NULL, it is ignored

cl_device_info

Description

CL_DEVICE_ADDRESS_BITS

Return type: cl_uint

The default compute device address space size specified as an unsigned integer value in bits. Currently supported values are 32 or 64 bits.

CL_DEVICE_AVAILABLE

Return type: cl_bool

Is CL_TRUE if the device is available and CL_FALSE if the device is not available.

CL_DEVICE_COMPILER_AVAILABLE

Return type: cl_bool

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.

CL_DEVICE_DOUBLE_FP_CONFIG

Return type: cl_device_fp_config

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:

Is CL_TRUE if the OpenCL device is a little endian device and CL_FALSE otherwise.

CL_DEVICE_ERROR_CORRECTION_SUPPORT

Return type: cl_bool

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.

CL_DEVICE_EXECUTION_CAPABILITIES

Return type: cl_device_exec_capabilities

Describes the execution capabilities of the device. This is a bit-field that describes one or more of the following values:

CL_EXEC_KERNEL - The OpenCL device can execute OpenCL kernels.

CL_EXEC_NATIVE_KERNEL - The OpenCL device can execute native kernels.

The mandated minimum capability is CL_EXEC_KERNEL.

CL_DEVICE_EXTENSIONS

Return type: char[]

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:

OpenCL software driver version string in the form major_number.minor_number.

Notes

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.

Errors

clGetDeviceInfo returns CL_SUCCESS if the function is executed successfully. Otherwise, it returns the following:

CL_INVALID_DEVICE if device is not valid.

CL_INVALID_VALUE if param_name is not one of the supported values or if size in bytes specified by param_value_size is less than size of return type as shown in the table above and param_value is not a NULL value.