CUDA Gets Ported To x86, Promises Greater Versatility
The Portland Group has announced that it is currently developing a CUDA compiler that will target the standard x86 and x86-64 architectures found today in most desktop PCs. The company claims that when done, the x86 port of CUDA will using CUDA “to compile and optimize CUDA applications to run on x86-based workstations, servers and clusters with or without an Nvidia GPU accelerator”.
When Jensen Huang took the stage on Tuesday to address the crowd during the annual GPU Technology Conference in San Jose, he had some good news for developers. And this time, there were no Mythbusters needed to demonstrate the well-known fact that GPUs were many times faster than CPUs. Instead, his message was simple yet powerful: CUDA will soon support the current mainstream x86 architecture.
In the gaming side of things, CUDA has been used to accelerate non-graphical applications and game physics calculations. This allows games to offload such tasks from the CPU over to the much more powerful GPU, which in turn can perform the calculations at a much quicker rate.
However, the only way to take advantage of CUDA’s capabilitites was to have an Nvidia GPU installed in the system. This essentially meant that all non-Nvidia cards were locked out of the GPGPU API, a move which has angered many users of competing GPU brands. This has also led to the creation of a similar GPGPU API known as OpenCL, which claims to be compatible with all GPUs brands in the market, including Intel.
However, OpenCL is still new and thus, compatibility for the API is weak: AMD’s support is still not up to par yet, and Intel will only announce their support for OpenCL at this year’s end.
Ironically, Nvidia will not be working on the x86 port of CUDA: that task falls to The Portland Group, a subsidiary of STMicroelectronics, and is well known for their high-performance compilers. According to an article from PCWorld, Mathew Colgrove from The Portland Group has revealed that the initial version of the x86 CUDA port will target multiprocessor CPUs from Intel and AMD, and will leverage on the latest SSE versions, along with experimental support for Intel AVX.
Unfortunately, Colgrove claimed that compatibility for AMD GPUs was not on the charts for now, due to the lack of support from the company.
“We’d love to be able to support AMD GPUs, but we’d need a lot of support from AMD, something that hasn’t been forthcoming,” he said.