Batch Scheduler Rosetta

Batch Scheduler Rosetta
User Commands PBS Slurm
Job Submission qsub Script_File sbatch Script_File
Job Deletion qdel Job_ID scancel Job_ID
Job status
(by job)
qstat Job_ID squeue Job_ID
Job status
(by user)
qstat -u User_Name squeue -u User_Name
Job hold qhold Job_ID scontrol hold Job_ID
Job release qrls Job_ID scontrol release Job_ID
Queue list qstat -Q squeue
Node list pbsnodes -l sinfo -N OR
scontrol show nodes
Cluster status qstat -a sinfo
GUI xpbsmon sview
EnvironmentPBSSlurm
Job ID $PBS_JOBID $SLURM_JOBID
Submit Directory $PBS_O_WORKDIR $SLURM_SUBMIT_DIR
Submit Host $PBS_O_HOST $SLURM_SUBMIT_HOST
Node List $PBS_NODEFILE $SLURM_JOB_NODELIST
Job Array Index $PBS_ARRAYID $SLURM_ARRAY_TASK_ID
Job SpecificationPBSSlurm
Script Directive #PBS #SBATCH
Queue -q Queue_Name ARL: -p Queue_Name
AFRL and Navy: -q Queue_Name
Node Count -l select=N1:ncpus=N2: mpiprocs=N3

(N1 = Node count
N2 = Max cores per node
N3 = Cores to use per node)
-N min[-max]
Core Count -l select=N1:ncpus=N2: mpiprocs=N3
(N1 = Node count
N2 = Max cores per node
N3 = Cores to use per node
Core Count = N1 x N3)
--ntasks=total_cores_in_run
Wall Clock Limit -l walltime=hh:mm:ss -t min OR
-t days-hh:mm:ss
Standard Output File -o File_Name -o File_Name
Standard Error File -e File_Name -e File_Name
Combine stdout/err -j oe (both to stdout) OR
-j eo (both to stderr)
(use -o without -e)
Copy Environment -V --export=ALL|NONE|Variable_List
Event Notification -m [a][b][e] --mail-type=[BEGIN],[END],[FAIL]
Email Address -M Email_Address --mail-user=Email_Address
Job Name -N Job_Name --job-name=Job_Name
Job Restart -r y|n --requeue OR
--no-requeue
(NOTE: configurable default)
Working Directory No option – defaults to home directory --workdir=/Directory/Path
Resource Sharing -l place=scatter:excl --exclusive OR
--shared
Account to charge -A Project_ID --account=Project_ID
Tasks per Node -l select=N1:ncpus=N2: mpiprocs=N3

(N1 = Node count
N2 = Max cores per node
N3 = Cores to use per node)
--tasks-per-node=count
Job Dependency -W depend=state:Job_ID[:Job_ID...][,state:Job_ID[:Job_ID...]] --depend=state:Job_ID
Job host preference --nodelist=nodes AND/OR
--exclude=nodes
Job Arrays -J N-M[:step][%Max_Jobs] --array=N-M[:step]
Generic Resources -l other=Resource_Spec --gres=Resource_Spec
Licenses -l app=number
Example: -l abaqus=21
(Note: license resource allocation)
-L app:number
Begin Time -a [[[YYYY]MM]DD]hhmm[.ss]
(Note: no delimiters)
--begin=YYYY-MM-DD[Thh:mm[:ss]]