There are some AMD GPUs that supports CAL only. And some that supports both OpenCL and CAL. There can be some new devices that supports OpenCL only.
So, if mix of such devices presents in PC one should know what physical device can accept only work for CAL-based app and what for OpenCL-based app.
I'm working in distributed computation project that attempts to load all available computational resourses with most relevant work for them.
So, if device supports both OpenCL and CAL we should send only work for OpenCL (or CAL in another subprojects) based app. And don;t send work for app with another supported API. Hence, we should know how to identify same physical device in CAL enueration API and OpenCL enumeration API.
Perhaps this question arose before. Than please point me to relevant info.
Once again. I need a way to say that this particular device in CAL is the same physical device as some particular device in OpenCL in case if device supports both APIs.