Apple is Ready to bet on the work they have done with GPUs in and they claim they were the first one to have this insight in Desktop and Mobile Computing.
Apple’s support for OpenGL and new implementation of OpenCL in GPGPU computing is going to change the industry trends. The intent is to weaken Microsoft’s proprietary drive to make DirectX/D3D the primary API supported by GPU hardware developers such as AMD/ATI and NVIDIA and rather encourage a more Open approach, OpenCL.
Is this the Secret of Success of Apple MAC OS X and shiny gadgets like iPhone ?
Apple didn’t woke-up to GPU power yesterday. They had long lived up to the dream of offloading CPU and use GPU for complexer graphics floating point calculations, there by increasing overall performance keeping the optimal use of hardware.
OpenCL, initially developed by Apple, is analogous to the open industry standards OpenGL and OpenAL, for 3D graphics and computer audio, respectively. OpenCL extends the power of the GPU beyond graphics (GPGPU). OpenCL is, now,managed by the non-profit consortium.
OpenCL (Open Computing Language) is a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, and other processors. OpenCL includes a language (based on C99) for writing kernels (functions that execute on OpenCL devices), plus APIs that are used to define and then control the platforms. OpenCL provides parallel computing using task-based and data-based parallelism.
Apple’s GPU support in Snow Leopard
Snow Leopard extends support for modern hardware with OpenCL, which lets any application tap into the vast gigaflops of GPU computing power previously available only to graphics applications. OpenCL is based on the C programming language and has been proposed as an open standard.
The move toward greater utilization of available GPU resources, along with Snow Leopard’s Grand Central Dispatch architecture helps making it easy and transparent for developers to deliver. The effort doesn’t end here. It enables Apple to innovate in future hardware, investing in new acceleration chips of its own design and harnessing more power by including support for more of the existing GPU resources from vendors like Nvidia, ATI (AMD).
Talking about OpenGL on other platforms, from the Wii to the PlayStation 3, it’s harnessed to extremes. Apple’s own iPhone/iPod touch in mobile device computing, is no less than as compared to gaming consoles.
The story no longer holds good future for Microsoft’s established Business of “killing open GPU standards” and substituting them with Windows-only alternatives, will eventually evade.
Apple’s approach to GPU
Apple realised the power of GPU way back in 1999 but applied it in proprietary Mac OS X’s Quartz Graphics hardware.
On the contrary, Microsoft didn’t get its own product with advanced, modern graphics compositing to market until Vista in 2007. And then failed to actually sell it to it’s users. On an average, approximately 20% of people migrated to Vista from XP. (not including forced new Vista PCs).
This power of GPU was not just realized for MAC. Apple extended the concept to iPhone. The iPhone uses an embedded “System on a Chip” which includes an ARM core along with with high performance, dedicated Graphics cores that Apple has fully exploited to defer interface-related processing to hardware, much like a video game system that we see in Windows world.
Currently, no one in the industry has taken full advantage of GPU on mobile devices. That’s why no one else has been able to match iPhone’s graphics, yet.
Windows was stuck in the old CPU driven architecture while MAC OS moved large parts of the code behind UI and rendering to those high power GPUs initially developed for gaming. It took 5 years or so from the mighty Microsoft to hammer its OS to adapt to this new computing paradigm and release Vista, and a better implementation in Windows 7, around more than a decade after Apple did.
“And exactly the same happened in mobile devices. Apple’s competitors were developing OS architectures initially built for menu driven UI’s in the times when CPU was the main processing unit. Effective use of the GPU will play an increasingly large role as devices get more mobile and as users’ expectations increase. Apple is ahead of the game both in conventional PCs and in mobile devices, with rivals such as Microsoft and Nokia just recently discovering the importance of focusing on the GPU to deliver the power needed to provide a rich, animated user interface.”
“What Apple needed to do was to downscale its OSX a bit and partner with Imagination Technologies to develop a powerful mobile optimized graphics core. Suddenly they could run an UI that required several multiples of processing power the traditional mobile computing platforms were able to deliver. But since iPhone used GPU to crunch the heavy parts of UI code Apple could do it. The rest is history.”
“There is a long list of other things Apple did right and assets they had, but without a great ‘inertia’ in mobile operating systems and this shift in mobile computing platforms they would have not been able to shake the market so greatly.”
By sharing technology between its iPhone and Mac platforms, Apple is building upon its lead in fully exploiting the latent power available in the GPU. That’s the exact reason why Snow Leopard is faster than previous generations OS. Snow Leopard specifically delivers a richer, subtly more animated user interface right out of the box and provides powerful toolkits to allow third party developers to wring the most performance from the hardware available, without overloading CPU much.