繁体   English   中英

获取 SLURM 集群上的空闲 GPU 数量

[英]Get the number of free GPUs on a SLURM Cluster

我正在集群上安排作业以占用某些节点的 1 个或 2 个 gpus。 我经常使用sinfo -p gpu列出“gpu”分区的所有节点以及它们的 state。 有些出现 state 'idle',表明它们上没有运行作业。 然而,有些出现与 state 'mix',这意味着有一些工作在他们身上运行。

但是,没有给出混合状态节点上实际占用多少 GPU 的信息。 是否有任何可能基于 sinfo 的命令让我知道服务器上的可用 gpus 数量,可能是每个节点?

sinfo 手册没有给出使用 output 选项“%G”的任何见解,该选项仅使用一般可用的 gpu 数量。 谢谢!

更新:我意识到我可以使用“%C”通过以下命令打印出每个节点的 CPU 分配/空闲使用情况:

--format="%9P %l %10n %.14C %.10T "

我想做完全相同的事情,但使用 GPU 而不是 CPU。

不幸的是, sinfo没有立即提供信息。 您将不得不解析 scontrol 的scontrol

scontrol -o show node | grep  -Po "AllocTRES[^ ]*(?<=gpu=)\K[0-9]+" | paste -d + -s | bc

这会列出所有节点,提取与AllocTRES (分配的可跟踪资源,GPU 属于其中的一部分)对应的部分,以及在该部分中,更具体地说,是与 GPU 相关的部分。 然后它使用pastebc来计算总和(如果您愿意,可以使用awk代替)。

如果在单行中将Alloc替换为Cfg ,您将配置 GPU 的总数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM