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."

6 of 342 comments (clear)

  1. Uh oh by Anonymous Coward · · Score: -1, Flamebait

    Cue moronic GNU faggots whining about how it sucks because Stallman didn't come up with it in 5... 4... 3... 2... 1...

  2. Bingo! by jbeaupre · · Score: -1, Flamebait
    --
    The world is made by those who show up for the job.
  3. Kamikaze development by gwappo · · Score: -1, Flamebait

    The problem with multi-threading isn't in laborious API's, it's also not in language support for nifty features. The problem with multi-threading is that some problems are damn hard to multi-thread, either due to algorithms, or more commonly due to the way the internal structures are linked together. This will only make overconfident developers shoot themselves in the foot more quickly (and provide some vendor lock-in for apple as things get increasingly less portable.)

  4. Re:RTFA by Rogerborg · · Score: -1, Flamebait

    RTFA

    Read The Fucking Comment: that Fucking information is not "in the first few Fucking paragraphs" of the Fucking article, you Fucking zealot. If you're too Fucking dumb to recognise a Fucking question that's designed to Fucking help people get Fucking inducted into your Fucking cult then I'm guessing that you're too Fucking poor to afford in iFuck and must have Fucking robbed it from some latte-Fucking weedy looking Fuckwad.

    Mad love, Fucknut!

    --
    If you were blocking sigs, you wouldn't have to read this.
  5. Re:GCD is task parallelism by Anonymous Coward · · Score: -1, Flamebait

    So in other words, they wrote a library to do:


            my $max = 16;
            my $num = 0;
            for my $f (glob "/something/*"){
                    while($num >= $max){
                            $num-- if wait();
                    }
                    if(fork()){
                            $num++;
                    }else{
                            dostuff($f);
                            exit;
                    }
            }
            1 while(wait() > 0);

  6. Not remarkable. by Anonymous Coward · · Score: -1, Flamebait

    As someone with experience writing parallel programs, in particular built on work queues... This library is garbage. It's farcical that this library would be useful to anyone doing scientific computing. In particular, it's hard-coded in some places to use Mach synchronization primitives.

    Anyone doing this kind of work and knows what they're doing has already written this library. Many times. While it's good of them to have one standard on their platform, looking at the source, I think you'd have to be an idiot to want to use this on Linux or Windows. Not to mention C++0x will probably have some of this kind of stuff already.