捷徑

torch.compiler.config

這是編譯器的頂層配置模組,包含影響編譯器堆疊所有部分的跨領域配置選項。

您可能也會對每個元件的配置模組感興趣,其中包含僅影響編譯器特定部分的配置選項

  • torch._dynamo.config

  • torch._inductor.config

  • torch._functorch.config

  • torch.fx.experimental.config

torch.compiler.config.job_id: Optional[str] = None

從語義上來說,這應該是一個唯一標識符,例如,用於識別一個訓練任務。你可能會有同一個任務的多個嘗試,例如,如果它被搶佔或需要重新啟動,但每次嘗試都應該運行基本上相同的工作負載和相同的分散式拓撲。你可以透過環境變數 TORCH_COMPILE_JOB_ID 來設定這個值。

在操作上,這控制著與配置引導優化相關的持久狀態的影響。PGO 狀態會影響我們在 PyTorch 的多次調用中執行編譯的方式,例如,第一次運行程式時,我們可能會編譯兩次,因為我們發現哪些輸入是動態的,然後 PGO 會保存這個狀態,以便後續調用只需編譯一次,因為它們會記住它是動態的。然而,這種配置資訊對於你正在運行的工作負載非常敏感,因此我們要求你告訴我們兩個任務是相關的(即,是相同的工作負載),我們才願意重複使用此資訊。值得注意的是,除非有有效的 job_id 可用,否則 PGO 不會執行任何操作(即使已明確啟用)。在某些情況下,PyTorch 可以配置為根據其運行的環境自動計算 job_id

配置檔始終以每個 rank 為基礎收集,因此不同的 rank 可能具有不同的配置檔。如果你知道你的工作負載確實是 SPMD,則可以使用 torch._dynamo.config.enable_compiler_collectives 運行,以確保節點在所有 rank 上獲得一致的配置檔。

文件

存取 PyTorch 的完整開發者文件

檢視文件

教學

取得初學者和進階開發人員的深入教學

檢視教學

資源

尋找開發資源並獲得問題解答

檢視資源