Skip to content
wmdamico edited this page Oct 16, 2014 · 2 revisions

This page is a very brief intro to using MTT. For a more comprehensive user guide, see the overview.

Running MTT With a Pre-Installed MPI

A pre-installed MPI (such as a developer workspace or platform-specific packages) can be run using MTT. You will first need an SVN checkout of MTT:

$ svn checkout https://svn.open-mpi.org/svn/mtt/branches/ompi-core-testers

The INI File

MTT is configured by an INI file, which is thoroughly documented here. However, most parts of the INI file will not concern those using MTT to test their developer workspace. A global INI parameter that requires immediate attention for getting up and running with MTT is:

[[hostlist|INI-Section:-MTT#hostlist]]

INI parameters can be hard-coded in the INI file, and they can also be overridden at the command line (see INIOverrides). So the following is a valid command, e.g.:

$ cat developer.ini trivial.ini | ../client/mtt - hostlist=host1,host2

Invoking the MTT Client

Some sample INI configuration files are available in the samples directory.

$ cd samples

Invoke the mtt client using the below command. (For starters, it is recommended to just run the Trivial tests to verify everything is running correctly.)

$ cat developer.ini trivial.ini | ../client/mtt - hostlist=host1,host2 alreadyinstalled_dir=/some/dir

The alreadyinstalled_dir=/some/dir setting can be dropped if it is specified in developer.ini or if mpirun is in your PATH. To run the Intel tests, simply cat the intel.ini file into client/mtt as well.

$ cat developer.ini trivial.ini intel.ini | ../client/mtt - hostlist=host1,host2 alreadyinstalled_dir=/some/dir

You may want to eventually customize your INI configuration file(s) to meet your specific testing needs. E.g.,

$ cat developer.ini trivial.ini intel.ini > ../my_config.ini

... do some customization to my_config.ini ...

$ cd ..
$ client/mtt -f my_config.ini hostlist=host1,host2 alreadyinstalled_dir=/some/dir

The AlreadyInstalled Module

The AlreadyInstalled MPI get module tells MTT that it does not need to fetch an MPI implementation. It simply points MTT to an MPI that is already installed. (It is essentially a "dummy" section which splices in your MPI installation where it would otherwise use an installation that MTT itself installed.)

[MPI get: workspace]
mpi_details = Open MPI
module = AlreadyInstalled

The TextFile Module

The below Reporter section tells MTT to print a summary report of the results to stdout (instead of sending the results to a central MTT database), and to print detailed reports to files specified by the textfile_filename parameter. The report headers, report footers, and textwrap are customizable.

[Reporter: text file backup]
module = TextFile

textfile_filename = $phase-$section-$mpi_name-$mpi_version.txt

textfile_summary_header = <<EOT
hostname: &shell("hostname")
uname: &shell("uname -a")
who am i: &shell("who am i")
EOT

textfile_summary_footer =
textfile_detail_header  =
textfile_detail_footer  =

textfile_textwrap = 78

Viewing Test Results

MTT will print out a summary report to stdout at the end of the Test Run which looks something like this:

  MTT Results Summary
  hostname: burl-ct-v20z-2
  uname: SunOS burl-ct-v20z-2 5.10 Generic_118855-33 i86pc i386 i86pc
  who am i: jimbob     pts/19       Mar 30 10:39  (sr1-ubur-06)
  +-------------+-----------+------+------+----------+------+
  | Phase       | Section   | Pass | Fail | Time out | Skip |
  +-------------+-----------+------+------+----------+------+
  | MPI install | workspace | 1    | 0    | 0        | 0    |
  | Test Build  | trivial   | 1    | 0    | 0        | 0    |
  | Test Run    | trivial   | 8    | 0    | 0        | 0    |
  +-------------+-----------+------+------+----------+------+

For details on the result(s), verbose reports are dumped as text files in your scratch directory. (By default, your scratch is cwd, or you can specify another directory using --scratch). Result fields that are identical across every test case are put atop the detailed report. E.g., in the below sample detail report, every test was run with np=2, and every test had exit_status=0. Therefore, those repeating result/value pairs appear at the top of the report.

$ cat Test_run-trivial-workspace-1.2.1r14096-ct7b030r1838.txt

  +--------------------------+------------------------------------------------------------+
  | Field                    | Value                                                      |
  +--------------------------+------------------------------------------------------------+
  | exit_signal              | -1                                                         |
  | exit_value               | 0                                                          |
  | mpi_install_section_name | workspace                                                  |
  | mpi_name                 | workspace                                                  |
  | mpi_version              | 1.2.1r14096-ct7b030r1838                                   |
  | np                       | 2                                                          |
  | phase                    | Test run                                                   |
  | result_message           | Passed                                                     |
  | result_stderr            |                                                            |
  | variant                  | 1                                                          |
  |                          |                                                            |
  | command                  | mpirun --host burl-ct-v20z-2,burl-ct-v20z-3 -np 2 --prefix |
  |                          | /opt/SUNWhpc/HPC7.0/ ./c_hello                             |
  | duration                 | 17 seconds                                                 |
  | result_stdout            | Hello, C world!  I am 0 of 2                               |
  |                          | Hello, C world!  I am 1 of 2                               |
  | start_timestamp          | Wed Apr  4 13:21:09 2007                                   |
  | test_name                | c_hello                                                    |
  |                          |                                                            |
  | command                  | mpirun --host burl-ct-v20z-2,burl-ct-v20z-3 -np 2 --prefix |
  |                          | /opt/SUNWhpc/HPC7.0/ ./c_ring                              |
  | duration                 | 4 seconds                                                  |
  | result_stdout            |                                                            |
  | start_timestamp          | Wed Apr  4 13:21:26 2007                                   |
  | test_name                | c_ring                                                     |
  |                          |
  ....

Questions/More Info

Links to more info are on the MTT wiki home.

Submit all feedback to [mailto:[email protected] [email protected]].