I may be wrong but I think nvidia is betting too high for CUDA.
Microsoft recently released their first server OS for HPC. They released DirectCompute in the last two releases of the DX spec, I doubt that's only for games. I guess they want to compete with Linux/Unix in the HPC front as otherwise the wouldn't release an OS for it and that involves providing a good performing, powerful and familiar API (specially the 'familiar' part is what Microsoft is good at) for GPGPUs that is vendor agnostic.
At some point in time they nvidia and MS will be competing on software. MS will be able to offer an API for AMD and nvidia (and Intel?) cards while nvidia will offer an API for their cards. Who will win?
Use the same reasoning for OpenCL and Linux/Unix(/Mac) world.
Add to this that, at some point in time, AMD will start to take GPGPU more seriously (probably when their OpenCL API starts getting mature enough). And Intel. Add again APUs.
How much will CUDA pay off in the next 2, 5 and 10 years? I see diminishing returns here, while their hardware will be compromised size-wise (and more expensive in the consumer market, who hardly cares anything about GPGPU performance) just to support a market that they currently dominate, but that will be quite more contested in a couple of years. A software API is a long-term investment, and in this case their ahead start won't be worth anything in 2015 even if they are alive by then. CUDA is something cool to give a nice income of cash in the PRO and HPC market for a few years with high margin parts but nothing more, without forgetting that their primary target market is consumer electronics.
I see a black screen of death coming in for the CUDA based OS running on Fermi... /sarcasm
About why is this relevant to this topic and not completely unrelated, I think there is a relation between CUDA being pushed hard by nvidia and their architectural problems in the consumer front and that if they were more in touch with the reality of their primary target market they would be more successful. Please let me know if this post doesn't make any sense, I'm having trouble trying to make my points clear recently![]()
From S/A forums.
Is Mircrosoft makeing a differnt version of cuda that works with intel/amd/nvidia (all) cards?
Others are saying the most common use for GPGPU is encodeing... and that Intel new CPUs will have a unit that does that and beats the GPUs at it.
Is Cuda destined to fail? What do you guys think on this matter?