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."
What about Microsoft?
Patricia Harrell, director of stream computing at AMD, agrees: "I think OpenCL makes it possible to move GPU computing from being a speciality technology to something that any developer can count on being in a system that he is writing for."
Acceptance of a Khronos-backed GPU-computing standard is not universal. "The Khronos group is the everyone-apart-from-Microsoft group," says Andrew Richards, chief executive of Codeplay, a parallel-software specialist based in Edinburgh.
For the past few years, a team at Microsoft Research has been working on an experimental system called Accelerator. "There are several other initiatives to make it easier to program GPUs," says Satnam Singh, who is investigating acceleration technologies at Microsoft Research in Cambridge. However, Microsoft has made no public indication whether it will commercialise the research or work on some other competitor to OpenCL.
Michael Dimelow, director of marketing for media processing at ARM, said: "I don't think Microsoft will be sitting and watching. I would never underestimate Microsoft's ability to come up with alternative positions."
Despite Microsoft's dominance of the desktop, OpenCL already has the chipmakers behind it. Many of them do not sell into the desktop PC or Mac market, and their support isn't because they have their eyes on getting their silicon into the Macintosh. They see a much larger potential market: the billion-plus units and associated business of portable electronic devices, such as mobile phones and satellite navigation units. And so does Apple.
Trevett explains: "The scope of OpenCL will be much wider than Mac OS. No one, including Apple, wants it to be a single-OS solution. They want it across desktop and mobile systems."
That's because in handsets and other portable gadgets battery life is a major concern, and GPUs offer a way of doing more for less juice. So high-end cellphones will soon start sprouting tens or hundreds of extra processors.
Even smarter smartphones
Trevett says: "Using a GPU, you can be 10 times more power-efficient than using a CPU. We definitely see that advantage coming over into the mobile space."
As with the desktop world, much of the early focus on OpenCL in mobile will be on handling audio and video better. "No one is going to be doing earthquake simulation on their cellphones," says Remi Pedersen, product manager at ARM.
But people in the mobile industry reckon that as they gain experience with GPU computing they will make possible innovative uses, such as being able to point the phone's camera at a building and then process the image so that it can tell you which building it is.
Tony King-Smith, vice-president of marketing at GPU designer Imagination Technologies, predicts: "Then I think this is going to start shifting to where people explore more of the out-there things you can do with mobile platforms. But it is still early days."