cl_int clGetDeviceIDs(
| cl_platform_id platform, |
| cl_device_type device_type, | |
| cl_uint num_entries, | |
| cl_device_id *devices, | |
cl_uint *num_devices) |
platform
Refers to the platform ID returned by clGetPlatformIDs or can be NULL. If platform is NULL, the behavior is implementation-defined.
device_type
A bitfield that identifies the type of OpenCL device. The device_type can be used to query specific OpenCL devices or all OpenCL devices available. The valid values for device_type are specified in the following table.
| cl_device_type | Description |
|---|---|
CL_DEVICE_TYPE_CPU
|
An OpenCL device that is the host processor. The host processor runs the OpenCL implementations and is a single or multi-core CPU. |
CL_DEVICE_TYPE_GPU
|
An OpenCL device that is a GPU. By this we mean that the device can also be used to accelerate a 3D API such as OpenGL or DirectX. |
CL_DEVICE_TYPE_ACCELERATOR
|
Dedicated OpenCL accelerators (for example the IBM CELL Blade). These devices communicate with the host processor using a peripheral interconnect such as PCIe. |
CL_DEVICE_TYPE_DEFAULT
|
The default OpenCL device in the system. |
CL_DEVICE_TYPE_ALL
|
All OpenCL devices available in the system. |
num_entries
The number of cl_device entries that can be added to devices. If devices is not NULL, the num_entries must be greater than zero.
devices
A list of OpenCL devices found. The cl_device_id values returned in devices can be used to identify a specific OpenCL device. If devices argument is NULL, this argument is ignored. The number of OpenCL devices returned is the mininum of the value specified by num_entries or the number of OpenCL devices whose type matches device_type.
num_devices
The number of OpenCL devices available that match device_type. If num_devices is NULL, this argument is ignored.
clGetDeviceIDs may return all or a subset of the actual physical devices present in the platform and that match device_type.
The application can query specific capabilities of the OpenCL device(s) returned by clGetDeviceIDs. This can be used by the application to determine which device(s) to use.
clGetDeviceIDs returns CL_SUCCESS if the function is executed successfully. Otherwise it returns the following:
platform is not a valid platform.
device_type is not a valid value.
num_entries is equal to zero and device_type is not NULL or if both num_devices and device_type are NULL.
device_type were found.