SLURM 根据 GRES 自动限制 memory/cpu 使用
SLURM automatically limit memory/cpu usage depending on GRES
鉴于单个节点有多个 GPU,有没有办法根据请求的 GPU 数量自动限制 CPU 和内存使用量?
特别是,如果用户作业脚本请求 2 个 GPU,则作业应自动限制为 2*BaseMEM
和 2*BaseCPU
,其中 BaseMEM = TotalMEM/numGPUs
和 BaseCPU=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
鉴于单个节点有多个 GPU,有没有办法根据请求的 GPU 数量自动限制 CPU 和内存使用量?
特别是,如果用户作业脚本请求 2 个 GPU,则作业应自动限制为 2*BaseMEM
和 2*BaseCPU
,其中 BaseMEM = TotalMEM/numGPUs
和 BaseCPU=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