捷徑

PYTORCH ProcessGroupNCCL 環境變數

有關環境變數的更多資訊,請參閱ProcessGroupNCCL 環境變數

變數

描述

TORCH_NCCL_ASYNC_ERROR_HANDLING

控制當 watchdog 觀察到例外狀況時,我們如何使用 NCCL 執行非同步錯誤處理。若設定為 0,則不處理非同步 NCCL 錯誤。若設定為 1,則在發生錯誤時中止 NCCL 通訊器並關閉程序。若設定為 2,則僅中止 NCCL 通訊器;若設定為 3,則關閉程序而不中止 NCCL 通訊器。預設值為 3。

TORCH_NCCL_HIGH_PRIORITY

控制是否使用高優先級串流於 NCCL 通訊器。

TORCH_NCCL_BLOCKING_WAIT

控制 wait() 是否為阻塞或非阻塞。

TORCH_NCCL_DUMP_ON_TIMEOUT

控制在偵測到 watchdog 超時或例外狀況時是否傾印偵錯資訊。此變數必須與大於 0 的 TORCH_NCCL_TRACE_BUFFER_SIZE 一起設定。

TORCH_NCCL_DESYNC_DEBUG

控制是否啟用 Desync Debug。這有助於找出集體不同步的罪魁禍首 rank。

TORCH_NCCL_ENABLE_TIMING

若設定為 1,則啟用記錄所有 ProcessGroupNCCL 集體操作的啟動事件,並計算每個集體操作的精確計時。

TORCH_NCCL_ENABLE_MONITORING

如果設定為 1,啟用監控線程,當 ProcessGroupNCCL Watchdog 線程卡住且在 TORCH_NCCL_HEARTBEAT_TIMEOUT_SEC 後未檢測到任何心跳時,該線程會中止該進程。這可能是由於調用可能掛起的 CUDA/NCCL API 造成的。這有助於防止作業比必要的更長時間卡住,從而佔用集群資源。

TORCH_NCCL_HEARTBEAT_TIMEOUT_SEC

控制 watchdog 心跳逾時時間,超過此時間後,監控線程將中止程序。

TORCH_NCCL_TRACE_BUFFER_SIZE

我們在飛行記錄器的環形緩衝區中儲存的最大事件數。 例如,一個事件可能是集體操作的開始或結束。 設為 0 可停用追蹤緩衝區和偵錯資訊傾印。

TORCH_NCCL_TRACE_CPP_STACK

是否為飛行記錄器收集 cpp 堆疊追蹤。預設值為 False。

TORCH_NCCL_COORD_CHECK_MILSEC

控制監控線程內部檢查來自其他 ranks 的協調信號的間隔,例如,傾印偵錯資訊。 預設值為 1000 毫秒。

TORCH_NCCL_WAIT_TIMEOUT_DUMP_MILSEC

控制在退出並拋出逾時例外之前,我們將等待多久的額外時間來傾印偵錯資訊。

TORCH_NCCL_DEBUG_INFO_TEMP_FILE

將偵錯資訊傾印到的檔案。

TORCH_NCCL_DEBUG_INFO_PIPE_FILE

用於手動觸發偵錯傾印的管道檔案,將任何內容寫入管道都會觸發傾印。

TORCH_NCCL_NAN_CHECK

控制是否為輸入啟用 NAN 檢查,如果偵測到 NAN,則會拋出錯誤。

文件

取得 PyTorch 的完整開發人員文件

檢視文件

教學

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

檢視教學

資源

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

檢視資源