このページでは、Compute Engine で実行され、GPU が接続された VM の問題を解決する方法について説明します。
GPU が割り当てられた VM を作成しようとしたときにエラーが発生した場合は、リソースの可用性エラーのトラブルシューティングと VM の作成と更新のトラブルシューティングをご覧ください。
NVIDIA DCGM を使用して GPU VM のトラブルシューティングを行う
NVIDIA Data Center GPU Manager(DCGM)は、クラスタ環境内の NVIDIA データセンター GPU の管理とモニタリングを行うためのツールセットです。
DCGM を使用して GPU 環境のトラブルシューティングを行う場合は、次の操作を行います。
- VM の GPU モデルに推奨される最新の NVIDIA ドライバを使用していることを確認します。ドライバのバージョンを確認するには、推奨される NVIDIA ドライバのバージョンをご覧ください。
- DCGM の最新バージョンがインストールされていることを確認します。最新バージョンをインストールするには、DCGM のインストールをご覧ください。
問題の診断
dcgmi
診断コマンドを実行すると、診断ツールから報告された問題とその対処方法を確認できます。次の例は、dcgmi diag -r memory -j
コマンドの出力を示しています。
{ ........ "category":"Hardware", "tests":[ { "name":"GPU Memory", "results":[ { "gpu_id":"0", "info":"GPU 0 Allocated 23376170169 bytes (98.3%)", "status":"Fail", ""warnings":[ { "warning":"Pending page retirements together with a DBE were detected on GPU 0. Drain the GPU and reset it or reboot the node to resolve this issue.", "error_id":83, "error_category":10, "error_severity":6 } ] } .........
この出力スニペットを見ると、回復不能なエラーのため、GPU 0
でページ リタイアメントが保留されていることがわかります。出力には、一意の error_id
と問題のデバッグに関するアドバイスが表示されます。この出力例では、GPU をドレインして VM を再起動することが推奨されています。ほとんどの場合、出力のこのセクションの手順で問題を解決できます。
サポートケースを登録する
dcgmi
の診断結果のガイダンスに従っても問題を解決できない場合は、サポートケースを作成できます。サポートケースを登録する際に、次の情報を提供する必要があります。
- 実行したコマンドとその出力。
関連するログファイル(ホストエンジン ログや診断ログなど)。必要なログファイルを収集するには、
gather-dcgm-logs.sh
スクリプトを実行します。Debian ベースと RPM ベースのシステムのデフォルト インストールの場合、このスクリプトは
/usr/local/dcgm/scripts
にあります。dcgmi diag
エラーの場合は、失敗したプラグインの統計ファイルを提供します。統計ファイルの名前はstats_PLUGIN_NAME.json
という形式になっています。たとえば、
pcie
プラグインが失敗した場合は、stats_pcie.json
という名前のファイルを提供します。NVIDIA システム情報とドライバの状態。この情報を収集するには、
nvidia-bug-report.sh
スクリプトを実行します。このスクリプトを実行すると、問題が DCGM 自体のバグではなく、NVIDIA の他の依存関係によって発生している場合のデバッグにも役立ちます。
エラーが発生する前に環境に加えた最近の変更に関する詳細。
Xid メッセージ
GPU が接続された VM を作成したら、アプリケーションが GPU にアクセスできるように、NVIDIA デバイス ドライバを GPU VM にインストールする必要があります。ただし、これらのドライバがエラー メッセージを返すことがあります。
Xid メッセージは NVIDIA ドライバからのエラーレポートで、Linux VM のオペレーティング システムのカーネルログまたはイベントログに出力されます。これらのメッセージは /var/log/messages
ファイルに記録されます。
原因の可能性を含む Xid メッセージの詳細については、NVIDIA のドキュメントをご覧ください。
次のセクションでは、Xid メッセージの処理に関するガイダンスを GPU メモリエラー、GPU System Processor(GSP)エラー、不正なメモリアクセス エラーなどの一般的なタイプ別に示します。
GPU メモリエラー
GPU メモリは GPU で利用可能なメモリで、データの一時的な保存に使用できます。GPU メモリは誤り訂正符号(ECC)で保護されています。ECC は、単一ビットエラー(SBE)を検出して訂正し、ダブルビット エラー(DBE)を検出して報告します。
NVIDIA A100 GPU のリリース前は Dynamic Page Retirement がサポートされていました。NVIDIA A100 以降の GPU リリース(NVIDIA H100 など)では、Row Remap Error からの復旧が導入されています。ECC はデフォルトで有効になっています。ECC を有効にしたままにすることを強くおすすめします。
以下に、一般的な GPU メモリエラーとその解決策を示します。
Xid エラー メッセージ | 解決策 |
---|---|
Xid 48: Double Bit ECC |
|
Xid 63: ECC page retirement or row remapping recording
event |
|
Xid 64: ECC page retirement or row remapper recording
failure
メッセージには次の情報が含まれています。 Xid 64: All reserved rows for bank are remapped
|
|
次の Xid メッセージのうち少なくとも 2 つが同時に表示された場合:
メッセージには次の情報が含まれています。 Xid XX: row remap pending
|
|
Xid 92: High single-bit ECC error rate |
この Xid メッセージは、GPU ドライバが修正可能なエラーを修正した後に返され、ワークロードには影響しません。この Xid メッセージは情報提供のみを目的としています。対応の必要はありません。 |
Xid 94: Contained ECC error |
|
Xid 95: Uncontained ECC error |
|
GSP エラー
GPU System Processor(GSP)は GPU 上で動作し、低レベルのハードウェア管理機能を処理するマイクロコントローラです。
Xid エラー メッセージ | 解決策 |
---|---|
Xid 119: GSP RPC timeout |
|
Xid 120: GSP error |
不正なメモリアクセス エラー
アプリに不正なメモリアクセスの問題がある場合、次の Xid が返されます。
Xid 13: Graphics Engine Exception
Xid 31: GPU memory page fault
不正なメモリアクセス エラーは通常、すでに解放されているメモリや範囲外のメモリにワークロードがアクセスしようとした場合に発生します。これは、無効なポインタの逆参照や、配列の範囲外アクセスなどの問題が原因で発生することがあります。
この問題を解決するには、アプリケーションをデバッグする必要があります。アプリケーションをデバッグするには、cuda-memcheck と CUDA-GDB を使用します。
ごくまれに、ハードウェアの性能低下によって不正なメモリアクセス エラーが返されることがあります。問題がハードウェアにあるかどうかを確認するには、NVIDIA Data Center GPU Manager(DCGM)を使用します。dcgmi diag -r 3
または dcgmi diag -r 4
を実行すると、異なるレベルのテスト カバレッジとテスト期間を実行できます。ハードウェアに問題があることが判明した場合は、Cloud カスタマーケアにケースを登録してください。
その他の一般的な Xid エラー メッセージ
Xid エラー メッセージ | 解決策 |
---|---|
Xid 74: NVLINK error |
|
Xid 79: GPU has fallen off the bus
これは、ドライバが GPU と通信できないことを意味します。 |
VM を再起動します。 |
GPU をリセットする
問題によっては、GPU のリセットが必要になる場合があります。GPU をリセットするには、次の操作を行います。
- N1、G2、A2 の VM の場合は、
sudo reboot
を実行して VM を再起動します。 - A3 VM の場合は、
sudo nvidia-smi --gpu-reset
を実行します。- ほとんどの Linux VM では、
nvidia-smi
実行可能ファイルは/var/lib/nvidia/bin
ディレクトリにあります。 - GKE ノードの場合、
nvidia-smi
実行可能ファイルは/home/kubernetes/bin/nvidia
ディレクトリにあります。
- ほとんどの Linux VM では、
GPU をリセットしてもエラーが解決しない場合は、VM を削除して VM を再作成する必要があります。
削除して再作成してもエラーが解決しない場合は、Cloud カスタマーケアにケースを登録して、VM を修復ステージにします。
次のステップ
GPU マシンタイプを確認する。