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@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-us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users