如何對 NVIDIA GPU 加速的 EC2 執行個體上的 Xid 錯誤進行疑難排解?

3 分的閱讀內容
0

在 NVIDIA GPU 加速的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體上執行應用程式時,應用程式當機,而且我在系統日誌中發現 GPU 特定的 Xid 錯誤。我想從 GPU 擷取診斷資訊並對 GPU 相關的 Xid 錯誤進行疑難排解。

簡短說明

AWS 提供多個具有 GPU 加速功能的 EC2 執行個體系列。GPU 會傳送至所有 GPU 加速 EC2 執行個體系列的訪客執行個體。這可讓您使用 GPU 硬體的完整功能。

解決方法

閱讀和解譯 nvidia-smi 診斷

使用 nvidia-smi 工具擷取關於附加至執行個體之 NVIDIA GPU 的運作狀態和效能的統計資料與診斷。NVIDIA GPU 驅動程式會自動提供此工具,包括深度學習 Amazon Machine Image (AMI) 的任何變體。如需為任何 GPU 執行個體系列安裝 NVIDIA GPU 驅動程式的詳細資訊,請參閱在 Linux 執行個體上安裝 NVIDIA 驅動程式

執行 sudo nvidia-smi -q 命令來查詢統計資料。

記憶體統計資料範例

ECC Errors
        Volatile                              # Errors counted since last GPU driver reload
            SRAM Correctable            : 0
            SRAM Uncorrectable          : 0
            DRAM Correctable            : 0
            DRAM Uncorrectable          : 0
        Aggregate                             # Errors counted for the life of the GPU
            SRAM Correctable            : 0
            SRAM Uncorrectable          : 0
            DRAM Correctable            : 0
            DRAM Uncorrectable          : 0

所有世代的 NVIDIA GPU 都會記錄 GPU 硬體的彙總和揮發性記憶體統計資料。請注意,彙總 ECC 錯誤計數器會在 GPU 的生命週期內持續存在。正值並不表示執行個體遇到硬體問題或 GPU 故障。正值可能來自過去,因此重要的是要檢閱不穩定的指標。

但是,從 GPU 驅動程式重新載入的最後一次開始,不穩定的 ECC 錯誤會從零增加。無法修正的 ECC 錯誤會在執行個體的生命週期內增加。如果 ECC 錯誤不穩定,您可能需要重新啟動執行個體或重設 GPU。視執行個體類型和 GPU 世代而定,重新啟動會針對瑕疵記憶體分頁啟動分頁淘汰或列重新對應。

P3、P3dn、G4dn 執行個體

    Retired Pages
        Single Bit ECC              : 0
        Double Bit ECC              : 0
        Pending Page Blacklist      : No

早期幾代的 NVIDIA GPU 使用動態分頁淘汰。您可以忽略單一位元錯誤,因為它們通常是良性的。GPU 韌體可識別雙位元錯誤。

如果 GPU 韌體識別出雙位元錯誤,則 GPU 會停止處理並導致應用程式突然結束。如果發生雙位元錯誤,則作業系統 (OS) 日誌中會記錄 Xid 錯誤,且待處理分頁黑名單 狀態為。若要解決這些錯誤,請重新啟動執行個體以淘汰錯誤的記憶體位置。重新啟動後,待處理分頁黑名單狀態會重設為

**注意:**錯誤計數器會在 GPU 的生命週期內持續存在。因此,執行個體啟動時的非零計數器並不表示作用中硬體問題或 GPU 故障。

P4d、P4de、G5 和 G5g 執行個體

    Remapped Rows
        Correctable Error                 : 0 # Can safely ignore.
        Uncorrectable Error               : 0 # If > 0, review system logs for Xid errors
        Pending                           : No # If Yes, an instance reboot or GPU reset is required.
        Remapping Failure Occurred        : No # Should always be No. If Yes, please stop/start the instance.

具有 A100 和 A10G GPU 的較新執行個體系列會透過列重新對應來隔離並包含記憶體錯誤。與動態分頁淘汰類似,列重新對應可防止重複使用已知降級的記憶體位置。列重新對應會取代舊一代 GPU 中的分頁淘汰機制。

您可以略過可修正的記憶體錯誤。無法修正的錯誤可能會導致錯誤或應用程式突然結束。無法修正的錯誤會以 Xid 錯誤的形式記錄到作業系統的系統日誌中。

