Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Snow Leaopard / Grand Central: Multi-Core Advantage Even for Single-Threaded Apps

Snow Leopard will have two powerful low-level compute virtualization layers: Grand Central and OpenCL.

Grand Central is a very low-level foundation layer in Snow Leopard that manages the cores. It allows system-services calls to be scheduled to individual cores. This allows Snow Leopard to run a single-threaded app, but when it sees a reasonably self-contained task such as an array scan and data copy loop, that little chunk of code can be run by a dedicated core.

Because Snow Leopard itself is multi-core optimized, ANY app stands to gain because background OS tasks will be completely parallelized with the app. Even the single-threaded app will be accelerated, although the OS will manage halts and waits while the logic of the app must complete seriatically. Still, the acceleration of major data ops will be a gain.

OpenCL takes this a little further. In addition to the CPU cores being virtualized into generic compute resources under Grand Central, OpenCL vistualizes the stream processors in the GPU. These also become generic computing resources under Snow Leopard and the same rules apply. Chunks of even a single-threaded app like math routines can be parceled out to the GPU stream-processors. Again, Snow Leopard takes care of managing all the halts and waits while the general serial execution of the single-threaded app proceeds. But the speed is gained in the blinding fast execution of the discreet chunks of code.

Apps that are compiled to specifically take advantage of the Grand Central and OpenCL APIs will scream of course.

Hope that helps. :apple:
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.