Open MPI logo

MTT Devel Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all MTT Users mailing list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2006-09-08 16:25:01


On 9/8/06 2:02 PM, "Josh Hursey" <jjhursey_at_[hidden]> wrote:

> Is there a way to separate the Compile Phase with the Testing Phase? I
> thought there was but it's not obvious to me how to do that.

Yes. You can specify various switches on the mtt command line (see "mtt
--help"). More below.
 
> Say I want to build 2 branches (trunk, v1.2) on an allocation of 1 node.
> Once that is complete then I want to run the tests on an allocation of N
> nodes.

You can do something like:

    mtt --mpi-get --mpi-install --test-get --test-build --file
...whatever... --scratch ...whatever...

This will download the MPI, install the MPI, get any test sources, and build
them all against all the MPI's. Alternatively, you can do:

    mtt --no-test-run --file ... --scratch ...
 
Because really you want to do everything *except* run the tests (right?).

The only problem with this is that MTT does not yet support chaining well;
so there's no real notification that the builds have all finished other than
the mtt client finishes.

> How to I tell the tests what branches to iterate over and where they are
> located?

Right now, MTT will do everything in the INI file -- you can't say "only do
MPI installs A, B, and C" (and assumedly skip some other sections, such as
D, E, and F). So it would probably be a PITA, but you could have different
INI files with different configurations if you need finer-grained control.
 
> The script I am trying to create would essentually do the following:
> srun -N 1 -b mtt-build-phase
> wait for it to complete
> srun -N 16 -b mtt-testing-phase
>
> or something to that effect so we don't allocate all 16 machines and let
> them idle while the tests are building.

Yes. The only bummer is that we currently provide no assistance on the
"wait for it to complete" step. :-\

-- 
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems