Skip to end of metadata
Go to start of metadata

Contents

Introduction

rumpirun is a RUSS-specific wrapper for the underlying mpirun program as provided by OpenMPI or MPICH. Most all arguments provided to rumpirun are passed to the underlying mpirun without change to be processed it. rumpirun uses rurun to launch MPI programs onto the targets.

Environment Variables

Many of the rumpirun-specific environment variables correspond to those of rurun.

NameReq/OptDescription
RUMPIRUN_ENVoptionalComma-separated list of environment variable names to be passed to targets.
RUMPIRUN_HOSTFILErequiredHost file containing index values of targets.
RUMPIRUN_LAUNCHERoptionalLauncher used to start tasks on targets. Default is rurun-mpi.
RUMPIRUN_MPIRUNoptionalPath of mpirun program. Default is the mpirun.
RUMPIRUN_PNET_ADDRrequired*pnet server address used to connect to targets.
RUMPIRUN_PNET_TARGETSFILErequired*Targets file used by pnet server.
RUMPIRUN_SHELLoptionalAlternative shell to run on target.
* One of RUMPIRUN_PNET_ADDR or RUMPIRUN_PNET_TARGETSFILE is required.

RUMPIRUN_SHELL

See RURUN_SHELL for details. RUMPIRUN_SHELL allows setting up on the target prior to launching the task.

Usage

See respective MPI implementations for usage.

MPICH

The following environment variables are set by rumpirun:

  • HYDRA_BOOTSTRAP
  • HYDRA_BOOTSTRAP_EXE
  • HYDRA_LAUNCHER
  • HYDRA_LAUNCHER_EXEC
  • HYDRA_HOST_FILE
  • HYDRA_LAUNCHER_AUTOFORK

and the following options:

  • -disable-hostname-propagation - forces hostname determinated to be done at the target

OpenMPI

The following environment variables are automatically set by rumpirun:

  • OMPI_MCA_orte_default_hostfile
  • OMPI_MCA_orte_rsh_agent
  • OMPI_plm_rsh_disable_qrsh

Examples

To run an MPI job (e.g., mpihello):

rumpirun mpihello

Notes:

  • depends on the underlying mpirun for determining number of tasks

To run MPI job with 4 tasks:

rumpirun -n 4 mpihello

Notes:

  • -n (and its synonym -np) is understood by openmpi and mpich implementations

Pass some environment variables (PATHXYZ):

export RUMPIRUN_ENV="${RUMPIRUN_ENV} PATH XYZ"

Notes:

  • the named environment variables will be passed independently of mpirun (for both openmpi and mpich)
  • the named environment variables are available before the MPI helper (e.g., orted for openmpi) are even started