Using MPT in Cheyenne share queue

Running an MPI job with MPT in the Cheyenne "share" queue requires a different environment variable and a different launch command than what is used for other queues:

  • Set the MPI_USE_ARRAY environment variable to false as indicated in the example script below.
  • Use the mpirun command as shown rather than mpiexec_mpt.

These changes apply to MPT-based MPI jobs that are run interactively in the share queue and also to batch jobs run in the share queue. The changes are shown in the batch script below.

Customize the script with your own project code, job name and so on, and adjust the mpiprocs setting in the select statement to the number that your own job requires.

For tcsh users

#!/bin/tcsh
#PBS -A project_code
#PBS -N job_name
#PBS -j oe
#PBS -q share
#PBS -l walltime=05:00
#PBS -l select=1:mpiprocs=10
#PBS -o log.out

setenv TMPDIR /glade/scratch/$USER/temp
mkdir -p $TMPDIR
setenv MPI_USE_ARRAY false

mpirun `hostname` -np 10 ./executable_name.exe

For bash users

#!/bin/bash
#PBS -A project_code
#PBS -N job_name
#PBS -j oe
#PBS -q share
#PBS -l walltime=05:00
#PBS -l select=1:mpiprocs=10
#PBS -o log.out

export TMPDIR=/glade/scratch/$USER/temp
mkdir -p $TMPDIR
export MPI_USE_ARRAY=false

mpirun `hostname` -np 10 ./executable_name.exe