...though I am concerned that abstracting this stuff too much makes it less obvious how to optimize for the GPU. This may be a language for people that already have a solid grasp on GPU programming.
Um. OpenCL/Cuda look absolutely nothing like that.
Absolutely right. You can also include an external C file from C++ [1]; that makes it so much prettier.
[1] http://developer.amd.com/tools-and-sdks/heterogeneous-comput...
Happily, writing this answer I discovered that OS X 10.7+ ships with OpenCL already! Can't believe I missed that last time.
For anyone else wanting to try it, the first example is pretty straight forward:
https://developer.apple.com/library/mac/#documentation/Perfo...
(You'll also want the code examples at https://developer.apple.com/library/mac/#documentation/Perfo... )
That, coupled with the wretched GPU options available on the Mac Pro, make the current stack not really cost effective. (I think a 5770 is still $250.)
However, it is better than CPU-only.
I've found slaving a cheap Linux box with expensive GPUs to be a much more gratifying experience.
They both run on the same hardware, but I don't have enough (or really any) experience with OpenCL to say if it feels more or less powerful than GLSL.
Edit: It turns out that I have no OpenCL hardware support (mid 2011 MBA), so I guess the hardware isn't necessarily completely similar (i.e. it can support GLSL and not OpenCL)