IBM OpenCL Common Runtime SDK

I found that IBM‘s alphaWorks has a OpenCL Common Runtime SDK Legacy Communities - IBM Community 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.

This seems similar to Apple‘s platform.

If you mean that Apple supports both CPU and GPUs in one context, then you’ll also need to include AMD in that statement.

Anyone know how this is done and how much work it would take to implement it?

The PDF document in the zip file explains how it works. Jokingly, it took lots of fun software to unite multiple underlying implementations using the OpenCL 1.1 API to create a unified context, buffer sharing, and command queue coordination among other things.