title: OpenCL device uniqueness
body: <p>Is there a way to get OpenCL to give me a list of all unique physical devices which have an OpenCL implementation available? I know how to iterate through the platform/device list but for instance, in my case, I have one Intel-provided platform which gives me an efficient device implementation for my CPU, and the APP platform which provides a fast implementation for my GPU but a terrible implementation for my CPU.</p>
  
  <p>Is there a way to work out that the two CPU devices are in fact the same physical device, so that I can choose the most efficient one and work with that, instead of using both and having them contend with each other for compute time on the single physical device?</p>
  
  <p>I have looked at <code>CL_DEVICE_VENDOR_ID</code> and <code>CL_DEVICE_NAME</code> but they don't solve my issues, the <code>CL_DEVICE_NAME</code> will be the same for two separate physical devices of the same model (dual GPU's) and <code>CL_DEVICE_VENDOR_ID</code> gives me a different ID for my CPU depending on the platform.</p>
  
  <p>An ideal solution would be some sort of unique physical device ID, but I'd be happy with manually altering the OpenCL configuration to rearrange the devices myself (if such a thing is possible).</p>