Header left.png

Difference between revisions of "Slurm"

From Systems Group
Jump to: navigation, search
(SRUN)
(SBATCH)
Line 17: Line 17:
  
 
  #!/bin/bash -l                            # login shell (required for lmod)                             
 
  #!/bin/bash -l                            # login shell (required for lmod)                             
  #SBATCH --job-name=testprogram            # job name  
+
  #SBATCH --job-name=testprogram            # job name
 +
#SBATCH --partition=slurm-general-01      # specifying which partition to run job on
 +
#SBATCH --account=slurmgeneral            # only applicable if user is assigned multiple accounts
 
  #SBATCH --ntasks=1                        # request 1 CPU
 
  #SBATCH --ntasks=1                        # request 1 CPU
 
  #SBATCH --mem=1gb                          # request 1gb of memory
 
  #SBATCH --mem=1gb                          # request 1gb of memory
Line 28: Line 30:
 
  someProgram.py
 
  someProgram.py
 
  date
 
  date
 +
 +
 +
sbatch myprogram.sh                                                  # queue job using a batch script
 +
 +
sbatch -p slurm-general-01 --account=slurmgeneral myprogram.sh      # batch script specifying which partition and account when not specified using a slurm directive within the script

Revision as of 17:53, 4 August 2022

Slurm is an open-source job scheduler for Linux and Unix-like kernels.

SRUN

srun is used to submit jobs for execution in real time. Also used to create job steps.


srun example

srun --pty /bin/bash                                                   # shell on compute job / default account is used when not specified 
srun -p slurm-general-01 --account=slurmgeneral --pty /bin/bash        # shell on compute job / specifying which partition and account (applicable if user is assigned multiple accounts)

SBATCH

Sbatch is a command used to submit batch scripts to Slurm.


batch script example

#!/bin/bash -l                             # login shell (required for lmod)                             
#SBATCH --job-name=testprogram             # job name
#SBATCH --partition=slurm-general-01       # specifying which partition to run job on
#SBATCH --account=slurmgeneral             # only applicable if user is assigned multiple accounts
#SBATCH --ntasks=1                         # request 1 CPU
#SBATCH --mem=1gb                          # request 1gb of memory
#SBATCH --output=testprogram.lob           # output and error log

date
sleep 10
module use /mnt/lmod_modules/Linux/
module load miniconda3
someProgram.py
date


sbatch myprogram.sh                                                  # queue job using a batch script 
sbatch -p slurm-general-01 --account=slurmgeneral myprogram.sh       # batch script specifying which partition and account when not specified using a slurm directive within the script