[Haskell-cafe] Re: Automatic parallelism in Haskell, similar to "make -j4"?
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"?
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
Re: [Haskell-cafe] Re: Automatic parallelism in Haskell, similar to "make -j4"?
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
Re: [Haskell-cafe] Re: Automatic parallelism in Haskell, similar to "make -j4"?
On Tue, Nov 4, 2008 at 7:34 PM, Chad Scherrer <[EMAIL PROTECTED]> wrote: > T Willingham 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 I believe that's the one of the points of the hbuild project (see http://hackage.haskell.org/trac/hackage/wiki/HBuild). Alex ___ 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"?
T Willingham 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