目前,我们已设置Slurm来管理一个由六个节点组成的小型集群,每个集群具有四个GPU。到目前为止,这一直很好,但是现在我们想利用Intel Core i7-5820K CPU来完成仅需要CPU处理能力的作业。每个CPU有六个核心和12个线程,每个GPU需要一个线程/逻辑核心,因此(每个节点)剩余8个线程可用于“仅CPU”作业。
当前配置:
猫/etc/slurm-llnl/gres.conf
Name=gpu File=/dev/nvidia0
Name=gpu File=/dev/nvidia1
Name=gpu File=/dev/nvidia2
Name=gpu File=/dev/nvidia3
猫/etc/slurm-llnl/slurm.conf(节选)
SchedulerType=sched/builtin
SelectType=select/cons_res
SelectTypeParameters=CR_Core
AccountingStorageType=accounting_storage/none
GresTypes=gpu
MaxTasksPerNode=4
NodeName=node1 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node2 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node3 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node4 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node5 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node6 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
PartitionName=gpu Nodes=node[2-6] Default=NO Shared=NO MaxTime=INFINITE State=UP
PartitionName=short Nodes=node1 Default=YES Shared=NO MaxTime=INFINITE State=UP
我想第一步是更改CoresPerSocket=4 Procs=8
为CoresPerSocket=6 Procs=12
,因为这将与实际硬件匹配。
我已经尝试过查阅文档,但是我仍然不知道该怎么办。我需要修改gres.conf
吗?File=
我应该为CPU指定哪个?然后,我想我要添加第三个分区,也许叫做cpuonly
。但这是否是完成我要完成的工作的正确方法?我想我必须Gres=
在以开头的行中向参数添加一些内容NodeName
。