I have found the solution. The command *mpirun -machinefile ./my_hosts -n 3
./testMPI* works. I think the order of arguments matters here.

On Thu, Sep 25, 2014 at 11:02 AM, XingFENG <xingf...@cse.unsw.edu.au> wrote:

> Hi all,
>
> I got problem with running program on a cluster.
> I used the following command. *my_hosts* is a file containing 3 hosts
> while *testMPI* is a very simple MPI program.
> ==========================================
>
>
>
> *mpirun -np 2 --hostfile ./my_hosts ./testMPImpirun -np 2 --machinefile
> ./my_hosts ./testMPImpirun -np 2 --f ./my_hosts ./testMPI*
> ==========================================
>
> And the output is like this.
> ==========================================
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *invalid "local" arg: --hostfileusage:mpiexec [-h or -help or --help]    #
> get this messagempiexec -file filename             # (or -f) filename
> contains XML job descriptionmpiexec [global args] [local args] executable
> [args]   where global args may be      -l                           # line
> labels by MPI rank      -bnr                         # MPICH1 compatibility
> mode      -machinefile                 # file mapping procs to
> machines      -s <spec>                    # direct stdin to "all" or 1,2
> or 2-4,6       -1                           # override default of trying
> 1st proc locally      -ifhn                        # network interface to
> use locally      -tv                          # run procs under totalview
> (must be installed)      -tvsu                        # totalview startup
> only      -gdb                         # run procs under gdb
> -m                           # merge output lines (default with gdb)
> -a                           # means assign this alias to the job
> -ecfn                        # output_xml_exit_codes_filename
> -recvtimeout <integer_val>   # timeout for recvs to fail (e.g. from mpd
> daemon)      -g<local arg name>           # global version of local arg
> (below)    and local args may be      -n <n> or -np <n>            # number
> of processes to start      -wdir <dirname>              # working directory
> to start in      -umask <umask>               # umask for remote
> process      -path <dirname>              # place to look for
> executables      -host <hostname>             # host to start on      -soft
> <spec>                 # modifier of -n value      -arch
> <arch>                 # arch type to start on (not implemented)
> -envall                      # pass all env vars in current
> environment      -envnone                     # pass no env vars
> -envlist <list of env var names> # pass current values of these vars
> -env <name> <value>          # pass this value of this env varmpiexec
> [global args] [local args] executable args : [local args]
> executable...mpiexec -gdba jobid                # gdb-attach to existing
> jobidmpiexec -configfile filename       # filename contains cmd line segs
> as lines  (See User Guide for more details)Examples:   mpiexec -l -n 10 cpi
> 100   mpiexec -genv QPL_LICENSE 4705 -n 3 a.out   mpiexec -n 1 -host foo
> master : -n 4 -host mysmp slave*
>
> ==========================================
>
>
> Another problem is that I cannot get the version of MPI. With command
> mpirun --version I got
>
> ==========================================
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *invalid "local" arg: --versionusage:mpiexec [-h or -help or --help]    #
> get this messagempiexec -file filename             # (or -f) filename
> contains XML job descriptionmpiexec [global args] [local args] executable
> [args]   where global args may be      -l                           # line
> labels by MPI rank      -bnr                         # MPICH1 compatibility
> mode      -machinefile                 # file mapping procs to
> machines      -s <spec>                    # direct stdin to "all" or 1,2
> or 2-4,6       -1                           # override default of trying
> 1st proc locally      -ifhn                        # network interface to
> use locally      -tv                          # run procs under totalview
> (must be installed)      -tvsu                        # totalview startup
> only      -gdb                         # run procs under gdb
> -m                           # merge output lines (default with gdb)
> -a                           # means assign this alias to the job
> -ecfn                        # output_xml_exit_codes_filename
> -recvtimeout <integer_val>   # timeout for recvs to fail (e.g. from mpd
> daemon)      -g<local arg name>           # global version of local arg
> (below)    and local args may be      -n <n> or -np <n>            # number
> of processes to start      -wdir <dirname>              # working directory
> to start in      -umask <umask>               # umask for remote
> process      -path <dirname>              # place to look for
> executables      -host <hostname>             # host to start on      -soft
> <spec>                 # modifier of -n value      -arch
> <arch>                 # arch type to start on (not implemented)
> -envall                      # pass all env vars in current
> environment      -envnone                     # pass no env vars
> -envlist <list of env var names> # pass current values of these vars
> -env <name> <value>          # pass this value of this env varmpiexec
> [global args] [local args] executable args : [local args]
> executable...mpiexec -gdba jobid                # gdb-attach to existing
> jobidmpiexec -configfile filename       # filename contains cmd line segs
> as lines  (See User Guide for more details)Examples:   mpiexec -l -n 10 cpi
> 100   mpiexec -genv QPL_LICENSE 4705 -n 3 a.out   mpiexec -n 1 -host foo
> master : -n 4 -host mysmp slave*
>
>
> ==========================================
>
> Any help would be greatly appreciated!
>
>
> --
> Best Regards.
> ---
> Xing FENG
> PhD Candidate
> Database Research Group
>
> School of Computer Science and Engineering
> University of New South Wales
> NSW 2052, Sydney
>
> Phone: (+61) 413 857 288
>



-- 
Best Regards.
---
Xing FENG
PhD Candidate
Database Research Group

School of Computer Science and Engineering
University of New South Wales
NSW 2052, Sydney

Phone: (+61) 413 857 288

Reply via email to