[IPython-dev] Musings: syntax for high-level expression of parallel (and other) execution control

Fernando Perez fperez.net at gmail.com
Fri Sep 11 15:11:07 EDT 2009


Hi all,

On Fri, Sep 4, 2009 at 1:31 AM, Fernando Perez <fperez.net at gmail.com> wrote:
> This part of Ars Technica's excellent review of Snow Leopard:
>
> http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/13
>
> shows how Apple tackled the problem of providing civilized primitives
> to express parallellism in applications and a mechanism to make useful
> decisions based on this information.   The idea is to combine a
> kernel-level dispatcher (GCD), a beautiful extension to the C language
> (yes, they extended C!) in the form of anonymous code blocks, and an
> API to inform GCD of your parallelism breakup easily, so GCD can use
> your intentions at runtime efficiently.  It's really a remarkably
> simple, yet effective (IMHO) combination of tools to tackle a thorny
> problem.
>

Wow.  Apple just open sourced Grand Central Dispatch!

http://libdispatch.macosforge.org/
http://www.macresearch.org/grand-central-now-open-all

Quoting from the latter:

"""
Of course, 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.
"""

I think we've been saying that here for the last few days :)  And we
could even do it in python, were it not for the GIL (we can still do a
few things, just not everything).

We'll see how long before python bindings are available for
libdispatch at least on the Mac, so you can more easily organize code
that already can run in a thread.

This will be interesting to watch...

Cheers,

f



More information about the IPython-dev mailing list