Slashdot Mirror


Apple Open Sources Grand Central Dispatch

bonch writes "Apple has open sourced libdispatch, also known as Grand Central Dispatch, which is technology in Snow Leopard that makes it easier for developers to take advantage of multi-core parallelism. Kernel support is not required, but performance optimizations Apple made for supporting GCD are visible in xnu. Block support in C is required and is currently available in LLVM (note that Apple has submitted their implementation of C blocks for standardization)." Update: 09/11 15:32 GMT by KD : Drew McCormack has a post up speculating on what Apple's move means to Linux and other communities (but probably not Microsoft): "...this is also very interesting for scientific developers. It may be possible to parallelize code in the not too distant future using Grand Central Dispatch, and run that code not only on Macs, but also on clusters and supercomputers."

5 of 342 comments (clear)

  1. Not Invented at Apple by Anonymous Coward · · Score: 0, Troll

    OpenMP was not invented by Apple, and cannot be used as a lever to undermine gcc.

  2. Re:Blocks and GDC by inKubus · · Score: 0, Troll

    So it's slow, but convenient, multi-threading. That's ok because the 16 core and 32 core chips will be here in 3 years.

    If you want to do something fast you're not going to rely on a big, general OS library to queue up threads... Photoshop, for instance, will not be using this library. ;)

    --
    Cool! Amazing Toys.
  3. Re:Use Cilk by Anonymous Coward · · Score: 0, Troll

    Maybe someone who already read can post an illustrative example? I'm bitter and cynical and don't care to chase after every ball a marketing dweeb throws my way, and am simply curious where this fits in the constellation of parallelism that dates back 30 years or more.

    Who identifies the work units which can run in parallel? A compiler or the application programmer?

    Who identifies the decomposition of the application data model into the work units and their state sharing and synchronization? A compiler or the application programmer?

    Who identifies the strategy for gathering work unit results back into the sequentially consistent form required after they all complete? A compiler or the application programmer?

    If the answer to all of these is the programmer, how does this really differ from the idiomatic POSIX threads application which uses user direction and/or trivial system probes to choose a thread count N appropriate to the system, then fires off N threads running the same worker function (block), then uses normal synchronization to wait for the threads to complete?

  4. Source by AP31R0N · · Score: 0, Troll

    Verbification weirds the language.

    --
    Utilizing the synergization of benchmark e-solutions to pre-workaround action items!
  5. Re:How ignorant and lazy you are by 0xdeadbeef · · Score: 0, Troll

    And releasing GCD, gentlemen, is another master stroke by Apple, just like WebKit, Bonjour, LLVM, the list goes on, to share knowledge and advance technology by merit, not by forcing it down your throat thanks to the monopoly you have been handed.

    Or because all of those things were originally developed outside of Apple, and even they don't have enough magic fanboy dust to deflect the bad karma that comes from appropriating open source software without giving it back. I'll consider Apple part of the community when people can actually do whatever they want with the Apple hardware they own.

    There's a lot of garbage and Microsoft apologists nowadays.

    You people are like the people who believe that criticizing Christianity equates to appeasing to Islam.