True Heterogeneous computing Appreciate response from NVIDIA please.


This topic was discussed under “5-sec watchdog limit” and because of the subject this never got visibility among folks.

OpenCL spec says that it wants to create a unified view of heterogeneous devices on system and compute on top of them using OpenCL.

Unfortunately, the spec does NOT say how to do it.

For example, the spec says there will be a Platform Layer, run time layer and a compiler layer.

However, there is NO interface between platform layer and run-time layer and thus every1 is coming up with all 3 of them sepately.

Thus with OpenCL, I dont think you can do heterogeneous computation even between GPU and CPU.

NVIDIA has released an OpenCL implementation
AMD will release one.
intel probably will release another…

And, every1 will exist separately.

At run-time, your OpenCL application will run only on one of these…

Can some1 throw light on these issues? Am I missing something?

I’ve been giving feedback on this issue to everyone I know at the involved companies. People involved in the OpenCL spec seem to be aware of this issue, but I get the impression that it may be a while before Khronos releases a grand-unified file in a way similar to what is done for OpenGL already. I get the impression that we’ll probably be compiling apps against a single vendor’s library (and having to ship their .so) for a fair number of months yet. At least one person that I talked to involved in the Khronos OpenCL meetings knows about this so presumably this will see the light of day eventually. Until it does though, it’s going to be usable only for research purposes and one won’t realistically be able to ship apps to end users for some while yet, even if one or more vendors gets their drivers officially stamped as 100% conforming etc.




Thats an useful bit of info. THANKS a lot!