distributed compilation by GHC

Hello GHC, i'm interested to know how much people are interested in having support for distributed compilation by GHC? it's true that production GHC version doesn't support multi-threaded compilation, so such system will be of benefit even for local usage for users with multi-core chips? -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Anyone with a multi-core processor would be. Most of the people, I assume. How would you implement this, though? On Apr 5, 2007, at 10:01 AM, Bulat Ziganshin wrote:
it's true that production GHC version doesn't support multi-threaded compilation, so such system will be of benefit even for local usage for users with multi-core chips?

Hello Joel, Thursday, April 5, 2007, 1:33:27 PM, you wrote: my sentence should be read as "is it true...?" - i had lost a track whether it was incorporated in GHC or not. the idea is that GHC should be extended to be able to write out dependencies list built in the --make mode. Then rather simple scripts may be used to distribute the work among many cores/boxes who can enlighten me about presence/absence of multi-core GHC support?
Anyone with a multi-core processor would be.
Most of the people, I assume.
How would you implement this, though?
On Apr 5, 2007, at 10:01 AM, Bulat Ziganshin wrote:
it's true that production GHC version doesn't support multi-threaded compilation, so such system will be of benefit even for local usage for users with multi-core chips?
-- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Bulat Ziganshin wrote:
Hello Joel,
Thursday, April 5, 2007, 1:33:27 PM, you wrote:
my sentence should be read as "is it true...?" - i had lost a track whether it was incorporated in GHC or not. the idea is that GHC should be extended to be able to write out dependencies list built in the --make mode. Then rather simple scripts may be used to distribute the work among many cores/boxes
who can enlighten me about presence/absence of multi-core GHC support?
GHC itself doesn't support multithreaded --make compilation. I have some old patches to do this, which I used for the measurements in the Haskell Workshop 2005 paper, but it was never completely robust. This is one reason I wrote the 'setup makefile' patch for Cabal[1] recently. With that patch you can get parallel compilation on a multiprocessor using 'make -j' when using Cabal. (I know that not everyone has make, it isn't intended to be a portable solution - the ultimate goal is to use Cabal in GHC's build system, where you need make anyway). Cheers, Simon [1] http://www.haskell.org/pipermail/cabal-devel/2007-March/000448.html

Hello Simon, Thursday, April 5, 2007, 4:12:15 PM, you wrote:
whether it was incorporated in GHC or not. the idea is that GHC should be extended to be able to write out dependencies list built in the --make mode. Then rather simple scripts may be used to distribute the work among many cores/boxes
This is one reason I wrote the 'setup makefile' patch for Cabal[1] recently. With that patch you can get parallel compilation on a multiprocessor using 'make -j' when using Cabal. (I know that not everyone has make, it isn't intended to be a portable solution - the ultimate goal is to use Cabal in GHC's build system, where you need make anyway).
thanks! afaiu, this system don't needs that GHC can print dependency list it's built - dependencies are found by make itself? -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Bulat Ziganshin wrote:
Hello Simon,
Thursday, April 5, 2007, 4:12:15 PM, you wrote:
whether it was incorporated in GHC or not. the idea is that GHC should be extended to be able to write out dependencies list built in the --make mode. Then rather simple scripts may be used to distribute the work among many cores/boxes
This is one reason I wrote the 'setup makefile' patch for Cabal[1] recently. With that patch you can get parallel compilation on a multiprocessor using 'make -j' when using Cabal. (I know that not everyone has make, it isn't intended to be a portable solution - the ultimate goal is to use Cabal in GHC's build system, where you need make anyway).
thanks! afaiu, this system don't needs that GHC can print dependency list it's built - dependencies are found by make itself?
dependencies are generated by 'ghc -M'. Cheers, Simon

On Thu, Apr 05, 2007 at 10:47:39AM -0700, Bryan O'Sullivan wrote:
Simon Marlow wrote:
This is one reason I wrote the 'setup makefile' patch for Cabal[1] recently.
I haven't seen that patch show up in the cabal tree yet. Do you plan to commit it? I'd love to see it in.
Coincidentally, I just pushed it. Thanks Ian
participants (5)
-
Bryan O'Sullivan
-
Bulat Ziganshin
-
Ian Lynagh
-
Joel Reymont
-
Simon Marlow