Is a parallel build of Maxima (using make -j N), OK?
Subject: Is a parallel build of Maxima (using make -j N), OK?
From: David Kirkby
Date: Sat, 27 Nov 2010 14:56:11 +0000
On 27 November 2010 13:53, Raymond Toy <toy.raymond at gmail.com> wrote:
> On 11/26/10 5:46 PM, Dr. David Kirkby wrote:
>> If one sets something like
>>
>> MAKE="make -j 20"
>>
>> to build maxima with 20 threads in paralllel, is this safe? With well
>> written Makefiles this is, but unless care was taken to make sure
>> there are no race conditions, this can be unwise.
>>
>> Does anyone know the status of the Maxima makefile?
> FWIW, I tried "make -j 32" just a couple of days ago. ?This worked, I
> think, and did speed up compilation a little on my Core 2 Duo machine
> since I normally do builds with clisp, ccl, cmucl, and ecl. ?Perhaps I
> was lucky.
>
> I don't think anyone tries to make sure parallel builds work. ?That was
> the first time for me to try that.
>
> Ray
I built it about 10 times without failure. Some of the tests including
inserting a random delay before gcc was called, to try to detect race
conditions. Nut it actually failed on a test where there was no delay.
Unless people try to make parallel builds work, they will probably not
work! One neads to be a lot more careful in listing the dependencies
in the file used to create the makefile.
See:
http://www.cmcrossroads.com/ask-mr-make/7483--the-pitfalls-and-benefits-of-gnu-make-parallelization
Dave