簡體   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