Slurm | Moab (Deprecated) | Description/Notes |
#SBATCH -A account | #MSUB -A account | Defines the account (bank) associated with the job. |
#SBATCH –begin=time | #MSUB -a time | Declares the time after which the job is eligible for execution. See man page for syntax. |
#SBATCH -c # | | CPUs/cores per task |
#SBATCH -d list | #MSUB -l depend=list | Specify job dependencies. See "Setting Up Dependent Jobs" for details. |
#SBATCH -D path | #MSUB -d path | Specifies the directory in which the job should begin executing. |
#SBATCH -e filename | #MSUB -e filename | Specifies the file name to be used for stderr. |
#SBATCH –export=list | #MSUB -v list | Specifically adds a list (comma separated) of environment variables that are exported to the job. |
#SBATCH –license=filesystem The default is to require no Lustre file systems | #MSUB -l gres=filesystem #MSUB -l gres=ignore The default is to require all mounted Lustre file systems. Use "ignore" to require no file systems (job can run even if file systems are down). | Job requires the specified parallel Lustre file system(s). Valid labels are the names of mounted Lustre parallel file systems, such as lustre1, lustre2. The purpose of this option is to prevent jobs from being scheduled if the specified file systems are unavailable. |
#SBATCH -H | #MSUB -h | Put a user hold on the job at submission time. |
#SBATCH -i filename | | Specifies the file name to be used for stdin. |
#SBATCH -J name | #MSUB -N name | Gives a user specified name to the job. |
default | #MSUB -j oe | Combine stdout and stderr into the same output file. This is the default. If you want to give the combined stdout/stderr file a specific name, include the -o flag also. |
#SBATCH –mail-type=type (begin, end, fail, requeue, all) | #MSUB -m option(s) (a=abort, b=begin, e=end) | Defines when a mail message about the job will be sent to the user. See the man page for details. |
#SBATCH -N # | #MSUB -l nodes=# | Node count |
#SBATCH -n # #SBATCH –ntasks-per-node=# #SBATCH –tasks-per-node=# | #MSUB -l procs=# #MSUB -l ttc=# | Task count (Note that `-n` defines the total number of tasks across all nodes whereas `–ntasks-per-node` sets the number of tasks on each node.) |
#SBATCH –nice=value | #MSUB -p value | Assigns a user priority value to a job. |
#SBATCH -o filename | #MSUB -o filename | Defines the file name to be used for stdout. |
#SBATCH -p partition | #MSUB -q queue | Run the job in the specified partition/queue (pdebug, pbatch, etc.). |
#SBATCH –qos=exempt #SBATCH –qos=expedite #SBATCH –qos=standby | #MSUB -l qos=exempt #MSUB -l qos=expedite #MSUB -l qos=standby | Defines the quality-of-service to be used for the job. |
#SBATCH –requeue #SBATCH –no-requeue | #MSUB -r y #MSUB -l resfailpolicy=requeue #MSUB -r n #MSUB -l resfailpolicy=cancel | Specifies whether or not to rerun the job is there is a system failure. The default behavior at LC is to NOT automatically rerun a job in such cases. |
| #MSUB -S path | Specifies the shell which interprets the job script. The default is your login shell. |
#SBATCH –signal=14@120 #SBATCH –signal=SIGHUP@120 | #MSUB -l signal=14@120 #MSUB -l signal=SIGHUP@120 | Signaling - specifies the pre-termination signal to be sent to a job at the desired time before expiration of the job's wall clock limit. Default time is 60 seconds. |
#SBATCH -t time | #MSUB -l walltime= time | Specifies the wall clock time limit for the job. See the man page for syntax. |
#SBATCH –export=ALL | #MSUB -V | Declares that all environment variables in the job submission environment are exported to the batch job. |