I found that IBM‘s alphaWorks has a OpenCL Common Runtime SDK http://www.alphaworks.ibm.com/tech/ocr that allows one to use a single platform to create contexts containing AMD, IBM, Intel, and NVIDIA devices. This seems similar to Apple‘s platform. Anyone know how this is done and how much work it would take to implement it? Does it have anything to do with creating a context using a zero terminated array for cl_context_properties? That always made me think one could just list all the platforms they wanted in a context.
BTW, now that I‘m testing out Fedora 15 I encountered a problem installing NVIDIA‘s OpenCL 1.1 developer driver (which is the only 1.1 driver from them and its a year old!) The newer drivers install fine but they only support OpenCL 1.0 and IBM‘s ocr requires OpenCL 1.1.