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

2008-11-19 Thread Simon Marlow

Bulat Ziganshin wrote:

Hello Chad,

Wednesday, November 5, 2008, 6:34:01 AM, you wrote:


ghc --make -j4 Foo.hs


afair, it was implemented and not shown speed improvements. ask Simon


We did get speed improvements, it was the main case study for the initial 
implementation of shared-memory parallelism in GHC.  See


http://www.haskell.org/~simonmar/bib/multiproc05_abstract.html

However, due to the way GHC is structured internally (it has some global 
caches updated using unsafePerformIO!) the parallel make implementation was 
quite fragile, and wasn't suitable for incorporating into GHC proper.  It's 
certainly possible, but we need to think carefully about how to make these 
caches multi-thread-safe.


Cheers,
Simon

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2008-11-05 Thread Austin Seipp
Excerpts from Chad Scherrer's message of Tue Nov 04 21:34:01 -0600 2008:
 Does anyone have any thought what it would take to get this going?
 
 Chad
 

Currently, franchise supports building in parallel with a -j flag, but
the code could definitely be optimized (in my experience, running with
something like -j3 on my dual core reduces compile times with
franchise on arbitrary projects about 20% currently.) During the 2008
SOC, there was also work on adding this support to cabal, which
eventually ended up as the hbuild project.

http://hackage.haskell.org/trac/hackage/wiki/HBuild

darcs get http://darcs.net/repos/franchise

Austin
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2008-11-04 Thread Chad Scherrer
T Willingham t.r.willingham at gmail.com writes:
 I am thinking of our troglodytic friend 'make', which will run (for
 example) 4 parallel jobs when given the option make -j4.  Even
 'rake', the ruby version of make, now has a branch (called drake)
 which does the parallel -j option.

From the replies I've seen about this, I think it's been interpreted as asking
whether ghc could compile a given program so that it will execute in parallel.
In general that's a hard problem.

On the other hand, it should be really straightforward (in principle, I mean) to
get something going like
ghc --make -j4 Foo.hs
similar to your make example, so that compile time could be reduced, while the
execution could either be sequential or parallel. I don't think there's anything
like this yet (is there?). 

Does anyone have any thought what it would take to get this going?

Chad

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2008-11-04 Thread Bulat Ziganshin
Hello Chad,

Wednesday, November 5, 2008, 6:34:01 AM, you wrote:

 ghc --make -j4 Foo.hs

afair, it was implemented and not shown speed improvements. ask Simon

-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe