====== Batch Jobs ====== * Equeueing of scripts launched via: sbatch job_script * Please DO NOT employ the parameter --ntasks-per-core= unless you really know what you do. Erroneous usage of this flag
(especially in combination with the parameter --cpus-per-task) can lead to catastrophic errors in your jobs!
#!/bin/bash --login ################################################################################################### # WARNING: Please adapt all relevant parameters so that they fit the requirements of your job(s). # # Questions and Remarks welcome to Sebastian Kraus # ################################################################################################### # %x: job name; %j: job id; %N: node; %t: task id; %a: array id (and others) # #SBATCH -o %x.%j.%N.out # for debugging purposes: redirect SLURM's stdout (please see man 1 sbatch for explanation of replacement symbols) # #SBATCH -e %x.%j.%N.err # for debugging purposes: redirect SLURM's stderr (please see man 1 sbatch for explanation of replacement symbols) # #SBATCH -D $PWD # if needed change to current working directory #SBATCH -J jobname # job name #SBATCH -n 1 # total number of tasks/cores for your job #SBATCH --hint=nomultithread # IMPORTANT: hyper-threading is activated; switch off and attribute whole core to task # #SBATCH --ntasks-per-node=1 # number of tasks per node #SBATCH -N 1 # number of nodes # #SBATCH -p smp # partition the job gets scheduled: standard (default), smp, gpu (uncomment, if you want your job to run on hosts in SMP partition) #SBATCH --time=00:15:00 # job run (wall clock) time in HH:MM:SS #SBATCH --mem=4GB # amount of resident main memory PER NODE(!) # #SBATCH --mem-per-cpu=1GB # amount of resident main memory PER CORE(!) (set only, if needed) # #SBATCH --gres=gpu:tesla:1 # GPU resources (only with gpu partition!) # #SBATCH --mail-type=END # if your want to receive notifications about job status (cf. man 1 sbatch) # #SBATCH --mail-user=username # and now your job definition ;-) module add [your_modules] [your_commands] * SLURM defines lots of environment variables starting with SLURM_ - e.g. SLURM_JOB_NUM_NODES, SLURM_JOB_ID, SLURM_NTASKS_PER_NODE - you are able to access during the job run (see also man 1 sbatch). * Beware of the fact that SLURM_NTASKS_PER_NODE is allowed to constitute an array of regular expressions and can only easily be parsed in case of a fixed number of tasks per node! \\ date of revision: 07-24-2019 © kraus