[英]Cores assigned to SLURM job
假設我想提交一個 slurm 作業,只分配任務總量 (--ntasks=someNumber),而不指定節點數和每個節點的任務。 有沒有辦法在啟動的 slurm 腳本中知道 slurm 為每個保留節點分配了多少核心? 我需要知道這些信息才能為我正在啟動的程序正確創建一個機器文件,該文件的結構必須如下:
node02:7 node06:14 node09:3
啟動作業后,我想查看在節點上分配了哪些內核的唯一方法是使用以下命令:
scontrol show jobid -dd
在其 output 中存儲了上述信息(以及許多其他細節)。 有沒有更好的方法來獲取這些信息?
在此先感謝,洛倫佐
srun
文檔說明創建機器文件的方式是運行srun hostname
。 要獲得您想要的 output,您可以運行
srun hostname -s | sort | uniq -c | awk '{print $2":"$1}' > $MACHINEFILE
您應該檢查程序的文檔以查看它是否接受帶有重復而不是后綴計數的機器文件。 如果是這樣,您可以將命令簡化為
srun hostname -s > $MACHINEFILE
當然,第一步實際上是首先確保您確實需要一個機器文件,因為許多並行程序/庫都支持 Slurm,並且可以在作業開始時從 Slurm 設置的環境變量中收集所需的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.