Of course anyone developing for CUDA instead of OpenCL already made the choice that they were going to lock themselves out of any non-NVidia hardware.
This isn't some brand new conundrum Apple has suddenly created. This is always the choice that's existed and if you chose CUDA you made that choice long ago. Now suddenly people want to cry about it. Should have seen this train coming when Apple came out with OpenCL years ago and started pushing it because it wasn't tied to proprietary hardware.
If any developer locked themselves onto Nvidia, or any user locked themselves onto an app that has no plans to move to OpenCL, they shouldn't be surprised when they're more limited in what machines they could buy. What's next, demanding that Apple offer both Nvidia and AMD GPUs on Macbook Pros? How about PowerPC chips for everyone who still has PowerPC apps?
This is a post just reveling in spurious logic:
- This is a brand new conundrum Apple has suddenly created. Right now, and for quite some time, you could develop against CUDA or OpenCL using a Mac Pro. Or hell, if you really wanted to, you could have an ATI/AMD and an nVidia in the same machine. Now you can't as far as we can tell. How is that not brand new?
- I saw this train coming, but I had hope Apple would maintain their flexibility. Because there are industries, including industries where Apple machines are heavily used, where they are not what drives purchasing decisions. I develop for CUDA because the folks who built the multi-million dollar cluster care not at all about what Apple is putting into their workstations. So yeah, I've seen it coming, but that doesn't mean I necessarily need to be happy at a loss of flexibility in the Mac Pro, and Apple having spent a couple years now slowly drawing a box around what they define as "Pro" that no longer includes me.
- A Macbook Pro isn't a workstation. And Macbook Pros, and the Powerbooks before them, have always had "Whatever GPU comes in the box" as a limitation to them. A week ago, this
wasn't a problem in the Mac Pro. Now it is.
- The PowerPC analogy is flawed. First, Apple had Rosetta in their OS for quite some time, allowing legacy PowerPC code to continue to function. Second, there was a technical reason to migrate from the PowerPC platform - there really isn't a clear technical reason to reduce the number of GPU options.
The cylinder Mac Pro represents a loss of options and flexibility, and it happens to be in an area I care about. Enough that when it comes time to replace my current Mac Pro, or buy more machines for my lab, it's going to involve a considerable amount of thought and weighing of options, instead of just "Buy a Mac and be done".
----------
There is no difference in the job between OpenCL and CUDA.
There is if you're using code optimized for CUDA, developing against CUDA, or using specific libraries.
Apple could release a ARM based mac and as long the software kicks ass who cares?
Professionals using Intel's math libraries. Like me.
Just because you can't see a difference between the products doesn't mean they aren't there.