Open MPI logo

MTT Devel Mailing List Archives

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

Subject: Re: [MTT users] MTT:Error while executing ompi-core-perf-testing.ini
From: Ethan Mallove (ethan.mallove_at_[hidden])
Date: 2010-01-04 10:20:06


Hi Vishal,

The debug output shows that your MTT run aborted because you do not
have a username/passwd for the open-mpi.org/mtt/submit URL. To skip
the IU Database part, try running with --no-section iu.database, e.g.,

  # cat ompi-core-perf-testing.ini | ../client/mtt --no-section iu.database --debug -

Thanks,
Ethan

On Mon, Jan/04/2010 05:08:36PM, vishal shorghar wrote:
> Hi All,
>
> Today I ran ompi-core-perf-test script as "# cat
> ompi-core-perf-testing.ini | ../client/mtt --debug -"
> It gave me following error and exits .
>
> [root_at_veera samples]# cat ompi-core-perf-testing.ini | ../client/mtt
> --debug -
> Debug is 1, Verbose is 1
> *** MTT: ../client/mtt --debug -
> *** Running on veera
> Chdir ../client
> Chdir /root/mtt-svn/samples
> Copying: stdin to /tmp/dw1zvwGZEa.ini
> Expanding include_file(s) parameters in
> /tmp/dw1zvwGZEa.ini Reading ini file: stdin
> Validating INI inifile:
> /tmp/bH9q7NY7Hl.ini FilterINI: Final
> list of sections: [mtt]
>
> [lock]
> [mpi get: ompi-nightly-trunk]
> [mpi get: ompi-nightly-v1.2]
> [mpi get: ompi-released-v1.2]
> [mpi get: mpich1]
> [mpi get: mpich-mx]
> [mpi get: mpich2]
> [mpi get: mvapich1]
> [mpi get: mvapich2]
> [mpi get: hp mpi]
> [mpi get: intel mpi]
> [skip mpi get: scali mpi]
> [skip mpi get: cray mpi]
> [mpi install: ompi/gnu-standard]
> [mpi install: mpich1]
> [mpi install: mpich2]
> [mpi install: mvapich1]
> [mpi install: mvapich2]
> [mpi install: intel mpi]
> [mpi install: hp mpi]
> [mpi details: ompi]
> [mpi details: mpich1]
> [mpi details: mpich2]
> [mpi details: mvapich1]
> [mpi details: mvapich2]
> [mpi details: mpich-mx]
> [mpi details: intel
> mpi] [mpi details: hp
> mpi] [test get:
> netpipe] [test
> get: osu]
> [test get: imb]
> [test get: skampi]
> [test get: nbcbench]
> [test build: netpipe]
> [test build: osu]
> [test build: imb]
> [test build: skampi]
> [test build: nbcbench]
> [test run: netpipe]
> [test run: osu]
> [test run: imb]
> [test run: skampi]
> [test run: nbcbench]
> [reporter: iu database]
> [reporter: text file backup]
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> scratch Value returning:
> scratch: .
> scratch resolved:
> /root/mtt-svn/samples Chdir
> /root/mtt-svn/samples
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT fast_scratch
> Value returning:
> fast_scratch: /root/mtt-svn/samples
> fast_scratch resolved: /root/mtt-svn/samples
> *** Main scratch tree: /root/mtt-svn/samples
> *** Fast scratch tree: /root/mtt-svn/samples
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT force
> Value returning:
> Making dir: /root/mtt-svn/samples/sources (cwd:
> /root/mtt-svn/samples) Making dir: /root/mtt-svn/samples/installs
> (cwd: /root/mtt-svn/samples) Making dir:
> /root/mtt-svn/samples/test_runs (cwd: /root/mtt-svn/samples) Value
> got: Config::IniFiles=HASH(0xf872ad0) MTT funclet_files
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT hostfile
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT hostlist
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT max_np
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> textwrap Value returning:
> Value got:
> Config::IniFiles=HASH(0xf872ad0) MTT drain_timeout Value
> returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT trim_save_successful
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT trim_save_failed
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT trial
> Value returning: 1
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> http_proxy Value returning:
> Value got:
> Config::IniFiles=HASH(0xf872ad0) MTT https_proxy Value
> returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT ftp_proxy
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT terminate_files
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT pause_files
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> min_disk_free Value returning:
> Value got:
> Config::IniFiles=HASH(0xf872ad0) MTT min_disk_free_wait Value
> returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT delete_fast_scratch
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> save_fast_scratch_files Value returning:
> Value got:
> Config::IniFiles=HASH(0xf872ad0) MTT
> docommand_timeout_notify_file
>
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> docommand_timeout_notify_email
>
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> docommand_timeout_notify_timeout
>
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> docommand_timeout_backtrace_program
>
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT before_all_exec
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> before_all_exec_timeout Value returning:
> Value got:
> Config::IniFiles=HASH(0xf872ad0) MTT before_all_exec_pass Value
> returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT before_each_exec
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> before_each_exec_timeout Value returning:
> Value got:
> Config::IniFiles=HASH(0xf872ad0) MTT before_each_exec_pass Value
> returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT after_all_exec
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> after_all_exec_timeout Value returning:
> Value got:
> Config::IniFiles=HASH(0xf872ad0) MTT after_all_exec_pass Value
> returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT after_each_exec
> Value returning:
> Value got: Config::IniFiles=HASH(0xf872ad0) MTT
> after_each_exec_timeout Value returning:
> Value got:
> Config::IniFiles=HASH(0xf872ad0) MTT after_each_exec_pass Value
> returning:
> Value got: Config::IniFiles=HASH(0xf8fb9d0) lock module
> Value returning:
> Value got: Config::IniFiles=HASH(0xf8fb9d0) mtt log_file logfile
> Value returning:
> *** Reporter initializing
> Value got: Config::IniFiles=HASH(0xf8fb9d0) reporter: iu
> database module Value returning: MTTDatabase
> >> Initializing reporter module: MTTDatabase
> Evaluating: require MTT::Reporter::MTTDatabase
> Evaluating: $ret =
> &MTT::Reporter::MTTDatabase::Init(@args) Value got:
> Config::IniFiles=HASH(0xf8fb9d0) reporter: iu database
> mttdatabase_username
>
> Value returning: you must set this value
> Value got: Config::IniFiles=HASH(0xf8fb9d0) reporter: iu database
> mttdatabase_password
>
> Value returning: you must set this value
> Value got: Config::IniFiles=HASH(0xf8fb9d0) reporter: iu database
> mttdatabase_url
>
> Value returning: https://www.open-mpi.org/mtt/submit/
> Value got: Config::IniFiles=HASH(0xf8fb9d0) reporter: iu database
> mttdatabase_realm
>
> Value returning: OMPI
> Value got: Config::IniFiles=HASH(0xf8fb9d0) reporter: iu database
> mttdatabase_email_errors_to
>
> Value returning:
> Value got: Config::IniFiles=HASH(0xf8fb9d0) reporter: iu database
> mttdatabase_debug_filename
> Value returning: mttdb_debug_file_perf
> Value got: Config::IniFiles=HASH(0xf8fb9d0) reporter: iu database
> mttdatabase_keep_debug_files
> Value returning: 1
> Value got: Config::IniFiles=HASH(0xf8fb9d0) reporter: iu database
> mttdatabase_debug_server
> Value returning:
> Value got: Config::IniFiles=HASH(0xf8fb9d0) reporter: iu database
> mttdatabase_hostname
> Value returning:
> Value got: Config::IniFiles=HASH(0xf8fb9d0) mtt local_username
> Value returning:
> Value got: Config::IniFiles=HASH(0xf8fb9d0) reporter: iu database
> mttdatabase_platform
> Value returning: you must set this value
> Set HTTP credentials for realm "OMPI"
> MTTDatabase client getting a client serial number...
> MTTDatabase client trying proxy: / Default (none)
> MTTDatabase proxy successful / not 500
> *** WARNING: >> Failed test ping to MTTDatabase URL:
> https://www.open-mpi.org:443/mtt/submit/
> *** WARNING: >> Error was: 401 Authorization Required
> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
> <html><head>
> <title>401 Authorization Required</title>
> </head><body>
> <h1>Authorization Required</h1>
> <p>This server could not verify that you
> are authorized to access the document
> requested. Either you supplied the wrong
> credentials (e.g., bad password), or your
> browser doesn't understand how to supply
> the credentials required.</p>
> <hr>
> <address>Apache Server at www.open-mpi.org Port 443</address>
> </body></html>
> *** ERROR: Module aborted: MTT::Reporter::MTTDatabase:Init: *** ERROR: >>
> Do not want to continue with possible bad submission URL --
> aborting.
>
> Could anyone suggest me if any modification required in
> ompi-core-perf-testing.ini or any other way to run this test.
>
> ompi-core-perf-testing.ini file is attached.
>
> Regards,
>
> Vishal
>

