PDA

View Full Version : NVIDIA Eyes Post-CUDA Era of GPU Computing



Al
01-01-12, 10:37 PM
Could someone please decipher this for us non-programers. What does it mean for gpu crunching...good or bad?

http://www.hpcwire.com/hpcwire/2011-12-07/nvidia_eyes_post-cuda_era_of_gpu_computing.html

Thanks

DrPop
01-02-12, 02:14 PM
Hi Al,
Thanks for bringing this link - that would be something. If they could all get on board with the same open source code. Then it just depends on how efficient (i.e. GOOD) their compiler is. For example, you could write code for a project - let's say "Milky Way" and you'd only have to do it once. Then, you could just run the compiler each brand supplied for their hardware.
This would be fabulous - if - the compilers are really efficient. You would have a separate one for NVIDIA GPU, AMD GPU, Intel CPU, AMD CPU, even ARM CPU, Cray, etc...basically any company that wanted their hardware to "crunch" compute code would just make a compiler and hand it out to developers for free. :D

Slicker
01-03-12, 10:37 AM
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.]

Mike029
01-03-12, 11:53 AM
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.]

Thanks Slicker.. This is something I understand. I think.. :o