Chris Edwards has written an excellent article on how graphics processing units (GPUs) are changing the face of computing, and not just desktop computing, but even mobile computing on smartphones. He explains that in the beginning GPUs were designed to do basically just one thing: draw 3D elements to your computer screen. But after game software developers demanded more realism in their games GPU makers like Nvidia and ATi (a division of AMD) started to make GPU’s more capable by extending their computational customization capability viz-a-viz a proprietary programming language just for that maker’s GPU cards.
Now software developers have realized that the GPUs behind their computer’s ability to display graphics are far more capable of just that. Using these sophisticated GPU programming languages certain types of software programs — like solving weather analysis — now run on the GPU rather than on far more expensive supercomputers using hundreds or even thousands of more conventional CPUs (main processors).
Apple and OpenCL
However having a bunch of proprietary languages for Nvidia’s cards versus ATi’s cards makes it hard for the software developers looking to take advantage of GPUs and hence the industry was looking for an open industry standard. This is where Apple comes in.
Apple developed and proposed a standard called OpenCL and donated its specification to the Khronos Group, an industry association leading many of the standards for 3D graphics on personal computers. The big news is that nearly all the big hitters in the graphics hardware world have decided to back this standard.
AMD, Intel, ARM, IBM and Nokia — along with Apple — are some of its chief backers and will allow this open industry standard to bloom.
Chris Edwards reminds the reader in his article that graphics processing units (GPUs) essentially utilize many many simple processor cores, cores designed to do one thing very well, and when arrayed are capable of vast “computational parallelism.” It is in this sense that they are the piranhas of processing units.
Supercomputing on future iPhones
Despite all the industry support around Apple’s OpenCL standard Microsoft is missing from this picture. Redmond is going it alone with a team at Microsoft Research working on an experimental system called Accelerator. The tech giant has made no formal announcement about whether it will support or compete against OpenCL.
The hardware heavy-weights apparently don’t really care either. That’s because the vision for OpenCL goes far beyond the desktop but to mobile computing devices, things like smartphones for instance. Using a GPU can be 10 times more power-efficient to compute a task than using the main CPU. And power savings is hugely important to battery-driven devices, devices like the iPhone for instance.
Grand Central Puts It All Together
Apple’s plans for its next Mac operating system, called Snow Leopard, include a new set of technologies called “Grand Central” which some have begun to theorize will also manage the parallelization of computation across not just multi-core main processors but also the GPUs inside Macs.
Snow Leopard and Apple’s new developer tools will provide the API infrastructure to allow data-intensive computation-based applications to essentially stream operations in parallel, taking full advantage of the SIMD architecture found on GPUs, ie, the hundreds of parallel compute cores they are comprised of.
We see OpenCL having applicability with BIM (building information modeling) and the types of data analysis applied to the BIM model, such as energy analysis. Naturally OpenCL will likely play a role in visualization and other 3D intensive tasks.
Apple joins working group to hammer out OpenCL spec(ArsTechnica)