[Haskell-cafe] Automatic parallelism in Haskell, similar to "make -j4"?

Don Stewart dons at galois.com
Sun Nov 2 19:48:39 EST 2008


t.r.willingham:
> On Sun, Nov 2, 2008 at 6:44 PM, Bulat Ziganshin
> <bulat.ziganshin at gmail.com> wrote:
> >> What would it take to implement a -j equivalent for, say, GHC?  Or if
> >> this is not possible, what is wrong with my reasoning?
> >
> > problem is that make have rather large pices of work which it can run
> > parallel. if ghc will try to parallel every machine operation, it will
> > pend more time maintaining these jobs. 'par' is just the way to tell
> > GHC "this part of job is large enough"
> 
> Right, but couldn't the Haskell complier+runtime discover "rather
> large pieces of work"?

Requires runtime profiling to work out the costs.

See this paper which implements this this idea,

  PDF
    http://research.microsoft.com/~tharris/papers/2007-fdip.pdf

  HTML
    http://209.85.173.104/search?q=cache:7cC4fQjCEH4J:research.microsoft.com/~tharris/papers/2007-fdip.pdf


Note that for subsets of Haskell, where we have more information
statically about the costs involves, we can do the parallelism
automatically. Data Parallel Haskell is the prime example.

-- Don


More information about the Haskell-Cafe mailing list