> #
> # Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved.
> #
> # Note that there are many items in this file that, while they are
> # good for examples, may not work for random MTT users. For example,
> # the "ompi-tests" SVN repository that is used in the examples below
> # is *not* a public repository (there's nothing really secret in this
> # repository; it contains many publicly-available MPI tests and
> # benchmarks, but we have never looked into the redistribution rights
> # of these codes, so we keep the SVN repository "closed" to the
> # general public and only use it internally in the Open MPI project).
>
> #======================================================================
> # Generic OMPI core performance testing template configuration
> #======================================================================
>
> [MTT]
> # Leave this string so that we can identify this data subset in the
> # database
> # OMPI Core: Use a "test" label until we're ready to run real results
> description = [testbake]
> # description = [2007 collective performance bakeoff]
> # OMPI Core: Use the "trial" flag until we're ready to run real results
> trial = 1
>
> # Put other values here as relevant to your environment.
>
> #----------------------------------------------------------------------
>
> [Lock]
> # Put values here as relevant to your environment.
>
> #======================================================================
> # MPI get phase
> #======================================================================
>
> [MPI get: ompi-nightly-trunk]
> mpi_details = OMPI
>
> module = OMPI_Snapshot
> ompi_snapshot_url = http://www.open-mpi.org/nightly/trunk
>
> #----------------------------------------------------------------------
>
> [MPI get: ompi-nightly-v1.2]
> mpi_details = OMPI
>
> module = OMPI_Snapshot
> ompi_snapshot_url = http://www.open-mpi.org/nightly/v1.2
>
> #----------------------------------------------------------------------
>
> [MPI get: ompi-released-v1.2]
> mpi_details = OMPI
>
> module = OMPI_Snapshot
> ompi_snapshot_url = http://www.open-mpi.org/software/ompi/v1.2/downloads
>
> #----------------------------------------------------------------------
>
> [MPI get: MPICH1]
> mpi_details = MPICH1
>
> module = Download
> # MPICH1 from the Argonne web site
> #download_url = http://www-unix.mcs.anl.gov/mpi/mpich1/downloads/mpich.tar.gz
> # If you are using SLURM, use this URL -- it's the same exact
> # mpich.tar.gz but with the SLURM 1.2.12/etc/mpich1.slurm.patch in it
> # (which allows native launching under SLURM).
> download_url = http://www.open-mpi.org/~jsquyres/ompi-coll-bakeoff/mpich-1.2.7p1-patched-for-slurm.tar.gz
> # This version is fixed/frozen, so it's ok to hard-code it
> download_version = 1.2.7p1
>
> #----------------------------------------------------------------------
>
> [MPI get: MPICH-MX]
> mpi_details = MPICH-MX
>
> module = Download
> download_url = http://www.myri.com/ftp/pub/MPICH-MX/mpich-mx_1.2.7..5.tar.gz
> # You need to obtain the username and password from Myricom
> download_username = <OBTAIN THIS FROM MYRICOM>
> download_password = <OBTAIN THIS FROM MYRICOM>
>
> #----------------------------------------------------------------------
>
> [MPI get: MPICH2]
> mpi_details = MPICH2
>
> module = Download
> download_url = http://www-unix.mcs.anl.gov/mpi/mpich2/downloads/mpich2-1.0.5p4.tar.gz
>
> #----------------------------------------------------------------------
>
> [MPI get: MVAPICH1]
> mpi_details = MVAPICH1
>
> module = Download
> download_url = http://mvapich.cse.ohio-state.edu/download/mvapich/mvapich-0.9.9.tar.gz
>
> #----------------------------------------------------------------------
>
> [MPI get: MVAPICH2]
> mpi_details = MVAPICH2
>
> module = Download
> download_url = http://mvapich.cse.ohio-state.edu/download/mvapich2/mvapich2-0.9.8p3.tar.gz
>
> #----------------------------------------------------------------------
>
> [MPI get: HP MPI]
> mpi_details = HP MPI
>
> # You need to have HP MPI already installed somewhere
> module = AlreadyInstalled
> # Fill this in with the version of your HP MPI
> alreadyinstalled_version = 2.2.5.1b1
>
> #----------------------------------------------------------------------
>
> [MPI get: Intel MPI]
> mpi_details = Intel MPI
>
> # You need to have Intel MPI already installed somewhere
> module = AlreadyInstalled
> # Fill this in with the version of your Intel MPI
> alreadyinstalled_version = 3.0
>
> #----------------------------------------------------------------------
>
> [SKIP MPI get: Scali MPI]
> mpi_details = Scali MPI
>
> # You need to have Scali MPI already installed somewhere
> module = AlreadyInstalled
> # Fill this in with the version of your Scali MPI
> alreadyinstalled_version = ???
>
> #----------------------------------------------------------------------
>
> [SKIP MPI get: Cray MPI]
> mpi_details = Cray MPI
>
> # You need to have Cray MPI already installed somewhere
> module = AlreadyInstalled
> # Fill this in with the version of your Cray MPI
> alreadyinstalled_version = ???
>
> #======================================================================
> # Install MPI phase
> #======================================================================
>
> # All flavors of Open MPI
> [MPI install: OMPI/GNU-standard]
> mpi_get = ompi-nightly-trunk, ompi-nightly-v1.2, ompi-released-v1.2
> save_stdout_on_success = 1
> merge_stdout_stderr = 0
>
> module = OMPI
> ompi_make_all_arguments = -j 8
> ompi_compiler_name = gnu
> ompi_compiler_version = &get_gcc_version()
> # Adjust these configure flags for your site
> ompi_configure_arguments = CFLAGS=-O3 --with-openib --enable-mpirun-prefix-by-default --enable-branch-probabilities --disable-heterogeneous --without-mpi-param-check
>
> #----------------------------------------------------------------------
>
> [MPI install: MPICH1]
> mpi_get = mpich1
> save_stdout_on_success = 1
> merge_stdout_stderr = 0
> # Ensure that MPICH allocates enough shared memory (32MB seems to be
> # enough for ppn=4; went to 64MB to give it plenty of room)
> setenv = P4_GLOBMEMSIZE 67108864
>
> module = MPICH2
> mpich2_use_all_target = 0
> mpich2_apply_slurm_patch = 1
> mpich2_compiler_name = gnu
> mpich2_compiler_version = &get_gcc_version()
> mpich2_configure_arguments = -cflags=-O3 -rsh=ssh --with-device=ch_p4 --with-comm=shared
>
> #----------------------------------------------------------------------
>
> [MPI install: MPICH2]
> mpi_get = mpich2
> save_stdout_on_success = 1
> merge_stdout_stderr = 0
> # Adjust this for your site (this is what works at Cisco). Needed to
> # launch in SLURM; adding this to LD_LIBRARY_PATH here propagates this
> # all the way through the test run phases that use this MPI install,
> # where the test executables will need to have this set.
> prepend_path = LD_LIBRARY_PATH /opt/slurm/current/lib
>
> module = MPICH2
> mpich2_compiler_name = gnu
> mpich2_compiler_version = &get_gcc_version()
> mpich2_configure_arguments = --disable-f90 CFLAGS=-O3 --enable-fast --with-device=ch3:nemesis
> # These are needed to launch through SLURM; adjust as appropriate.
> mpich2_additional_wrapper_ldflags = -L/opt/slurm/current/lib
> mpich2_additional_wrapper_libs = -lpmi
>
> #----------------------------------------------------------------------
>
> [MPI install: MVAPICH1]
> mpi_get = mvapich1
> save_stdout_on_success = 1
> merge_stdout_stderr = 0
> # Setting this makes MVAPICH assume that the same HCAs are on all
> # hosts and therefore it makes some optimizations
> setenv = VIADEV_USE_COMPAT_MODE 0
>
> module = MVAPICH2
> # Adjust this to be where your OFED is installed
> mvapich2_setenv = IBHOME /usr
> # Leave this set (COMPAT); if you don't, their script asks questions,
> # causing MTT to hang
> mvapich2_setenv = COMPAT AUTO_DETECT
> mvapich2_build_script = make.mvapich.gen2
> mvapich2_compiler_name = gnu
> mvapich2_compiler_version = &get_gcc_version()
>
> #----------------------------------------------------------------------
>
> [MPI install: MVAPICH2]
> mpi_get = mvapich2
> save_stdout_on_success = 1
> merge_stdout_stderr = 0
> # Adjust this for your site (this is what works at Cisco). Needed to
> # launch in SLURM; adding this to LD_LIBRARY_PATH here propagates this
> # all the way through the test run phases that use this MPI install,
> # where the test executables will need to have this set.
> prepend_path = LD_LIBRARY_PATH /opt/slurm/current/lib
>
> module = MVAPICH2
> # Adjust this to be where your OFED is installed
> mvapich2_setenv = OPEN_IB_HOME /usr
> mvapich2_build_script = make.mvapich2.ofa
> mvapich2_compiler_name = gnu
> mvapich2_compiler_version = &get_gcc_version()
> # These are needed to launch through SLURM; adjust as appropriate.
> mvapich2_additional_wrapper_ldflags = -L/opt/slurm/current/lib
> mvapich2_additional_wrapper_libs = -lpmi
>
> #----------------------------------------------------------------------
>
> [MPI install: Intel MPI]
> mpi_get = Intel MPI
> # Adjust this if you need to. It guarantees that multiple MPD's
> # running on the same host will not collide. If you'll ever have
> # multi-job-on-the-same-host conflicts, you may want to adjust this to
> # reflect some unique identifier (e.g., a resource manager ID).
> setenv = MPD_CON_EXT mtt-unique-mpd.&getenv("SLURM_JOBID")
>
> module = Analyze::IntelMPI
>
> #----------------------------------------------------------------------
>
> [MPI install: HP MPI]
> mpi_get = HP MPI
>
> module = Analyze::HPMPI
>
> #======================================================================
> # MPI run details
> #======================================================================
>
> [MPI Details: OMPI]
> # Check &test_alloc() for byslot or bynode
> exec = mpirun @alloc@ -np &test_np() @mca@ &test_executable() &test_argv()
> parameters = &MPI::OMPI::find_mpirun_params(&test_command_line(), \
> &test_executable())
> network = &MPI::OMPI::find_network(&test_command_line(), &test_executable())
>
> alloc = &if(&eq(&test_alloc(), "node"), "--bynode", "--byslot")
> mca = &enumerate( \
> "--mca btl sm,tcp,self " . @common_params@, \
> "--mca btl tcp,self " . @common_params@, \
> "--mca btl sm,openib,self " . @common_params@, \
> "--mca btl sm,openib,self --mca mpi_leave_pinned 1 " . @common_params@, \
> "--mca btl openib,self " . @common_params@, \
> "--mca btl openib,self --mca mpi_leave_pinned 1 " . @common_params@, \
> "--mca btl openib,self --mca mpi_leave_pinned_pipeline 1 " . @common_params@, \
> "--mca btl openib,self --mca btl_openib_use_srq 1 " . @common_params@)
>
> # v1.2 has a problem with striping across heterogeneous ports right now:
> # https://svn.open-mpi.org/trac/ompi/ticket/1125. Also keep the coll
> # bakeoff tests on DDR only.
> common_params = "--mca btl_tcp_if_include ib0 --mca oob_tcp_if_include ib0 --mca btl_openib_if_include mthca0 --mca mpi_paffinity_alone 1" . \
> &if(&or(&eq(&mpi_get_name(), "ompi-nightly-v1.2"), \
> &eq(&mpi_get_name(), "ompi-released-v1.2")), \
> "--mca btl_openib_max_btls 1", "")
>
> # It is important that the after_each_exec step is a single
> # command/line so that MTT will launch it directly (instead of via a
> # temporary script). This is because the "srun" command is
> # (intentionally) difficult to kill in some cases. See
> # https://svn.open-mpi.org/trac/mtt/changeset/657 for details.
>
> after_each_exec = &if(&ne("", &getenv("SLURM_NNODES")), "srun -N " . &getenv("SLURM_NNODES")) /home/mpiteam/svn/ompi-tests/cisco/mtt/after_each_exec.pl
>
> #----------------------------------------------------------------------
>
> [MPI Details: MPICH1]
>
> # Launching through SLURM. From
> # http://www.llnl.gov/linux/slurm/quickstart.html.
> exec = srun @alloc@ -n &test_np() --mpi=mpich1_p4 &test_executable() &test_argv()
>
> # If not using SLURM, you'll need something like this (not tested).
> # You may need different hostfiles for running by slot/by node.
> #exec = mpirun -np &test_np() -machinefile &hostfile() &test_executable()
>
> network = loopback,ethernet
>
> # In this SLURM example, if each node has 4 CPUs, telling SLURM to
> # launching "by node" means specifying that each MPI process will use 4
> # CPUs.
> alloc = &if(&eq(&test_alloc(), "node"), "-c 4", "")
>
> #----------------------------------------------------------------------
>
> [MPI Details: MPICH2]
>
> # Launching through SLURM. If you use mpdboot instead, you need to
> # ensure that multiple mpd's on the same node don't conflict (or never
> # happen).
> exec = srun @alloc@ -n &test_np() &test_executable() &test_argv()
>
> # If not using SLURM, you'll need something like this (not tested).
> # You may need different hostfiles for running by slot/by node.
> #exec = mpiexec -np &test_np() --host &hostlist() &test_executable()
>
> network = loopback,ethernet,shmem
>
> # In this SLURM example, if each node has 4 CPUs, telling SLURM to
> # launching "by node" means specifying that each MPI process will use 4
> # CPUs.
> alloc = &if(&eq(&test_alloc(), "node"), "-c 4", "")
>
> #----------------------------------------------------------------------
>
> [MPI Details: MVAPICH1]
>
> # Launching through SLURM. From
> # http://www.llnl.gov/linux/slurm/quickstart.html.
> exec = srun @alloc@ -n &test_np() --mpi=mvapich &test_executable() &test_argv()
>
> # If not using SLURM, you'll need something like this (not tested).
> # You may need different hostfiles for running by slot/by node.
> #exec = mpirun -np &test_np() --machinefile &hostfile() &test_executable()
>
> network = loopback,verbs,shmem
>
> # In this example, each node has 4 CPUs, so to launch "by node", just
> # specify that each MPI process will use 4 CPUs.
> alloc = &if(&eq(&test_alloc(), "node"), "-c 4", "")
>
> #----------------------------------------------------------------------
>
> [MPI Details: MVAPICH2]
>
> # Launching through SLURM. If you use mpdboot instead, you need to
> # ensure that multiple mpd's on the same node don't conflict (or never
> # happen).
> exec = srun @alloc@ -n &test_np() &test_executable() &test_argv()
>
> # If not using SLURM, you'll need something like this (not tested).
> # You may need different hostfiles for running by slot/by node.
> #exec = mpiexec -np &test_np() --host &hostlist() &test_executable()
>
> network = loopback,verbs,shmem
>
> # In this example, each node has 4 CPUs, so to launch "by node", just
> # specify that each MPI process will use 4 CPUs.
> alloc = &if(&eq(&test_alloc(), "node"), "-c 4", "")
>
> #----------------------------------------------------------------------
>
> [MPI Details: MPICH-MX]
>
> # Launching through SLURM. From
> # http://www.llnl.gov/linux/slurm/quickstart.html.
> exec = srun @alloc@ -n &test_np() --mpi=mpichgm &test_executable() &test_argv()
> network = mx
>
> # If not using SLURM, you'll need something like this (not tested).
> # You may need different hostfiles for running by slot/by node.
> #exec = mpirun -np &test_np() --machinefile &hostfile() &test_executable()
>
> # In this example, each node has 4 CPUs, so to launch "by node", just
> # specify that each MPI process will use 4 CPUs.
> alloc = &if(&eq(&test_alloc(), "node"), "-c 4", "")
>
> #----------------------------------------------------------------------
>
> [MPI Details: Intel MPI]
>
> # Need a before_any_exec step to launch MPDs
> before_any_exec = <<EOF
> h=`hostname`
> file=mtt-hostlist.$$
> rm -f $file
> # If we're allocating by node, get each hostname once. Otherwise, get
> # each hostname as many times as we have slots on that node.
> srun hostname | uniq > $file
> # Add localhost if it's not in there (e.g., srun -A)
> local=`grep $h $file`
> touch /tmp/mtt-mpiexec-options.$SLURM_JOBID
> if test "$local" = ""; then
> echo $h >> $file
> echo -nolocal > /tmp/mpiexec-options.$SLURM_JOBID
> fi
> num=`wc -l $file | awk '{ print $1 }'`
> mpdboot -n $num -r ssh --verbose --file=$file
> mpdtrace
> rm -f $file
> EOF
>
> # Intel MPI seems to default to by-node allocation and I can't figure
> # out how to override it. Sigh.
> exec = mpiexec @options@ -n &test_np() ./&test_executable() &test_argv()
> network = loopback,verbs,shmem
>
> # Test both the "normal" collective algorithms and Intel's "fast"
> # collective algorithms (their docs state that the "fast" algorithms
> # may not be MPI conformant, and may not give the same results between
> # multiple runs, assumedly if the process layout is different).
> options = &stringify(&cat("/tmp/mpiexec-options." . &getenv("SLURM_JOBID"))) \
> &enumerate("-genv I_MPI_DEVICE rdssm", \
> "-genv I_MPI_DEVICE rdssm -genv I_MPI_FAST_COLLECTIVES 1")
>
> after_all_exec = <<EOT
> rm -f /tmp/mpiexec-options.$SLURM_JOBID
> mpdallexit
> EOT
>
> #----------------------------------------------------------------------
>
> [MPI Details: HP MPI]
>
> # I use MPI_IBV_NO_FORK_SAFE=1 because I'm using RHEL4U4, which
> # doesn't have IBV fork() support. I also have multiple active HCA
> # ports and therefore need to give HP MPI a clue on the scheduling of
> # ports via MPI_IB_CARD_ORDER. I got this information via e-mailing
> # HP MPI support.
> #
> # In SLURM, HP MPI seems to schedule first by node and then by slot.
> # So if you have 2 quad-core nodes in your SLURM alloc, if you mpirun
> # -np 2, you'll get one proc on each node. If you mpirun -np 4,
> # you'll get MCW ranks 0 and 1 on the first node and MCA ranks 2 and 3
> # on the second node. This is pretty much exactly what we want, so we
> # don't need to check &test_alloc() here.
> exec = mpirun -IBV -e MPI_IBV_NO_FORK_SAFE=1 -e MPI_IB_CARD_ORDER=0:0 -srun -n&test_np() ./&test_executable() &test_argv()
> network = loopback,verbs,shmem
>
> #======================================================================
> # Test get phase
> #======================================================================
>
> [Test get: netpipe]
> module = Download
> download_url = http://www.scl.ameslab.gov/netpipe/code/NetPIPE_3.6.2.tar.gz
>
> #----------------------------------------------------------------------
>
> [Test get: osu]
> module = SVN
> svn_url = https://svn.open-mpi.org/svn/ompi-tests/trunk/osu
>
> #----------------------------------------------------------------------
>
> [Test get: imb]
> module = SVN
> svn_url = https://svn.open-mpi.org/svn/ompi-tests/trunk/IMB_2.3
>
> #----------------------------------------------------------------------
>
> [Test get: skampi]
> module = SVN
> svn_url = https://svn.open-mpi.org/svn/ompi-tests/trunk/skampi-5.0.1
>
> #----------------------------------------------------------------------
>
> [Test get: nbcbench]
> module = SVN
> svn_url = https://svn.open-mpi.org/svn/ompi-tests/trunk/nbcbench
>
> #======================================================================
> # Test build phase
> #======================================================================
>
> [Test build: netpipe]
> test_get = netpipe
> save_stdout_on_success = 1
> merge_stdout_stderr = 1
> stderr_save_lines = 100
>
> module = Shell
> shell_build_command = <<EOT
> make mpi
> EOT
>
> #----------------------------------------------------------------------
>
> [Test build: osu]
> test_get = osu
> save_stdout_on_success = 1
> merge_stdout_stderr = 1
> stderr_save_lines = 100
>
> module = Shell
> shell_build_command = <<EOT
> make osu_latency osu_bw osu_bibw
> EOT
>
> #----------------------------------------------------------------------
>
> [Test build: imb]
> test_get = imb
> save_stdout_on_success = 1
> merge_stdout_stderr = 1
>
> module = Shell
> shell_build_command = <<EOT
> cd src
> make clean IMB-MPI1
> EOT
>
> #----------------------------------------------------------------------
>
> [Test build: skampi]
> test_get = skampi
> save_stdout_on_success = 1
> merge_stdout_stderr = 1
> stderr_save_lines = 100
>
> module = Shell
> # Set EVERYONE_CAN_MPI_IO for HP MPI
> shell_build_command = <<EOT
> make CFLAGS="-O2 -DPRODUCE_SPARSE_OUTPUT -DEVERYONE_CAN_MPI_IO"
> EOT
>
> #----------------------------------------------------------------------
>
> [Test build: nbcbench]
> test_get = nbcbench
> save_stdout_on_success = 1
> merge_stdout_stderr = 1
> stderr_save_lines = 100
>
> module = Shell
> shell_build_command = <<EOT
> make
> EOT
>
> #======================================================================
> # Test Run phase
> #======================================================================
>
> [Test run: netpipe]
> test_build = netpipe
> pass = &and(&cmd_wifexited(), &eq(&cmd_wexitstatus(), 0))
> # Timeout hueristic: 10 minutes
> timeout = 10:00
> save_stdout_on_pass = 1
> # Ensure to leave this value as "-1", or performance results could be lost!
> stdout_save_lines = -1
> merge_stdout_stderr = 1
> np = 2
> alloc = node
>
> specify_module = Simple
> analyze_module = NetPipe
>
> simple_pass:tests = NPmpi
>
> #----------------------------------------------------------------------
>
> [Test run: osu]
> test_build = osu
> pass = &and(&cmd_wifexited(), &eq(&cmd_wexitstatus(), 0))
> # Timeout hueristic: 10 minutes
> timeout = 10:00
> save_stdout_on_pass = 1
> # Ensure to leave this value as "-1", or performance results could be lost!
> stdout_save_lines = -1
> merge_stdout_stderr = 1
> np = 2
> alloc = node
>
> specify_module = Simple
> analyze_module = OSU
>
> simple_pass:tests = osu_bw osu_latency osu_bibw
>
> #----------------------------------------------------------------------
>
> [Test run: imb]
> test_build = imb
> pass = &and(&cmd_wifexited(), &eq(&cmd_wexitstatus(), 0))
> # Timeout hueristic: 10 minutes
> timeout = 10:00
> save_stdout_on_pass = 1
> # Ensure to leave this value as "-1", or performance results could be lost!
> stdout_save_lines = -1
> merge_stdout_stderr = 1
> np = &env_max_procs()
>
> argv = -npmin &test_np() &enumerate("PingPong", "PingPing", "Sendrecv", "Exchange", "Allreduce", "Reduce", "Reduce_scatter", "Allgather", "Allgatherv", "Alltoall", "Bcast", "Barrier")
>
> specify_module = Simple
> analyze_module = IMB
>
> simple_pass:tests = src/IMB-MPI1
>
> #----------------------------------------------------------------------
>
> [Test run: skampi]
> test_build = skampi
> pass = &and(&cmd_wifexited(), &eq(&cmd_wexitstatus(), 0))
> # Timeout hueristic: 10 minutes
> timeout = 10:00
> save_stdout_on_pass = 1
> # Ensure to leave this value as "-1", or performance results could be lost!
> stdout_save_lines = -1
> merge_stdout_stderr = 1
> np = &env_max_procs()
>
> argv = -i &find("mtt_.+.ski", "input_files_bakeoff")
>
> specify_module = Simple
> analyze_module = SKaMPI
>
> simple_pass:tests = skampi
>
> #----------------------------------------------------------------------
>
> [Test run: nbcbench]
> test_build = nbcbench
> pass = &and(&test_wifexited(), &eq(&test_wexitstatus(), 0))
> timeout = -1
> save_stdout_on_pass = 1
> # Ensure to leave this value as "-1", or performance results could be lost!
> stdout_save_lines = -1
> merge_stdout_stderr = 1
>
> specify_module = Simple
> analyze_module = NBCBench
> simple_pass:tests = nbcbench
>
> argv = -p &test_np()-&test_np() -s 1-1048576 -v -t \
> &enumerate("MPI_Allgatherv", "MPI_Allgather", "MPI_Allreduce", \
> "MPI_Alltoall", "MPI_Alltoallv", "MPI_Barrier", "MPI_Bcast", \
> "MPI_Gather", "MPI_Gatherv", "MPI_Reduce", "MPI_Reduce_scatter", \
> "MPI_Scan", "MPI_Scatter", "MPI_Scatterv")
>
> #======================================================================
> # Reporter phase
> #======================================================================
>
> [Reporter: IU database]
> module = MTTDatabase
>
> mttdatabase_realm = OMPI
> mttdatabase_url = https://www.open-mpi.org/mtt/submit/
> # Change this to be the username and password for your submit user.
> # Get this from the OMPI MTT administrator.
> mttdatabase_username = you must set this value
> mttdatabase_password = you must set this value
> # Change this to be some short string identifying your cluster.
> mttdatabase_platform = you must set this value
>
> mttdatabase_debug_filename = mttdb_debug_file_perf
> mttdatabase_keep_debug_files = 1
>
> #----------------------------------------------------------------------
>
> # This is a backup reporter; it also writes results to a local text
> # file
>
> [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")
> Username: &shell("who am i")
> EOT
>
> textfile_summary_footer =
> textfile_detail_header =
> textfile_detail_footer =
>
> textfile_textwrap = 78

> _______________________________________________
> mtt-users mailing list
> mtt-users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users