Intel’s new, planned GPGPU, current codename Knights Ferry, could finally make porting of existing software apps onto GPU-based high performance server clusters easier. In this recent article on HPCwire, Comparing GPUs and CPUs, it is highlighted that:
“The GPU remains a specialised processor, and its performance in graphics computation belies a host of difficulties to perform true general-purpose computing. The processors themselves require rewriting of any software; they have rudimentary programming tools, as well as limits in programming languages and features…There is some industry support, namely from the primary graphics chip vendors themselves, NVIDIA and AMD. Developers looking to program GPUs can choose between NVIDIA’s proprietary CUDA parallel computing architecture and AMD’s OpenCL (Open Computing Language) programming standard.”
One of the hurdles with CUDA is that software developers have to understand CUDA: how to program it, hardware architecture and memory management, etc.
Knights Ferry, actually launching as Knights Corner towards the end of the calendar year, should alleviate many of the problems with rewriting software. It uses a much simpler programing model and memory model that many developers are already familiar with. The programming interface should be familiar to those already that program x86 based systems.
It’s still not the panacea but could go a little of the way towards it? The question now will be, do software developers want to get involved?