SLURM upgrade to version 22.05.8

SLURM upgrade to version 22.05.8

SLURM scheduler version has been updated to SLURM 22.05.8 and a new CLI filter has been installed on the GPU nodes in order to provide optimal binding of GPUs.

Slurm use for CPU-only nodes

The request and use of resources for the CPU-only nodes has not changed, so users may keep using their already working Slurm batch scripts for submitting jobs.

The only recommendation that we may raise at this point is that Slurm has announced the "separation" of the request of resources and the srun launcher. This implies that, in future versions of Slurm, srun will not inherit the exact parameters as requested for the allocation. Since previous versions of Slurm, this has already happened to the --cpus-per-task (or -c) option, which needs to be explicitly set in each srun command, independently of its setting during the request for resources. Therefore, we recommend users to be aware of the upcoming changes on Slurm and adopt, as a best practice, the explicit set all the parameters of srun that indicate the resources to be used in the command, rather than assuming that these parameters are inherited correctly by default. (Indeed, this practice has now become a requirement for the use of the GPU nodes in Setonix, as you can read in the following section.)

Slurm use for GPU nodes

An extensive explanation on the use of the GPU nodes (including these updates and the "manual" binding) is in Example Slurm Batch Scripts for Setonix on GPU Compute Nodes.