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

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) 

#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)

#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

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

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