David Kirk, an Nvidia fellow who has a very high influence in the company, this week made a number of important statements at the International Supercomputing Conference. Mr. Kirk said that eventually ARM-based system-on-chip devices with graphics processors will dominate PCs and CUDA will not become an open standard.
Nvidia believes that discrete graphics processing units (GPUs) will continue to exist and therefore evolve, which is pretty logical, given the fact that GPUs are still graphics centric and end-users demand high performance graphics on the first place. But Nvidia not only hopes that GPUs will remain in place, it also hopes that ARM-based microprocessors will eventually find their way into desktops and notebooks in addition to smartphones and tablets.
"Clearly, the personal computer experience is going to be dominated by SoCs with integrated ARM cores and GPUs. This is happening today and will be solidified by support for ARM in Windows Next. But as I said above, we expect that there will be a CPU + GPU market for a very long time to come," said David Kirk, an Nvidia fellow, in an interview with HPCwire.
Nvidia's well-known CUDA technology and software model will continue to remain proprietary for Nvidia. In practice, this means that software designed for closed CUDA ecosystem will remain GeForce-exclusive, which will naturally reduce popularity of the technology among consumer software designers, which would like to address AMD Radeon, AMD APUs as well as forthcoming Intel's chips with OpenCL-capable graphics cores. On the other hand, it makes a lot of sense for Nvidia to retain CUDA a closed standard on the market of high-performance computing (HPC) as both of its rivals - AMD and Intel - exclusively supply chips based on x86 architecture, which is generally an exclusive one.
Still, Nvidia understands that even CUDA relies on the fact that systems at present feature both x86 CPUs as well as GPUs, which is why the program model itself has to rely onto those kind of chips with appropriate execution. Naturally, this will make it easier to port apps to non-Nvidia-powered systems.
"There are no plans to turn CUDA into an open standard at this point. Right now, the only processors we see being deployed widely in servers are x86 CPUs and Nvidia GPUs and these are all supported by CUDA toolkits today. [...] CUDA is our platform for innovation. [...] The beauty about the CUDA programming model is that it was designed for CPU-GPU based heterogeneous architectures. [...] Other driver-level APIs like OpenCL treat the GPU as a device that is separate from the CPU (host) and this means that OpenCL as defined today has to be extended to support an integrated CPU-GPU device. This means that applications written with the CUDA toolkits will just work on our integrated CPU-GPU devices," said Mr. Kirk.