In a move that’s going to surprise, well, almost no one, NVIDIA has announced that it’s porting its CUDA programming architecture to x86, which might help blow the doors open for broader adoption. As far as the GPGPU scheme of thing goes, NVIDIA is in a good place, because it’s been at the forefront of the technology since the beginning, and that brings on obvious pluses.
But there are of course downsides as well, although those will differ depending on the developer and their needs. For some, the move of porting CUDA to x86 means little, because it’s still a proprietary technology by NVIDIA that happens to only run excellent on NVIDIA hardware. But for those who already take advantage of CUDA, being able to bring the CPU into things in a more involved way is good.
A big question is whether or not this move is going to affect the regular consumer, or if it will only further its use in the more complex of industries, such as gas, medicine and so forth. It’s hard to say, but the one good thing CUDA has going for it is that if it can run on both an NVIDIA GPU and a CPU, the code can be constructed to use both to maximize performance. And of course, for those who don’t have an NVIDIA GPU, it means that they can still run CUDA code, even if they have an AMD or Intel GPU.
This move is also sure to reinvigorate speculation that NVIDIA is planning to release an x86-derived processor of its own, and to be honest, that’s one rumor I’m not quick to discredit. NVIDIA is on a serious roll with its Tegra chip, after all, and if things continue the way they are, the company might feel like it should take the next step and begin serious consideration of an x86 chip – if it hasn’t already.
Either way, CUDA on x86 is in its infancy, and it might be a while before we see the actual results of it, but it will be interesting to see how things change over the next year.
The open alternative to CUDA is, of course, OpenCL, and of the three major GPU vendors (including Intel), NVIDIA has far and away the most robust OpenCL support right now. AMD’s OpenCL support is less advanced, while Intel’s support won’t debut until the end of this year. So if NVIDIA has put more effort than everyone else into OpenCL, a framework that is also designed to target both GPUs and CPUs, why go to the trouble of adding x86 as a CUDA target?