Is there any way to query the capabilities of an OpenCL compute unit, such as the number of processing elements contained?
For example, I have 2 OpenCL devices, with the following properties:
Type = GPU, Frequency = 550 MHz, Compute Units = 5, Max work item size = (256, 256, 256), Max work group size = 256
Type = CPU, Frequency = 1600 MHz, Compute units = 8, Max work item size = (1024, 1024, 1024), Max work group size = 1024
Without taking into account the properties of the compute units, it would seem that the CPU would be the better device to use, but that's not taking into account the vast differences between the number of processing elements in the CPU (4 single-precision?) + GPU (80 single-precision?).
Another question: when you have a GPU + CPU combined (Fusion?), then would this be seen by OpenCL as one device, with compute units of varying types/ number of processing elements, or as 2 separate devices?