No. Grand Central is a technology that automatically breaks down your program into different threads for you, thus making your program maximally efficient on multi-core processors (because parallel programming is difficult and time consuming). OpenCL allows you to utilize graphics cards' processing power for non-graphics-related programs.
I'm pretty sure that is incorrect. Parallelizing an app designed for single thread use would be very hard one the fly. There are just too many variables when it comes to synchronization and coherency. Most likely it is a set of API's that allow you to parallelize certain common programming design patters without having to worry to much about thread handling. The problem is that Apple is too tight lipped about this stuff so no one can be sure what it does yet. Windows currently has the Concurrency Runtime (ConcRT) for native code and Concurrency and Coordination Runtime for .Net which you can find videos and documents on.
Reading this is like reading someone on a car forum saying that the 2010 Ford Focus will do 0-60 in 1 second and get 200mpg. No, it really won't, and no, Grand Central won't do all that, and yes those claims are about equally ridiculous.
Automatic parallelization (that's not completely worthless) is nigh-on impossible. For anything but embarassingly parallelizable problems, it takes us months of research and experimentation to find a parallel equivalent of most tricky algorithms. And ultimately you can't get around Rice's theorem. Likewise, you can't treat a GPU like a CPU, no matter how you dress it up. Well you can, but performance will suck. There's all the same parallelization problems as you get with multi-core, and about an order of magnitude more. Different problem decomposition levels, synchronization limitations, memory access patterns, divergent branching, etc...
Now that we've thrown 'em off the trail, use the form below to get in touch with the people at Engadget. Please fill in all of the required fields because they're required.
Does "Grand Central architecture" have something to do with OpenCL?
No. Grand Central is a technology that automatically breaks down your program into different threads for you, thus making your program maximally efficient on multi-core processors (because parallel programming is difficult and time consuming). OpenCL allows you to utilize graphics cards' processing power for non-graphics-related programs.
As far as I know OpenCL is meant to take advantage of "heterogeneous platforms consisting of CPUs and GPUs", not just GPUs. That's why I asked.
And if you're right about Grand Central, then where are they going to use OpenCL anyway? :P
Grand Central helps you more efficiently use multiple general-purpose CPUs without having to specifically code your app for that.
OpenCL lets you use your GPU (insane dedicated CPU on steroids) as a general-purpose CPU.
@HunterXI
I'm pretty sure that is incorrect. Parallelizing an app designed for single thread use would be very hard one the fly. There are just too many variables when it comes to synchronization and coherency. Most likely it is a set of API's that allow you to parallelize certain common programming design patters without having to worry to much about thread handling. The problem is that Apple is too tight lipped about this stuff so no one can be sure what it does yet. Windows currently has the Concurrency Runtime (ConcRT) for native code and Concurrency and Coordination Runtime for .Net which you can find videos and documents on.
Reading this is like reading someone on a car forum saying that the 2010 Ford Focus will do 0-60 in 1 second and get 200mpg. No, it really won't, and no, Grand Central won't do all that, and yes those claims are about equally ridiculous.
Automatic parallelization (that's not completely worthless) is nigh-on impossible. For anything but embarassingly parallelizable problems, it takes us months of research and experimentation to find a parallel equivalent of most tricky algorithms. And ultimately you can't get around Rice's theorem. Likewise, you can't treat a GPU like a CPU, no matter how you dress it up. Well you can, but performance will suck. There's all the same parallelization problems as you get with multi-core, and about an order of magnitude more. Different problem decomposition levels, synchronization limitations, memory access patterns, divergent branching, etc...