[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