[英]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 相關的部分。 然后它使用paste
和bc
來計算總和(如果您願意,可以使用awk
代替)。
如果在單行中將Alloc
替換為Cfg
,您將配置 GPU 的總數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.