
Computing and mobiles: The piranhas of processing await
Graphics processors - the 'piranhas' of computing - are being harnessed to do other tasks, which could have a big impact on PCs and mobile phones, says Chris Edwards
What if someone told you there were 100 extra processors in your PC? The sticker on the front might tell you that you have just one or two. But if you have a computer with a graphics card made by ATI or nVidia, the chances are that you have more than 100 microprocessor cores in the back. The extra processors are easy to miss because, sitting inside the graphics card, they normally only do one thing: draw 3D scenes on the screen. Now software is crashing into the market that will unlock that extra power and make it possible to dispatch in seconds long-winded jobs that normally would not only give you time to make a cup of coffee, but also nip down to the shops to buy another jar.
Using a graphics processor for regular computing has only become possible in the past few years. The first graphics processors (GPUs) for PCs could only do limited tasks. They took shortcuts that meant people looked as though they were moulded out of plastic. Games developers demanded more realism, which meant more flexibility. The response from ATI and nVidia came in GPUs for which developers could create their own rendering programs. To get the performance needed, they had to take one simple processor core and replicate it many times across the silicon chip.
Those GPU cores are the piranhas of processing. Because there are so many of them, they can chomp through tens of gigabytes of data in a second. But it has to be the right kind of data - something that can be parcelled up and delivered in bite-sized chunks to each core. In many cases, almost as soon as they have started working, the GPU piranhas will be waiting for the next chunk of meat. Managing that is hard and often it is just easier for a developer to have all the software run on a regular CPU.
Here is the faster weather
But some types of software fit the GPU very well. Scientists have already discovered its hidden power: the US National Center for Atmospheric Research is using GPUs rather than moving to supercomputers to get faster weather predictions. Others are using the processors to design a new generation of supercolliders and to work out how radiation damages DNA.
Andy Keane, general manager of GPU computing at nVidia, reckons there are plenty of jobs outside science that users will find for a GPU-equipped desktop computer. "Very often you are waiting for the processor to finish doing something. Every time you are waiting, you probably have something that will fit the GPU very well."
The wait for video converters to crunch video down for replay on a portable media player is one of the problems that Oregon-based startup Elemental Technologies has chosen. But, because each brand of GPU has its own programming language, the first version of the Badaboom software will only run on nVidia's GPUs. A version that runs on the GPUs made by ATI - now owned by Intel rival AMD - will have to wait. Sam Blackman, Elemental's CEO, has no objection to having a version that runs on ATI. "But right now we are focusing on the other guys," he says. So, users will have to pay attention to which graphic card they have before buying GPU-accelerated software.
Tim Lewis, director of marketing at 3DLabs, says the advantage for each vendor having its own GPU language is that it ties in developers. But having a GPU programming language that every manufacturer can support would let the market grow faster, he claims. That is why just about every manufacturer of GPUs has thrown its weight behind a proposal by Apple to base a standard on its concept, OpenCL. Apple donated the OpenCL specification - some 200 pages of documentation - to the Khronos Group, which is responsible for many of the leading standards for 3D-graphics software used on personal computers (bit.ly/1HaaZI).
Neil Trevett, president of Khronos, says: "There have been discussions for quite a while about how we were going to deal with industry issues such as general-purpose computing on GPUs. Apple had been working on OpenCL and they came with a proposal to Khronos to establish the Heterogeneous Computing Working Group. It was an idea whose time had come."