SLURM 根据 GRES 自动限制 memory/cpu 使用

SLURM automatically limit memory/cpu usage depending on GRES

鉴于单个节点有多个 GPU,有没有办法根据请求的 GPU 数量自动限制 CPU 和内存使用量?

特别是,如果用户作业脚本请求 2 个 GPU,则作业应自动限制为 2*BaseMEM2*BaseCPU,其中 BaseMEM = TotalMEM/numGPUsBaseCPU=numCPUs/numGPUs,这将在每个节点的基础上定义。

是否可以这样配置 SLURM?如果没有,是否可以 "virtually" 将一台多 GPU 机器拆分为具有适当 CPU 和 MEM 计数的多个节点?

在命令行上

--cpus-per-gpu $BaseCPU --mem-per-gpu $BaseMEM

在slurm.conf

DefMemPerGPU=1234
DefCpuPerGPU=1

由于您不能在 slurm.conf 中使用变量,您需要编写一些 bash 命令来计算 $BaseCPU 和 $BaseMEM