2008-10-25




Apple's QuickTime X, Grand Central, OpenCL, and LLVM

Apple's recent publicized patents (link1, link2) and their own pronouncements for Snow Leopard all point toward an exciting combination of technologies. I believe Snow Leopard's QuickTime X will be built on OpenCL which will use LLVM (project, WikiPedia) for general purpose processing in a manner parallel to how Apple already uses LLVM to enhance OpenGL under Mac OS X.

LLVM and OpenCL will allow developers to hand off code and a profile to OS X (probably via Grand Central), and the operating system will find the best way to deal with the request. OpenCL provides the necessary abstraction and LLVM will provide the JIT compiling once the target hardware is determined. This gives the OS a chance to make decisions based on a variety of factors including power usage, other pending requests, realtime/video/audio , CPU/GPU scheduling, and hardware availability.

This makes it easy for developers to take advantage of whatever hardware is available in a particular Mac now or in the future to accelerate processor intensive functions. In addition, it allows the OS and application to handle a variety of situations (e.g. battery vs. power or realtime vs. non-realtime needs).

QuickTime X (along with other frameworks such as Core Animation) will likely take advantage of this to avoid the need to have different plug-ins for different hardware. Mac OS X will handle the processing needs taking best advantage of the available hardware while simplifying QuickTime itself.

This will continue two of Apple's goals:
  1. Giving it's developers an easy way to code complex applications
  2. Providing an available alternative to proprietary frameworks such as DirectX

Apple realized they were vulnerable, if proprietary frameworks took hold and either were not available on the Mac (Direct X) or were available only in a low quality manner (Flash). In recent times, Apple has supported open standards such as MPEG-4/H.264, AAC, and Open GL in an effort to fend off Windows Media and Direct X.

I believe Apple has foreseen the importance of harnessing the power of GPU's and multiple CPU's and does not want to fall victim to a Windows-only standard in this area, so they have created and pushed the OpenCL standard to prevent this. If OpenCL can take hold as a cross platform standard, it is much less likely a proprietary solution will take hold.

Apple is more than happy to compete on price and quality, but they are at a disadvantage if there are certain frameworks or standards that are simply not available on the Mac. By being in the forefront of this important area allows them to continue their present growth without concern of being shut out of this vital area of processing power.
blog comments powered by Disqus

  © Blogger templates 'Neuronic' by Ourblogtemplates.com 2008

Back to TOP