Using the exclusive directive (-x)

During normal usage, when you start a session on a node, your job will execute on a single core/slot. Certain applications are multi-threaded in their nature, which means that they will utilise more than one core/slot to gain performance.  

Taking the above into consideration, it is possible that a multi-threaded application will utilise all of the possible resources on a node (from a core/slot perspective). This can obviously have an impact on other users, who may be running jobs on the same node.

A very important consideration when using this particular directive (-x) is that, you essentially reserve all of the cores/slots on the node.Thus we ask that you don't run anymore than 10 jobs with the (-x) flag in, at any one time. If you have a need for more resource or wish to discuss this further please email hpc.admin@uea.ac.uk

If you are using an application which is capable of multithreading (examples shown below) then you must use the exclusive flag (-x) in submission scripts or during an interactive/Xinteractive session. As detailed below.

Starting an exclusive access interactive session

interactive -x

Starting an exclusive access Xnteractive session

Xinteractive -x

Using the (-x) directive in a jobsript (Gaussian) 

#!/bin/sh
#BSUB -x
#BSUB -oo Gauss.%J.out
#BSUB -eo Gauss.%J.err
#BSUB -J Gaussian09
. /etc/profile
module add gaussian/9C01
 g09 gauss_opt.inp

Using the (-x) directive in a jobscript (Stata 13 MP16)

#!/bin/sh
#BSUB -B
#BSUB -N
#BSUB -q short
#BSUB -x
#BSUB -R 'select[sandy]'
#BSUB -J My_Parallel_job
#BSUB -oo MyPar-%J.out
#BSUB -eo MyPar-%J.err
. /etc/profile
module add stata/13
 stata-mp -b do stata13_example.do

All of the following applications should be run with the (-x) directive:

  • Stata12/13 MP16
  • Gaussian
  • Gaussview
  • Matlab (Parallel Computing Toolbox)