[Insight-developers] Not Really Parallel Build
Gaëtan Lehmann
gaetan.lehmann at jouy.inra.fr
Wed Nov 11 15:46:59 EST 2009
Hi Kevin,
> kitty, candy, and bambi are set up to build ITK in parallel using
> gmake
> -i -j 16 . (There are 8 cores but gcc seems quite happy with two
> processes per core.)
>
I made some experiment on a host with 8 cores and 16 threads, and I
didn't get any improvement in build time with more that "make -j12".
I don't know if it's also true for you, but -j16 may not be the best
option...
> I wanted to experiment with using CMake's new parallel build and test
> feature. So I set the build on bubbles to use CTest from CVS with the
> -j8 option (Tests may not be so happy with 2 threads per core.)
>
> I expected the build on bubbles to be half as fast as the builds on
> kitty, candy, and bambi, and the testing on bubbles to be eight
> times as
> fast as the testing on kitty, candy, and bambi.
>
> What I got was :
> build test
> bubbles 110.5 33.4
> kitty 12.6 7.3
> candy 12.6 7.4
> bambi 12.6 7.4
How did you measure the test execution time?
Dashboard is reporting the sum of the execution time of all the tests,
which is not what we want IMO. You have to divide it by the number of
parallel tests.
The time reported by ctest at the end of the execution is OK.
Le 11 nov. 09 à 19:06, Kevin H. Hobbs a écrit :
> On 11/11/2009 12:12 PM, Luis Ibanez wrote:
>>
>> Is this correct ?
>>
>
> Yes, though I'll reshuffle it a bit :
>
> computer gmake-opt ctest-option build-time test-time cmake
> ----------------------------------------------------------
> bubbles none -j8 110.5 33.4 CVS
> kitty -j16 none 12.6 7.3 2.4
> candy -j16 none 12.6 7.4 2.4
> bambi -j16 none 12.6 7.4 2.4
>
>
>> before we start speculating
>> on the possible explanations :-)
>>
>
> If it would be useful I could set up :
>
> computer gmake-opt ctest-option build-time test-time cmake
> ----------------------------------------------------------
> bubbles -j16 none 12 7 2.4
> kitty -j16 none 12 7 2.4
> candy -j16 none 12 7 2.4
> bambi -j16 none 12 7 2.4
> bubbles none -j2 ? ? CVS
> kitty none -j4 ? ? CVS
> candy none -j8 ? ? CVS
> bambi none -j16 ? ? CVS
it would be interesting to have the execution time of two ctest run
with a different number of parallel tests on bubble, in the same build
tree.
For example, the output of "time -p ctest -j4 -Q; time -p ctest -j8 -Q".
On my host, I get:
[glehmann at marvin build]$ time -p ctest -Q
real 312.00
user 299.68
sys 38.42
[glehmann at marvin build]$ time -p ctest -j2 -Q
real 177.50
user 300.77
sys 37.78
[glehmann at marvin build]$ time -p ctest -j4 -Q
real 115.28
user 312.12
sys 39.85
[glehmann at marvin build]$ time -p ctest -j8 -Q
real 81.26
user 335.06
sys 42.23
[glehmann at marvin build]$ time -p ctest -j12 -Q
real 71.51
user 374.41
sys 44.94
[glehmann at marvin build]$ time -p ctest -j16 -Q
real 64.24
user 391.69
sys 46.19
Gaëtan
PS: Dashboard will have some more problems if you use all those hosts
with parallel builds and tests for the next dashboard fest ;-)
--
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
http://voxel.jouy.inra.fr http://www.itk.org
http://www.mandriva.org http://www.bepo.fr
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 203 bytes
Desc: Ceci est une signature ?lectronique PGP
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20091111/2e482599/attachment.pgp>
More information about the Insight-developers
mailing list