Originally Posted by
Slicker
CUDA = nVidia's GPU language. Looks like C but isn't. Pisses off developers who think it is.
OpenCL = nVidia's latest GPU language (which they pretend wasn't based on CUDA). Runs slower. I guess newer isn't always better. nVidia never really expected AMD to drop CAL and support only OpenCL, so before OpenCL catches on, nVidia needed something new to put the focus back on them.
OpenACC = This is like CUDA except that the GPU code will write itself. Microsoft and Intel just have to change their compilers to generate the GPU code on the fly so the developer can remain a simpleton. It will work just like OpenMP. By the way, if OpenACC is supposed to be "not just for computer scientists", then I'd like to ask the question: many of you have dabbled in development at one time or another. How many of you have done ANY development at all work has mastered OpenMP? Or, better yet, How many of you who are computer saavy but non-computer scientists have used OpenMP? The article implied that since you all use OpenMP you could also use OpenACC. He must have bought some really good stuff and smoked it all himself before he wrote that article. The assumption is that once a user can specify to link with OpenACC, that the rest of their code will automaticlly be written and optimized to be run in parallel. That's like giving someone a lighter and expecting them to be an instant survival expert. OpenACC is just a tool. It isn't knowledge. In fact, right now it is just an idea for some future tool. Vaporware.
The last time I checked, nVidia wasn't an industry leader in writing compiler software. That means Microsoft, Intel, and Apple have to do all the work so that nVidia can cash in on it. When that happens will depend upon how much money nVidia throws at the other companies to get them to do its bidding. My guess is 2015. Or, if OpenCL can't be improved, 2013 so they can sweep that bad idea under the rug.
[Note: I was up until 2am doing an emergency bug fix and didn't sleep well after that so the opinions expressed here may not even be my own.]