mpprun -- Run a series of commands on a Scyld Beowulf cluster using dynamically generated job map.


mpprun [-h, --help] [-V, --version] [--np PROCESSES ] [--allcpus, --all-cpus] [--all-local] [--no-local, --nolocal]
[--exclude NODE LIST ] [--map NODE LIST ] [-p,--prefix] command [command-args...]


The mpprun program sequentially runs the specified program on a dynamically selected set of cluster nodes. It generates a Beowulf job map from the currently installed Beomap scheduler, and runs the program on each node specified in the map. The scheduling parameters from the command line and environment are the same as the beomap, and the resulting job map is identical to the job map that beomap would if generate at that instant in time for that program name.

This is similar to the beorun program, but beorun starts the job simultaneously on the cluster nodes.

Both command-line options and environment variables influence the resulting job map. Command-line options take precedence over the environment variable settings.


The following options are available to the mpprun program.

-h, --help, -u, --usage

Print the command usage message on stdout and exit. When one of these options is recognized in the option list, all following options will be ignored.


Print the command version number on stdout and exit. Any following options will be ignored.


Specify the number of processes to create. This option uses beomap to create a process map, selecting the least loaded processors in the cluster. The number of processors beomap selects will equal the number specified by the "PROCESSES" parameter.

-no-local, --nolocal

Do not include the master in the process map. For MPI jobs this puts 'rank 0' on a compute node instead of the master.


Create a process map consisting entirely of master node entries.


Create a process map consisting of all up nodes, with each node number repeated the number of CPUs on that node.

--exclude NODE LIST

Do not include the listed nodes in the process map. The NODE LIST is a colon-separated list of nodes to be excluded from the map of processors to be used to run the job.


Create a process map consisting of the colon-separated list of nodes as returned by beomap.


Prefix each line of output the node number.

Unrecognized options and invalid option formats are reported on stderr and the command exits with exit status 1 (invalid option) or 2 (no command specified or invalid command).


Run uptime on any two available cluster compute nodes.

[user@cluster user]$ mpprun --np 2 --no-local uptime
 11:05am  up 2 days, 11:16,  0 users,  load average: 0.05, 0.24, 0.65
 11:05am  up 2 days, 11:16,  0 users,  load average: 0.01, 0.07, 0.37

See Also

beomap(1), bpsh(1), mpprun(1), beonpc(1), and the User's Guide.