Sun Grid Engine¶
Sun Grid Engine (SGE) is an alternative to SLURM, and it provides a similar set of commands, with slight variation. The documentation is a good place to start, or if you are familiar with [SLURM]({{ site.baseurl }}/docs/schedulers/slurm), we’ve translated the command conversion tables here:
Here are some common commands and flags in SGE and SLURM with their respective equivalents. Is there anything missing? Let us know.
User Commands | SGE | SLURM |
---|---|---|
Interactive login | qlogin | srun --pty bash or srun (-p "partition") --time=4:0:0 --pty bash For a quick dev node, just run "sdev" |
Job submission | qsub [script_file] | sbatch [script_file] |
Job deletion | qdel [job_id] | scancel [job_id] |
Job status by job | qstat -u \* [-j 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 | qconf -sql | squeue |
List nodes | qhost | sinfo -N OR scontrol show nodes |
Cluster status | qhost -q | sinfo |
GUI | qmon | sview |
Environmental | ||
Job ID | $JOB_ID | $SLURM_JOBID |
Submit directory | $SGE_O_WORKDIR | $SLURM_SUBMIT_DIR |
Submit host | $SGE_O_HOST | $SLURM_SUBMIT_HOST |
Node list | $PE_HOSTFILE | $SLURM_JOB_NODELIST |
Job Array Index | $SGE_TASK_ID | $SLURM_ARRAY_TASK_ID |
Job Specification | ||
Script directive | #$ | #SBATCH |
queue | -q [queue] | -p [queue] |
count of nodes | N/A | -N [min[-max]] |
CPU count | -pe [PE] [count] | -n [count] |
Wall clock limit | -l h_rt=[seconds] | -t [min] OR -t [days-hh:mm:ss] |
Standard out file | -o [file_name] | -o [file_name] |
Standard error file | -e [file_name] | e [file_name] |
Combine STDOUT & STDERR files | -j yes | (use -o without -e) |
Copy environment | -V | --export=[ALL | NONE | variables] |
Event notification | -m abe | --mail-type=[events] |
send notification email | -M [address] | --mail-user=[address] |
Job name | -N [name] | --job-name=[name] |
Restart job | -r [yes|no] | --requeue OR --no-requeue (NOTE: configurable default) |
Set working directory | -wd [directory] | --workdir=[dir_name] |
Resource sharing | -l exclusive | --exclusive OR--shared |
Memory size | -l mem_free=[memory][K|M|G] | --mem=[mem][M|G|T] OR --mem-per-cpu= [mem][M|G|T] |
Charge to an account | -A [account] | --account=[account] |
Tasks per node | (Fixed allocation_rule in PE) | --tasks-per-node=[count] |
--cpus-per-task=[count] | ||
Job dependency | -hold_jid [job_id | job_name] | --depend=[state:job_id] |
Job project | -P [name] | --wckey=[name] |
Job host preference | -q [queue]@[node] OR -q [queue]@@[hostgroup] |
--nodelist=[nodes] AND/OR --exclude= [nodes] |
Quality of service | --qos=[name] | |
Job arrays | -t [array_spec] | --array=[array_spec] (Slurm version 2.6+) |
Generic Resources | -l [resource]=[value] | --gres=[resource_spec] |
Lincenses | -l [license]=[count] | --licenses=[license_spec] |
Begin Time | -a [YYMMDDhhmm] | --begin=YYYY-MM-DD[THH:MM[:SS]] |
SGE | SLURM |
---|---|
qstat > qstat -u username > qstat -f |
squeue > squeue -u username > squeue -al |
qsub > qsub -N jobname > qsub -l h_rt=24:00:00 > qsub -pe dmp4 16 > qsub -l mem=4G > qsub -o filename > qsub -e filename > qsub -l scratch_free=20G |
sbatch > sbatch -J jobname > sbatch -t 24:00:00 > sbatch -p node -n 16 > sbatch --mem=4000 > sbatch -o filename > sbatch -e filename |
# Interactive run, one core | # Interactive run, one core |
qrsh -l h_rt=8:00:00 | salloc -t 8:00:00 interactive -p core -n 1 -t 8:00:00 |
qdel | scancel |
SGE for a single-core application | SLURM for a single-core application |
---|---|
#!/bin/bash # # #$ -N test #$ -j y #$ -o test.output #$ -cwd #$ -M $USER@yourschool.edu #$ -m bea # Request 5 hours run time #$ -l h_rt=5:0:0 #$ -P your_project_id_here # #$ -l mem=4G # |
#!/bin/bash # #SBATCH -J test #SBATCH -o test."%j".out #SBATCH -e test."%j".err # Default in slurm #SBATCH --mail-user $USER@yourschool.edu #SBATCH --mail-type=ALL #SBATCH -t 5:0:0 # Request 5 hours run time #SBATCH --mem=4000 #SBATCH -p normal |
Comparison of some parallel environments set by sge and slurm:
SGE | SLURM |
---|---|
$JOB_ID |
$SLURM_JOB_ID |
$NSLOTS |
$SLURM_NPROCS |
Last update:
Feb 02, 2023