Slurm Usage Modes¶
The VSC-X clusters always provided a custom SLURM configuration to make usage of SLURM simpler. However this also prevented our users from using SLURM directly without interference.
For this reason we decided to look into different modes for slurm on MUSICA.
Comfort Modes¶
The so-called "comfort mode" is the easiest way to get a SLURM script running, it the default mode, ASC automatically sets suitable values to SLURM variables. This behavior is similar to VSC-4/VSC-5 with the difference that they are strictly limited to certain use cases - see the table below.
| use case | what to specify | what you will get |
|---|---|---|
| X full CPU nodes | -N X | 190 tasks, 1 CPU/task, single-threaded, exclusive, all mem |
| partial CPU node | -n X --mem YGB | 1-189 tasks, 1 CPU/task, single-threaded, shared |
| X full GPU nodes | -N X --gres=gpu:4 | 4 tasks, 22 CPUs/task, single-threaded, exclusive, all mem |
| partial GPU node | --gres=gpu:1 to --gres:gpu:3 | 1-3 tasks, 22 CPUs/task, single-threaded, shared, gpu count * 25% mem |
Note
Note that you still have to specify account, partition, qos & time limit yourself.
SLURM will print the used settings to the stdout in this case.
Vanilla Mode¶
If you want more control (somewhat expert mode) or are used to "out-of-the-box" SLURM behavior, having to specify almost everything yourself, you can simply #ASC --vanilla to your
submission script e.g.:
#!/usr/bin/env bash
#ASC --vanilla
#SBATCH ...
This will still execute checks (to verify appropriate values and that all necessary flags are present) but does not alter the resource request in any other way.
Vanilla mode in an interactive session¶
It is also possible to is use the vanilla mode in an interactive session with the following command:
salloc -N1 --constraint=asc-vanilla