首页 > 解决方案 > 无法在 Slurm 中分配 GPU

问题描述

我在 Slurm 集群中分配 gpu 资源时遇到问题。

指定1个GPU运行如下图,表示无法分配gres资源。如果不止一个,结果相同。

$ srun --gres=gpu:1 --pty bash
srun: error: Unable to create step for job 73: Invalid generic resource (gres) specification

计算节点的 gres 信息似乎正确显示如下

$ sinfo -o "%20N  %10c  %10m  %25f  %10G "
NODELIST              CPUS        MEMORY      AVAIL_FEATURES             GRES       
gpu_svr[1-4  72          515484      (null)                     gpu:8   

slurm.conf 中的节点配置如下

/etc/slurm/slurm.conf

GresTypes=gpu
NodeName=gpu_svr1 NodeAddr=x.x.x.1 CPUs=72 RealMemory=515484 Sockets=2 CoresPerSocket=18 
ThreadsPerCore=2 Gres=gpu:8 State=UNKNOWN
NodeName=gpu_svr2 NodeAddr=x.x.x.2 CPUs=72 RealMemory=515484 Sockets=2 CoresPerSocket=18 
ThreadsPerCore=2 Gres=gpu:8 State=UNKNOWN
NodeName=gpu_svr3 NodeAddr=x.x.x.3 CPUs=72 RealMemory=515484 Sockets=2 CoresPerSocket=18 
ThreadsPerCore=2 Gres=gpu:8 State=UNKNOWN
NodeName=gpu_svr4 NodeAddr=x.x.x.4 CPUs=72 RealMemory=515484 Sockets=2 CoresPerSocket=18 
ThreadsPerCore=2 Gres=gpu:8 State=UNKNOWN
PartitionName=v100 Nodes=ALL Default=YES MaxTime=INFINITE State=UP

这是计算节点上的 gres.conf

gres.conf 

NodeName=gpu_svr[1-4] Name=gpu File=/dev/nvidia[0-7]

标签: distributed-computinghpcslurm

解决方案


解决了。

以下选项应在 slurm.conf 中说明

SelectType=select/cons_tres 
SelectTypeParameters=CR_Core 
JobAcctGatherType=jobacct_gather/cgroup

推荐阅读