You always make the comparison between D3D and OpenGL and then draw the same conclusion for CUDA. D3D is tied to Windows. It's only as popular as Windows is. D3D is not used in compute environments, for instance, because they use Linux. It's also not heavily relied on in many graphics apps. Why? Because it's reliant on Windows and many of them run on OS X or Linux too. Besides, I'm not saying OpenCL will supplant CUDA. Or OpenCL is better than CUDA. Or anything else. I'm just saying that CUDA being proprietary requires support from it's vendor. Just as your D3D does. Without nVidia driving CUDA nobody would have ever used it. Without Microsoft nobody would have used D3D. Without AMD people will still use OpenCL.