Any reason to choose CUDA over OpenCL?

Those are not the same, those are for integers. And not only that, these are part of an extension. Using those in you program will probably limit your running platform to NVIDIA. That is a bit my personal grip with OpenCL. Sure you can run code on more than one platform, but using any new fancy feature that was added to CUDA because the users asked for it, will mean you need to use an extension in OpenCL, and you have just magically lost your multi-platform ability. And also what was already mentioned before, performance is again another question.

Can’t say I found very much worth mentioning: some closed-source benchmarks not explaining what they measure, like this one.

Just ask you to add it! :)

It looks like you are right. It’s a shame, really.

All the below is my personal opinion:

OpenCL is a hurriedly developed in-adequate standard to realize true heterogeneous computing. I somehow think it is premature.
We have still not understood how to specify and realize parallelism in software and hardware.
Software should be able to specify the “problem” alone and a middleware should be able to “Generate” the parallel algorithm according to the backend. By allowing programmers to write the “parallel algorithm” by themselves, the openCL model kindaa limits what performance can be realized.
A solid research is needed and hopefully a true standard will emerge in times to come.

I’ve seen Tim Warburton this June reporting on (slightly) better performance in OpenCL than in CUDA.

Vasily

Take a look at StreamIt. To some degree that language / infrastructure does what you want. Still, Cuda/OpenCL are adequate languages to implement such more abstract tools.

I skimmed through the StreamIT paper from MIT. It is more suitable for “streaming” apps. Not a general one… but yeah, something more generic like that would be useful…

In fact, the quote below summarizes the crux.

StreamIt looks to be exploiting pipelined parallelism… just 1 form of parallelism. A more generic one would be a lot of help!