Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
如何對 NVIDIA GPU 加速的 EC2 執行個體上的 Xid 錯誤進行疑難排解?
當我在 NVIDIA GPU 加速的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體上執行我的應用程式時,應用程式當機了。另外,我在系統日誌中收到特定於 GPU 的 Xid 錯誤。我想從 GPU 擷取診斷資訊並對 GPU 相關的 Xid 錯誤進行疑難排解。
解決方法
**注意:**以下解決方案可對 G4、G5 和 G6 執行個體類型的問題進行疑難排解。GPU 會傳送至所有 GPU 加速 EC2 執行個體系列的訪客執行個體。
檢索您的 nvidia-smi 診斷
使用 nvidia-smi 工具擷取關於附加至執行個體之 NVIDIA GPU 的運作狀態和效能的統計資料與診斷。NVIDIA GPU 驅動程式可自動提供此工具,並包含所有 AWS Deep Learning Amazon Machine Image (DLAMI) 選項。如需了解如何為任何 GPU 執行個體系列安裝 NVIDIA GPU 驅動程式,請參閱安裝選項。
若要查詢統計資料,請執行 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 驅動程式以來,不穩定的 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 會停止處理並導致應用程式突然結束。如果出現雙位元錯誤,則作業系統 (OS) 會記錄 Xid 錯誤,且待處理分頁禁止名單狀態為是。若要解決這些錯誤,請重新啟動執行個體以淘汰錯誤的記憶體位置。重新啟動後,待處理分頁禁止名單狀態會重設為否。
**注意:**錯誤計數器會在 GPU 的生命週期內持續存在。執行個體啟動時,計數器非零並不表示有作業中硬體問題或 GPU 故障。
P4d、P4de、G5、G5g 和 G6 執行個體:
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_UUID 替換為您的 GPU ID。
如果發生重新對應失敗,則停止並啟動執行個體,以將執行個體遷移到具有運作狀態良好 GPU 的新基礎主機。
注意: AWS 會定期執行診斷,以偵測並自動更換運作狀態不佳的 GPU。
解決失敗模式
所有世代 NVIDIA GPU 的 GPU 驅動程式都會將錯誤作為 Xid 錯誤寫入作業系統的系統日誌。有關這些錯誤的更多信息,請參閱 NVIDIA 網站上的 Xid 錯誤。
GPU 數目不正確或缺少 GPU
若要查看所有連接的 GPU,請執行以下命令:
nvidia-smi --list-gpus | wc -l
在命令輸出中,檢查連接的 GPU 數量與執行個體類型的預期 GPU 數量相符。如果缺少 GPU,請停止並啟動執行個體。
您也可以使用前述疑難排解步驟來解決以下 ECC 錯誤範例:
- 「Xid 48: 發生 DBE」
- 「Xid 63: 分頁已成功淘汰」
- 「Xid 64: 分頁因錯誤而淘汰失敗」
NVRM: Xid 79 (PCI:0000:00:00): GPU 已從匯流排脫落
當執行個體與基礎 GPU 失去通訊時,會發生 Xid 79 錯誤。若要解決此問題,請重新啟動執行個體。如果重新啟動後問題仍然存在,請停止並啟動執行個體。
警告:GPU 0000:00:00.0 處的 infoROM 已損毀
當 GPU 韌體的一部分損毀時,就會發生 infoROM 已損毀錯誤。若要解決此問題,請重新啟動執行個體或重設 GPU。如果重新啟動後問題仍然存在,請停止並啟動執行個體。
NVRM: Xid 119 PCI:0000:00:00): 等待來自 GSP 的 RPC 逾時
- 或 -
NVRM: Xid 120 PCI:0000:00:00): GSP 錯誤: 任務 1 引發了錯誤代碼
啟動 GPU 系統處理器 (GSP) 時,就會發生上述錯誤。若要解決此問題,請從 GPU 驅動程式或核心模組停用 GSP。有關如何停用 GSP 的說明,請參閱NVIDIA 網站上的 4.2.6.停用 GSP 韌體。
避免將來出現 Xid 錯誤
盡可能使用最新的驅動程式和 CUDA 執行期。GPU 驅動程式發行版本經常會引入修復、改進和最佳化。不過,這些更新可能還包含功能變更。請先在非生產 GPU 執行個體上暫存和測試驅動程式更新。
GPU 具有根據負載而動態變化的核心和記憶體時脈速度。若要提高效能,請持續將 GPU 核心和記憶體時脈速度設定為最大速度。
停用 GSP。在最近幾代的執行個體中,NVIDIA GPU 包含 GSP 韌體功能。有關如何停用 GSP 的說明,請參閱NVIDIA 網站上的 4.2.6.停用 GSP 韌體。
另外,使用 Amazon CloudWatch 代理程式監控您的 GPU 指標。
如果您完成上述故障排除步驟後仍遇到 Xid 錯誤,請開啟 AWS Support 案例。提供您的執行個體 ID 和 nvidia-smi-q 命令的輸出。此外,執行隨附於 NVIDIA GPU 驅動程式的 sudo nvidia-bug-report.sh 命令。nvidia-bug-report.sh 指令碼會擷取您目前工作目錄中的主要日誌及其他診斷資訊。將 nvidia-bug-report.log.gz 壓縮日誌檔案附加到您的支援案例。

相關內容
- 已提問 7 個月前lg...
- 已提問 9 個月前lg...
- 已提問 2 年前lg...
- 已提問 2 年前lg...
- 已提問 2 年前lg...