Chief scientist of Nvidia Corp., William Dally, said that in the future software developed using Nvidia’s proprietary CUDA software development kit will be able to work on a broader range of platforms. Even though Mr. Dally did not elaborate much, it seems that Nvidia wants to make CUDA an industrial standard that would compete against Microsoft DirectX compute shaders as well as OpenCL application programming interfaces.
“In the future you will be able to run C with CUDA extensions on a broader range of platforms, so I don't think that will be a fundamental limitation. I am familiar with some projects that are underway to enable CUDA on other platforms,” said Bill Dally at a “roundtable event”, reports TechRadar web-site.
Although the chief scientist of the graphics chip designer did not elaborate on the additional platforms, it is highly likely that he talked about running applications developed using CUDA Toolkit on ATI Radeon graphics processors by Advanced Micro Devices. Currently ATI Stream technology, which powers numerous software applications, is based on Brook+ stream programming language; Brook was originally developed in Stanford University for using graphics processing units for general purpose computing, Brook+ is AMD’s extended version of the language.
Even though both CUDA and Brook+ are, to certain extent, proprietary, AMD has always said that it plans to support only open, industry-wide programming standards, which are OpenCL and Microsoft DirectX compute shaders. But Mr. Dally claims that CUDA is more advanced than Brook+. He does not say whether it is also more sophisticated than DirectX and OpenCL
“I think [ATI Stream] is missing some of the abstractions that are in CUDA. I think people are far more comfortable with CUDA […]. I think CUDA is a far more productive programming environment,” said Mr. Dally, an ex-professor from Stanford.
Right now Nvidia, which has larger market share compared to ATI/AMD, is rather comfortable with CUDA since there are no industry-wide programming standards and the competition from ATI Stream is not so obvious. But in a year from now there will be DirectX compute and OpenCL APIs as well as graphics chips from both ATI and Intel which will rely on those technologies. Considering that software designers tend to utilize industry-standard APIs, either Nvidia makes its CUDA available on other platforms or it will have to keep it for proprietary projects only. There is a question, however, whether AMD and Intel want to support CUDA.
“We don't care whether [GPGPU applications] are restricted to running on our GPUs or on a broader range of platforms. We produce the best GPUs [outhere], so given a fair competitive environment, people will choose our GPUs,” proclaimed Mr. Dally.