Using MPT in Cheyenne share queue

Running an MPI job with MPT in the Cheyenne "share" queue requires a different script than what is used for other queues.

There are two differences. You need to:

  1. set the MPI_USE_ARRAY environment variable to false as indicated in the example script below.
  2. use the mpirun command as shown rather than mpiexec_mpt.

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

mkdir -p /glade/scratch/username/temp
setenv TMPDIR /glade/scratch/username/temp
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

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

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