I would like to be able to modify the CPUs/Task setting in a srun job submitted in a hold state but in the version of slurm I am running 20.11.7 this is blocked by scontrol
An example where I submit
srun -H -c 2 stress -c 4 -t 10
The job is put in a PENDING state with priority 0 and I will issue a scontrol release
once I have changed job parameters. In the above, the job stress -c 4
wants 4 threads, but the user submitted with srun -c 2
and so the job runs with each thread taking 50% of a CPU.
Before the job is released I would like to be able to run a command like below to increase the request
scontrol update jobid 1234567 CPUs/Task=4
but this gives the error
Update of this parameter is not supported: CPUs/Task=4
Request aborted
Is there any way to correct this parameter in a held job before releasing for allocation
The real use cases have complex decision trees to get the correct core count – this could be run before srun but this is a messier and user space solution than capturing the correction algorithms in a Prolog script or similar