Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] Setting AUTOMAKE_JOBS
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2010-09-22 09:50:19


Some of you may be unaware that recent versions of automake can run in parallel. That is, automake will run in parallel with a degree of (at most) $AUTOMAKE_JOBS. This can speed up the execution time of autogen.pl quite a bit on some platforms. On my cluster at cisco, here's a few quick timings of the entire autogen.pl process (of which, automake is the bottleneck):

$AUTOMAKE_JOBS Total wall time
value of autogen.pl
8 3:01.46
4 2:55.57
2 3:28.09
1 4:38.44

This is an older Xeon machine with 2 sockets, each with 2 cores.

There's a nice performance jump from 1 to 2, and a smaller jump from 2 to 4. 4 and 8 are close enough to not matter. YMMV.

I just committed a heuristic to autogen.pl to setenv AUTOMAKE_JOBS if it is not already set (https://svn.open-mpi.org/trac/ompi/changeset/23788):

- If lstopo is found in your $PATH, runs it and count how many PU's (processing units) you have. It'll set AUTOMAKE_JOBS to that number, or a maximum of 4 (which is admittedly a further heuristic).
- If lstopo is not found, it just sets AUTOMAKE_JOBS to 2.

Enjoy.

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/