本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 AWS PCS 中設定自訂 GRES 設定
Slurm 使用 gres.conf 在運算節點上管理一般資源 (GRES),例如 GPUs、多程序服務 (MPS) 和多執行個體 GPU (MIG) 裝置。 AWS PCS 可讓您在運算節點群組建立或更新slurmConfiguration期間gres.conf透過 gresCustomSettings 屬性自訂 。
與其他自訂設定不同,這是參數和值對的平面清單,gresCustomSettings是記錄清單。每個記錄都是一組描述一個 GRES 裝置或資源的gres.conf屬性。例如,記錄會Name=gpu Type=a100 File=/dev/nvidia[0-7]宣告八個 A100 GPUs。
在 Slurm 中,除非指定NodeName=字首,否則gres.conf記錄會套用至叢集中的每個節點。 AWS PCS 一律會為運算節點群組新增NodeName=字首,因此您不會指定它,而且您提供的每個記錄只會套用至該運算節點群組。 AWS PCS 不支援整個叢集gres.conf的記錄。
設定 gres.conf 設定
gres.conf 在建立運算節點群組期間,可以透過 AWS 主控台、CLI 或 SDKs 設定自訂設定,或稍後透過更新操作進行修改。
運算節點群組支援的 gres.conf 設定
運算節點群組層級的每個記錄都支援下列gres.conf屬性:
-
注意
AWS PCS Slurm 25.11 版及更新版本
AutoDetect支援 。
如需每個屬性的意義和接受值,請參閱 Slurm gres.confName或作用中AutoDetect值,且 GPU 記錄 (Name=gpu) 必須指定 File或 ,MultipleFiles除非作用中AutoDetect值發現裝置。
作用中AutoDetect值是開啟偵測的任何值,例如 nvml或 full。 AutoDetect=off 會關閉偵測,因此它不是作用中值,無法在記錄中獨立。
AWS PCS 如何套用您的 gres.conf 記錄
GRES 組態會出現在 Slurm 組態的兩個位置, AWS PCS 會寫入這兩個組態:
-
您在 中提供的
gres.conf記錄gresCustomSettings說明節點上存在的裝置。 -
中的
Gres設定slurm.conf宣告排程器可以配置的內容,格式為name[:type]:count。您可以在 中將其作為運算節點群組的自訂 Slurm 設定提供slurmCustomSettings。如需詳細資訊,請參閱AWS PCS 運算節點群組的自訂 Slurm 設定。
AWS PCS 會將您的記錄轉譯到 ,gres.conf並與它管理的 GRES 組態進行協調:
-
您宣告的任何 GPU 記錄都會取代 AWS PCS 為運算節點群組產生的預設 GPU 記錄。GPU 記錄是指定
AutoDetectName=gpu或 屬性的記錄。 -
其他資源的記錄,例如
mps、shard或您自己的資源名稱,會與 AWS PCS 預設值一起新增。 -
AWS PCS
slurm.conf會從GresTypes設定衍生 中的AccountingStorageTRES設定Gres設定和gres/*項目。
在 Slurm 26.05 版及更新版本上,當節點的通訊端配置已知時, AWS PCS AutoDetect=full 預設會在 GPU 運算節點群組上設定,因為您slurmCustomSettings為運算節點群組在 Sockets 中設定,或 AWS PCS 會自動偵測到 CPU 拓撲。當通訊端配置無法使用時, AWS PCS 會發出其 GPU 記錄,AutoDetect而不改用 。
gres.conf 和 Gres 設定之間的限制
Slurm 需要 GRES 組態的兩端來排程資源,而僅出現在其中一個資源中的資源無法運作。在 中Gres設定的項目slurm.conf,其後面沒有gres.conf記錄,會使節點報告的資源少於設定的資源,且節點會耗盡。沒有Gres項目的記錄會讓裝置存在於節點上,但無法排程。
AWS 當您建立或更新運算節點群組時,PCS 會互相驗證兩者,並在下列情況下拒絕請求:
-
slurm.confGres項目名稱 沒有gres.conf記錄宣告的資源。這包括gpu:gpu項目在 中需要 GPU 記錄gresCustomSettings,即使計數為 也是如此0。 -
slurm.confGres項目宣告的資源計數高於gres.conf記錄宣告的數量。允許較低的計數,低至0:gres.conf記錄描述節點上存在的裝置,同時Gres宣告排程器可以配置多少裝置。 -
slurm.confGres項目會指定 中沒有 GPU 記錄gres.conf宣告的 GPU 類型。
最後兩次檢查取決於您的記錄宣告的內容。 AWS PCS 無法計算 Slurm 在節點開機時探索的裝置,因此只有 啟用的記錄會AutoDetect接受Gres項目中的任何gpu計數和類型。這是 MIG 設定檔傳遞驗證的方式。 AWS PCS 也會略過共用 GRES (mps 和 shard) 的計數檢查,並在 GPU 記錄宣告沒有 時略過類型檢查Type。
AWS PCS 接受沒有相符Gres項目的記錄。資源存在於節點上,但任務無法請求它。新增 Gres項目,使其可排程。
重要
AWS PCS 會驗證記錄的語法及其與 Gres設定的一致性。它不會針對硬體進行驗證。File、 Cores或 Links配置與開機節點上的裝置不相符的記錄會使節點耗盡。同樣適用於 MIG:您在 中宣告的設定檔Gres必須與節點上設定的設定檔相符。如需診斷耗盡節點的詳細資訊,請參閱 對 AWS PCS 中的無效節點註冊 (INVALID_REG) 進行故障診斷。