Name

mpirun_chp4 — run a MPIch/P4 MPI program on a ParaStation MPI cluster

Synopsis

mpirun_chp4 [-?Vv] -np nodes [[-nodes nodelist] | [-hosts hostlist] | [-hostfile hostfile]] [-sort {[proc] | [load] | [proc+load] | [none]} ] [-all-local] [-inputdest dest] [-sourceprintf] [-rusage] [-exports envlist] [-keep_pg] [-leave_pg] [--usage] program [arg]...

Description

mpirun_chp4 is a tool that enables MPIch/P4 programs to run on a ParaStation MPI cluster under control of the ParaStation MPI management facility. Within ParaStation MPI the startup of parallel jobs is handled as described within the process_placement(7) manual page. The spawning mechanism is either steered by environment variables, which are described in detail within ps_environment(7), or via options to the mpirun_chp4 command. In fact these do nothing but setting the corresponding environment variables.

mpirun_chp4 typically works like this:

  mpirun_chp4 -np num prog [args]

This will startup the parallel MPIch/P4 program prog on num nodes of the cluster. args are optional argument which will be passed to each instance of prog.

Options

-np nodes

Specify the number of processors to run on.

-nodes nodelist

Define the nodes which will build the partition of the ParaStation MPI cluster used in order to spawn new processes.

nodelist is a single character string containing a comma separated list of ParaStation MPI IDs. Depending on the existence of the environment variable PSI_NODES_SORT and the presence of the -sort option, the order of the nodes within nodelist might be relevant.

If the number of spawned processes exceeds the number of nodes within the partition, some nodes may get more than one process.

If any of the environment variables PSI_NODES, PSI_HOSTS or PSI_HOSTFILE is set, this option must not be given.

-hosts hostlist

Define the nodes which will build the partition of the ParaStation MPI cluster used in order to spawn new processes.

hostlist is a single character string containing a space separated list of hostnames. These have to be resolvable in order to get the corresponding ParaStation MPI IDs. Depending on the existence of the environment variable PSI_NODES_SORT and the presence of the -sort option, the order of the nodes within hostlist might be relevant.

If the number of spawned processes exceeds the number of nodes within the partition, some nodes may get more than one process.

If any of the environment variables PSI_NODES, PSI_HOSTS or PSI_HOSTFILE is set, this option must not be given.

-hostfile hostfile

Define the nodes which will build the partition of the ParaStation MPI cluster used in order to spawn new processes.

hostfile is the name of a file containing a list of hostnames. These have to be resolvable in order to get the corresponding ParaStation MPI IDs. The format of the file is one hostname per line. Depending on the existence of the environment variable PSI_NODES_SORT and the presence of the -sort option, the ordering of the nodes within the hostfile might be relevant.

If the number of spawned processes exceeds the number of nodes within the partition, some nodes may get more than one process.

If any of the environment variables PSI_NODES, PSI_HOSTS or PSI_HOSTFILE is set, this option must not be given.

-sort mode

Steer the sorting criterion which is used in order to bring the nodes within a partition in an appropriate order. This order will be used to spawn remote processes. The following values of mode are recognized:

proc

The nodes are sorted by the number of running ParaStation MPI processes before new processes are spawned. This is the default behavior.

load

The nodes are sorted by load before new processes are spawned. Therefore nodes with the least load are used first.

To be more specific, the load average over the last minute is used as the sorting criterion.

proc+load

The nodes are sorted corresponding to the sum of the 1 minute load and the number of running ParaStation MPI processes. This will lead to fair load-balancing even if processes are started without notification to the ParaStation MPI management facility.

none

No sorting of nodes before new processes are spawned. The nodes are used in a round robin fashion as they are set in the PSI_NODES, PSI_HOSTS or PSI_HOSTFILE environment variables or via the corresponding -nodes, -hosts or -hostfile options.

If the environment variables PSI_NODES_SORT is set, this option must not be given.

-all-local

Run all processes on the master node.

Keep in mind that the masternode is not necessarily the local machine but, depending on the ParaStation MPI configuration and the options and environment variables given, may be any machine within the ParaStation MPI cluster. Nevertheless all processes building the parallel MPIch/P4 task will run on the same node of the ParaStation MPI cluster.

-inputdest dest

Define the process which receives any input to the parallel task. dest is an integer number in the range from 0 to nodes-1, where nodes is set by the -np option.

The default is to send the input to the process with rank 0 within the parallel task.

-sourceprintf

If this option is enabled, the logger will give information about the source of the output produced, i.e. “[id]:” will be prepended to any line of output, where id is the rank of the printing process within the parallel task.

Usually the id coincides with the MPI-rank.

-rusage

When this option is given, the logger will print a notice about the user and system time consumed by each process within the parallel task upon exit of this process.

-exports envlist

Register a list of environment variables which should be exported to remote processes during spawning. Some environment variables (HOME, USER, SHELL and TERM) are exported by default.

Furthermore PWD is set correctly for remote processes.

envlist is a single character string containing a comma separated list of environment variables. Only the name of the environment variable has to be given.

If the environment variable PSI_EXPORTS is set, envlist will be appended to this variable.

-keep_pg , -leave_pg

Don't remove the process group file which steers the startup of the parallel MPIch/P4 task.

This file will be constructed on the fly during startup by the mpirun_chp4 program. The content of this file will depend on the configuration of the ParaStation MPI cluster, the options given to the mpirun_chp4 and the environment variables set.

-V , --version

Output version information and exit.

-v , --verbose

Verbose execution with many message during startup of the parallel task.

-? , --help

Show a help message.

--usage

Display a brief usage message.

Examples

In order to start the parallel MPIch/P4 program prog1 on any 5 nodes within the ParaStation MPI cluster, execute:

  mpirun_chp4 -np 5 prog1 -v

The option -v will be passed to any instance of prog1 spawned.

If the parallel task should run on the nodes 5-9 of the cluster,

  mpirun_chp4 -np 5 -nodes "5,6,7,8,9" prog1

has to be executed.

If the nodes should be sorted by load, use:

  mpirun_chp4 -np 5 -nodes "5,6,7,8,9" -sort load prog1

In order to acquire information about the user and system time used by the spawned processes on the different nodes run:

  mpirun_chp4 -np 5 -rusage prog1

Errors

No known errors.

See also

psmstart(1), ps_environment(7), process_placement(7)