Slurm queue directive

I am using SLURM for the first time. On the system I am using, directives are specified by #SBATCH KEY=VALUE which is consistent with what the SLURM handler in cylc provides. The exception to this is the queue specification, which is #SBATCH q QUEUE and SLURM will not accept an = in there. I confirmed that if I hand-hack slurm.py to handle this exception, I can get my jobs to run, but that’s a terrible hack. Has anyone else worked on a system with this behavior?

Hi, I think this might work:

[[directives]]
  -p QUEUE =

Thanks! That put me on the right track. The incantation that worked is this one:

        [[[directives]]]
            --qos = QUEUE
1 Like

For future reference Cylc’s Slurm job handler formats directives for use with Sbatch. Sbatch’s options can be found here.

Also worth stashing for those using slurm is this cheatsheet: https://slurm.schedmd.com/pdfs/summary.pdf

1 Like

Also worth noting that the Cylc docs say

Since not all SLURM commands have a short form, cylc requires the long form directives.

source