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 use more than one core/slot to gain performance.  It is possible that a multi-threaded application will use all of the possible resources on a node (from a core/slot perspective). This will obviously have an impact on other users of the node, who may already be running jobs on the same node. 

Therefore if you are running multi-threaded code you need to ask for exclusive use of a node.  You should bear in mind when using this particular directive (-x), you reserve all of the cores/slots on the node (depending on the node this may be up to 28 slots/cores). We ask that you don't run anymore than 10 jobs with the (-x) flag 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/09C01
 g09 gauss_opt.inp

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

#BSUB -q short-eth
#BSUB -x
#BSUB -J My_Parallel_job
#BSUB -oo MyPar-%J.out
#BSUB -eo MyPar-%J.err
. /etc/profile
module add stata/15
 stata-mp -b do

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

  • Stata14/15 MP16
  • Gaussian
  • Gaussview
  • Matlab (Parallel Computing Toolbox)