Submitting Jobs


You use bsub to submit a job to the LSF batch system. In general the syntax is
bsub [- bsub-options] executable [- executable-options]
An extensive documentation on the bsub command can be found in the LSF documentation: "Running Jobs with Platform LSF".

Some common parameters are listed in the following table. More specialised options will be mentioned in the appropriate sections.

-n <processors>The number of processors you need.required
-R 'span[ptile=64]'
-R 'span[hosts=1]'
Request to always get 64 processor together on one node, i.e. full nodes.
If you use 64 processors or less, use '-R 'span[hosts=1]' instead to ensure all processes running on one node.
-W <minutes>
-W <hours:minutes>
The run time limit of your jobrequired
-q <queue>The queue your job should run in (default: short).required
-app <profile>Use an application profile to request an predefiened amount of memory for each process (default: 300M).
Alternatively, use -M <memory in MB>
-i <filename>Specifies additional input data.optional
-e <filename>.errWill direct stderr to a seperate error log file.optional
-o <filename>.log Will direct stdout, stderr and the job summary to the log file.optional
-NIn addtition to -o will send the job summary seperately within a mail to the user.optional
-IRun the job interactively, showing you its output directly in your shell session. Useful for debugging or short runs.optional
-R 'affinity[core(<processors>)]'Number of processors to pin to one process (threads per process, default: 1). optional
-J <Job name>Job name.advised
-w <expression>sets a dependency expressionoptional


Job names are important for the LSF scheduler (when searching for particular jobs, working with job dependencies, etc.). We therefore ask to specify meaningful and preferably unique job names.

In addition we will adjust jobnames in the near future:

Our policy is:

  • Job names should not contain whitespace or semicolons. In this case the job name will be truncated to the first part of the original job name, taking whitespace and semicolons as delimiters.
  • Missing jobnames or insanly long ones get a jobname consisting of $USER_$RANDOMSTRING. Here, $RANDOMSTRING, obviously will be a random string, 20 characters long.