I'm currently doing a lot of OpenCL benachmarking. I have a PC with an AMD CPU and an AMD GPU running under Vista x64. Both the APP / Stream SDK 2.3 and the regular Catalyst 11.1 driver are installed. That configuration works fine, I'm seeing both CPU and GPU devices.
However, if I remove the AMD GPU (without uninstalling the Catalyst driver, as I'm going to plug-in the AMD GPU again soon) in order to replace it with an NVIDIA GPU, the call to clGetPlatformIDs() crashes. Uninstalling the Catayst driver or manually renaming the AMD OpenCL ICD entries in the registry works around the crash (although the latter also removes the CPU device, obviously).
It seems that a check for the presence of an AMD GPU is missing, and the OpenCL ICD assumes that just because the Catalyst driver files are there, it can use an AMD GPU. Having to uninstall / reinstall the Catalyst drivers really is very inconvenient if you do a lot of GPU swapping for benchmarking. Any chance to get this fixed?