为 运行 个 Slurm 作业更改 CPU 个计数

Change CPU count for RUNNING Slurm Jobs

我有一个 SLURM 集群和一个 运行 作业,我已通过

请求了 60 个线程
#SBATCH --cpus-per-task=60

(我正在使用 cgroups 在节点上共享线程)

我现在想将线程数减少到 30 个。

$ scontrol update jobid=274332 NumCPUs=30
Job is no longer pending execution for job 274332

该作业仍分配了 60 个线程。

$ scontrol show job 274332
JobState=RUNNING Reason=None Dependency=(null)
NumNodes=1 NumCPUs=60 NumTasks=1 CPUs/Task=60 ReqB:S:C:T=0:0:*:*

完成此任务的正确方法是什么?

谢谢!

在当前版本的 Slurm 中,scontrol 只允许减少分配给 运行 作业的节点数量,但不能减少 CPU(或内存)的数量。

FAQ 说:

Use the scontrol command to change a job's size either by specifying a new node count (NumNodes=) for the job or identify the specific nodes (NodeList=) that you want the job to retain.

(强调我的)