在無法修正的錯誤後啟動的待處理重新對應列需要重設 GPU,才可淘汰錯誤的記憶體位置。重新啟動執行個體以重設 GPU。或者,執行下列命令以手動重設 GPU:

sudo nvidia-smi -i <GPU UUID> -r

如果發生重新對應失敗,請停止並啟動執行個體。停止和啟動執行個體會將執行個體移轉至狀況良好的 GPU 的新基礎主機。

偵測狀況不良的 GPU

AWS 使用自動化定期執行診斷並偵測狀況不良的 GPU。因為硬體錯誤而處於狀況不良的任何 GPU,最終都會被識別並自動取代。

故障模式

所有世代 NVIDIA GPU 的 GPU 驅動程式都會將錯誤作為 Xid 錯誤寫入作業系統的系統日誌。如需這些錯誤的分類和說明,請參閱 NVIDIA 網站上的 Xid 錯誤

下列常見 Xid 錯誤清單包含解決問題的最佳作法:

GPU 數目不正確或 GPU 遺失

執行下列命令:

nvidia-smi —list-gpus | wc -l

在命令輸出中,確認連結的 GPU 數量與執行個體類型的預期 GPU 數量相符。如果 GPU 遺失,請停止並啟動執行個體

Xid 48: 發生 DBE。
Xid 63: 分頁已成功淘汰。
Xid 64: 分頁因錯誤而未能淘汰。

上述錯誤表示發生了 ECC 錯誤。若要解決此問題,請完成 GPU 數目不正確或 GPU 遺失 一節中的步驟。

NVRM: Xid 79 (PCI:0000:00:00): GPU 已從匯流排脫落。

Xid 79 錯誤表示執行個體失去與基礎 GPU 的通訊。若要解決此問題,請重新啟動執行個體。如果重新啟動後問題仍然存在,請停止並啟動執行個體

警告:GPU 0000:00:00.0 處的 infoROM 已損毀

infoROM 已損毀錯誤表示部分 GPU 韌體已損毀。若要解決此問題,請重新啟動執行個體或重設 GPU。如果重新啟動後問題仍然存在,請停止並啟動執行個體

NVRM: Xid 119 PCI:0000:00:00): 等待來自 GSP 的 RPC 逾時!
NVRM: Xid 120 PCI:0000:00:00): GSP 錯誤: 工作 1 引發了錯誤代碼...

當 GPU 系統處理器 (GSP) 開啟時,就會發生上述錯誤。確認 GPU 驅動程式或核心模組內的 GSP 已關閉

最佳實務

  • 盡可能使用最新的驅動程式和 CUDA 執行期。更新版 GPU 驅動程式經常會引入修正、改進和最佳化。不過,這些更新可能包含功能變更。請先在非生產 GPU 執行個體上暫存和測試驅動程式更新。
  • 與常見的 x86 CPU 類似,GPU 具有根據負載而動態變化的核心和記憶體時脈速度。若要獲得最佳效能,請持續將 GPU 核心和記憶體時脈速度設定為最大速度。如需詳細資訊,請參閱最佳化 GPU 設定
  • 關閉 GSP。在最近幾代的執行個體中,NVIDIA GPU 包含 GSP 韌體功能。GSP 旨在卸載 GPU 初始化和其他管理工作。如需詳細資訊,請參閱 NVIDIA 網站上的關閉 GSP 韌體
  • 使用 Amazon CloudWatch 代理程式監控您的 GPU。CloudWatch 代理程式原生支援您可以從 CloudWatch 收集和監控的 NVIDIA GPU 指標。如需詳細資訊,請參閱收集 NVIDIA GPU 指標

聯絡 AWS Support

在您的支援案例中提供您的執行個體 ID 和 nvidia-smi-q 命令的輸出。

此外,執行隨附於 NVIDIA GPU 驅動程式的 sudo nvidia-bug-report.sh 命令。nvidia-bug-report.sh 指令碼會擷取主要日誌及其他診斷資訊。此指令碼會在您目前的工作目錄中建立一個名為 nvidia-bug-report.log.gz 的壓縮日誌檔,您可以擷取它並提供給 AWS Support。

AWS 官方
AWS 官方已更新 10 個月前