From: Josh Hursey (jjhursey_at_[hidden])
Date: 2006-11-03 14:25:11


I have an INI File that looks something like what is enclose at the
end of this message.

So I have multiple MPI Details sections. It seems like only the first
one is running. Do I have to list them out somewhere?

As a side question:
Instead of using multiple MPI Details sections, if I use a single MPI
Details section and told MTT to iterate over the parameters to mpirun
at what point in the aggregation chain does this happen?
Meaning will I see something like:

Building trunk
Running trivial
Runing mpirun -mca btl tcp,self
Runing mpirun -mca btl mx,self
Runing mpirun -mca btl mvapi,self
Running intel
Runing mpirun -mca btl tcp,self
Runing mpirun -mca btl mx,self
Runing mpirun -mca btl mvapi,self

or will I see

Building trunk
Runing mpirun -mca btl tcp,self
Running trivial
Running intel
Runing mpirun -mca btl mx,self
Running trivial
Running intel
Runing mpirun -mca btl mvapi,self
Running trivial
Running intel

I would actually prefer the last because if something is broken with
the IB interconnect it doesn't slow down the other tests from
reporting. E.g. I can prioritize a bit in the INI file.

Cheers,
Josh

mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
#======================================================================
# Overall configuration
#======================================================================

[MTT]

hostfile =
hostlist =
max_np =

#----------------------------------------------------------------------

#======================================================================
# MPI get phase
#======================================================================

[MPI get: ompi-nightly-trunk]
mpi_details = Open MPI

module = OMPI_Snapshot
ompi_snapshot_url = http://www.open-mpi.org/nightly/trunk

#----------------------------------------------------------------------

#======================================================================
# Install MPI phase
#======================================================================

[MPI install: odin 32 bit gcc]
mpi_get = ompi-nightly-trunk
save_stdout_on_success = 1
merge_stdout_stderr = 1
vpath_mode = none

make_all_arguments = -j 6
make_check = 1

compiler_name = gnu
compiler_version = &shell("gcc --version | head -n 1 | awk '{ print \
$3 }'")
configure_arguments = \
FCFLAGS=-m32 FFLAGS=-m32 CFLAGS=-m32 CXXFLAGS=-m32 \
--with-wrapper-cflags=-m32 --with-wrapper-cxxflags=-m32 --with-
wrapper-fflags=-m32 --with-wrapper-fcflags=-m32

module = OMPI

#----------------------------------------------------------------------

#======================================================================
# MPI run details
#======================================================================

[MPI Details: Open MPI tcp sm]
exec = mpirun @hosts@ -mca btl tcp,sm,self -np &test_np() --prefix
&test_prefix() &test_executable() &test_argv()

# Yes, all these quotes are necessary. Don't mess with them!
hosts = &if(&have_hostfile(), "&join("--hostfile ", "&hostfile()")", \
             "&if(&have_hostlist(), "&join("--host ", "&hostlist
()")", "")")

after_each_exec = <<EOT
if test "$MTT_TEST_HOSTFILE" != ""; then
     args="--hostfile $MTT_TEST_HOSTFILE"
elif test "$MTT_TEST_HOSTLIST" != ""; then
     args="--host $MTT_TEST_HOSTLIST"
fi
orterun $args -np $MTT_TEST_NP --prefix $MTT_TEST_PREFIX
mtt_ompi_cleanup.pl
EOT

#----------------------------------------------------------------------

[MPI Details: Open MPI mx sm]
exec = mpirun @hosts@ -mca btl mx,sm,self -np &test_np() --prefix
&test_prefix() &test_executable() &test_argv()

# Yes, all these quotes are necessary. Don't mess with them!
hosts = &if(&have_hostfile(), "&join("--hostfile ", "&hostfile()")", \
             "&if(&have_hostlist(), "&join("--host ", "&hostlist
()")", "")")

after_each_exec = <<EOT
if test "$MTT_TEST_HOSTFILE" != ""; then
     args="--hostfile $MTT_TEST_HOSTFILE"
elif test "$MTT_TEST_HOSTLIST" != ""; then
     args="--host $MTT_TEST_HOSTLIST"
fi
orterun $args -np $MTT_TEST_NP --prefix $MTT_TEST_PREFIX
mtt_ompi_cleanup.pl
EOT

#----------------------------------------------------------------------

[MPI Details: Open MPI mvapi sm]
exec = mpirun @hosts@ -mca btl mvapi,sm,self -np &test_np() --prefix
&test_prefix() &test_executable() &test_argv()

# Yes, all these quotes are necessary. Don't mess with them!
hosts = &if(&have_hostfile(), "&join("--hostfile ", "&hostfile()")", \
             "&if(&have_hostlist(), "&join("--host ", "&hostlist
()")", "")")

after_each_exec = <<EOT
if test "$MTT_TEST_HOSTFILE" != ""; then
     args="--hostfile $MTT_TEST_HOSTFILE"
elif test "$MTT_TEST_HOSTLIST" != ""; then
     args="--host $MTT_TEST_HOSTLIST"
fi
orterun $args -np $MTT_TEST_NP --prefix $MTT_TEST_PREFIX
mtt_ompi_cleanup.pl
EOT

#----------------------------------------------------------------------

#======================================================================
# Test get phase
#======================================================================

[Test get: trivial]
module = Trivial

#----------------------------------------------------------------------

#======================================================================
# Test build phase
#======================================================================

[Test build: trivial]
test_get = trivial
save_stdout_on_success = 1
merge_stdout_stderr = 1
stderr_save_lines = -1

module = Trivial

#----------------------------------------------------------------------

#======================================================================
# Test Run phase
#======================================================================

[Test run: trivial]
test_build = trivial
pass = &eq(&test_exit_status(), 0)
timeout = &multiply(2, test_np())
save_stdout_on_pass = 1
merge_stdout_stderr = 1
stdout_save_lines = 100
np = &env_max_procs()

module = Simple
simple_only:tests = &find_executables(".")

#----------------------------------------------------------------------

#======================================================================
# Reporter phase
#======================================================================

[Reporter: IU database]
module = MTTDatabase

mttdatabase_realm = OMPI
mttdatabase_url = https://www.open-mpi.org/mtt/submit/
# OMPI Core: Change this to be the username and password for your
# submit user. Get this from the OMPI MTT administrator.
mttdatabase_username = XX
mttdatabase_password = XX
# OMPI Core: Change this to be some short string identifying your
# cluster.
mttdatabase_platform = IU - Thor - TESTING

#----------------------------------------------------------------------

# This is a backup for while debugging MTT; it also writes results to
# a local text file
[Reporter: text file backup]
module = TextFile

textfile_filename = mtt-debug-report-2-$phase-$section-$mpi_name-
$mpi_version.txt
textfile_separator =
>>>>----------------------------------------------------------<<<<

#----------------------------------------------------------------------