Difference between revisions of "Using the PBS / Torque queueing environment"

From Centre for Bioinformatics and Computational Biology
Jump to: navigation, search
Line 16: Line 16:
nodes=N sets the number of nodes needed.
nodes=N sets the number of nodes needed.
ppn=N sets the number of cores per node.
ppn=N sets the number of cores per node.

Revision as of 11:06, 11 April 2018

The main commands for interacting with the Torque environment are:

  • qstat View queued jobs.
  • qsub Submit a job to the scheduler.
  • qdel Delete one of your jobs from queue.

Job script parameters

Parameters for any job submission are specified as #PBS comments in the job script file or as options to the qsub command. The essential options for the cluster include:

#PBS -l nodes=1:ppn=14

sets the size of the job in number of processors:

nodes=N sets the number of nodes needed.

ppn=N sets the number of cores per node.

#PBS -l walltime=8:00:00

sets the total expected wall clock time in hours:minutes:seconds. Note the wall clock limits for each queue.

Example job scripts

A program using 14 cores on a single node:

#PBS -l nodes=1:ppn=14
#PBS -l walltime=8:00:00
#PBS -q normal
#PBS -m ae
#PBS -M your.email@address
module load bowtie2-
bowtie2 -x /path/to/genome -p 14 -1 /path/to/forwardreads.fast -2 /path/to/reversereads.fastq -S /path/to/outputfile.sam

Assuming the above job script is saved as the text file example.job, the command to submit it to the PBSPro scheduler is:

qsub example.job

No additional parameters are needed for the qsub command since all the PBS parameters are specified within the job script file. IMPORTANT

Note that in the above job script example the working directory is on the Lustre file system. Do not use your home directory for the working directory of your job. Use the directory allocated to you on the fast Lustre parallel file system:


where USERNAME is replace by your user name on the CHPC cluster.

Always provide the full absolute path to your Lustre sub-directories. Do not rely on a symbolic link from your home directory. Hybrid MPI/OpenMP

For example, to request an MPI job on one node with 12 cores per MPI rank, so that each MPI process can launch 12 OpenMP threads, change the -l parameters:

  1. PBS -l select=1:ncpus=24:mpiprocs=2:nodetype=haswell_reg

There are two MPI ranks, so mpirun -n 2 … . Example interactive job request

To request an interactive session on a single node, the full command for qsub is:

qsub -I -P PROJ0101 -q smp -l select=1:ncpus=24:mpiprocs=24:nodetype=haswell_reg


   -I selects an interactive job
   you still must specify your project
   the queue must be smp, serial or test
   interactive jobs only get one node: select=1
   for the smp queue you can request several cores: ncpus=24
   you can run MPI code: indicate how many ranks you want with mpiprocs=

If you find your interactive session timing out too soon then add -l walltime=4:0:0 to the above command line to request the maximum 4 hours.

Much of this content has been adapted from the Quick Start Guide at CHPC.