A job array is a set of jobs that share the same submit file, but will run multiple copies with a environment variable incremented. These are useful when you need to process a series of files, or if you need to run the same application multiple times.
An array submit file is very similar to the example submit files in Submitting Jobs.
#!/bin/bash
#SBATCH --array=0-31
#SBATCH --time=03:15:00 # Run time in hh:mm:ss
#SBATCH --mem-per-cpu=1024 # Minimum memory required per CPU (in megabytes)
#SBATCH --job-name=hello-world
#SBATCH --error=/work/[groupname]/[username]/job.%A_%a.err
#SBATCH --output=/work/[groupname]/[username]/job.%A_%a.out
module load example/test
echo "I am task $SLURM_ARRAY_TASK_ID on node `hostname`"
sleep 60
The submit file above will output the $SLURM_ARRAY_TASK_ID
, which will
be different for every one of the 32 (0-31) jobs, to the output files.
Job Arrays in SLURM have more features than this brief description, please visit the SLURM Documentation for more detailed information.