NVIDIA Data Center GPU Manager のインテグレーションでは、DCGM から高度な主要 GPU 指標が収集されます。Ops エージェントは、dcgm
レシーバーのバージョンを選択することで、2 つの異なる指標セットのいずれかを収集するように構成できます。
dcgm
レシーバーのバージョン 2 で、特定の VM インスタンスに接続されている GPU のパフォーマンスと状態をモニタリングするための、キュレートされた一連の指標が使用できます。dcgm
レシーバーのバージョン 1 には、デフォルトの GPU 指標と組み合わせて使用することを目的とした一連のプロファイリング指標が用意されています。これらの指標の目的と解釈については、DCGM 機能の概要にあるプロファイリング指標をご覧ください。
NVIDIA Data Center GPU Manager の詳細については、DCGM のドキュメントをご覧ください。このインテグレーションには、DCGM バージョン 3.1 以降との互換性があります。
これらの指標は Linux システムでのみ使用できます。NVIDIA GPU モデル P100、P4 からプロファイリング指標は収集されません。
前提条件
NVIDIA DCGM 指標を収集するには、次の操作を行う必要があります。
-
- バージョン 1 の指標: Ops エージェント バージョン 2.38.0 以降。GPU Monitoring と互換性があるのは、Ops エージェントのバージョン 2.38.0 またはバージョン 2.41.0 以降のみです。GPU が接続された VM に Ops エージェント バージョン 2.39.0 と 2.40.0 をインストールしないでください。詳しくは、エージェントのクラッシュと NVIDIA への報告をご覧ください。
- バージョン 2 の指標: Ops エージェント バージョン 2.51.0 以降。
DCGM をインストールして確認する
DCGM バージョン 3.1 以降をインストールして、特権サービスとして実行する必要があります。DCGM をインストールするには、DCGM ドキュメントのインストールをご覧ください。
DCGM が正しく実行されていることを確認するには、次の操作を行います。
次のコマンドを実行して、DCGM サービスのステータスを確認します。
sudo service nvidia-dcgm status
サービスが実行されている場合、
nvidia-dcgm
サービスはactive (running)
として表示されます。出力は次のようになります。● nvidia-dcgm.service - NVIDIA DCGM service Loaded: loaded (/usr/lib/systemd/system/nvidia-dcgm.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2023-01-07 15:24:29 UTC; 3s ago Main PID: 24388 (nv-hostengine) Tasks: 7 (limit: 14745) CGroup: /system.slice/nvidia-dcgm.service └─24388 /usr/bin/nv-hostengine -n --service-account nvidia-dcgm
次のコマンドを実行して、GPU デバイスが検出されることを確認します。
dcgmi discovery --list
デバイスが検出された場合、出力は次のようになります。
1 GPU found. +--------+----------------------------------------------------------------------+ | GPU ID | Device Information | +--------+----------------------------------------------------------------------+ | 0 | Name: NVIDIA A100-SXM4-40GB | | | PCI Bus ID: 00000000:00:04.0 | | | Device UUID: GPU-a2d9f5c7-87d3-7d57-3277-e091ad1ba957 | +--------+----------------------------------------------------------------------+
DCGM 用に Ops エージェントを構成する
Ops エージェントの構成のガイドに従って、DCGM サービスからテレメトリーを収集するために必要な要素を追加し、エージェントを再起動します。
構成の例
次のコマンドは、NVIDIA DCGM のレシーバ バージョン 2 指標を収集して取り込み、Ops エージェントを再起動するための構成を作成します。
DCGM プロファイリング指標のみを収集する場合は、receiver_version
フィールドの値を 1
に置き換えます。receiver_version
エントリを完全に削除することもできます。デフォルト バージョンは 1
です。両方のバージョンを同時に使用することはできません。
これらのコマンドを実行したら、エージェントが再起動したことを確認できます。次のコマンドを実行して、サブエージェント コンポーネントの「Metrics Agent」と「Logging Agent」が「active (running)」と表示されていることを確認します。
sudo systemctl status google-cloud-ops-agent"*"
デフォルトの Compute Engine サービス アカウントではなくカスタム サービス アカウントを使用している場合、または非常に古い Compute Engine VM がある場合は、Ops エージェントの認可が必要になることがあります。
指標の収集を構成する
NVIDIA DCGM から指標を取り込むには、NVIDIA DCGM が生成する指標のレシーバーを作成してから、新しいレシーバー用のパイプラインを作成する必要があります。
このレシーバーでは、複数のエンドポイントのモニタリングなど、構成で複数のインスタンスを使用することはできません。このようなインスタンスはすべて同じ時系列に書き込まれるため、Cloud Monitoring ではインスタンスを区別できません。
dcgm
指標のレシーバーを構成するには、次のフィールドを指定します。
フィールド | デフォルト | 説明 |
---|---|---|
collection_interval |
60s |
時間(例: 30s 、5m )。 |
endpoint |
localhost:5555 |
DCGM サービスのアドレス(host:port 形式)。 |
receiver_version |
1 |
1 または 2 のいずれか。バージョン 2 では、さらに多くの指標を使用できます。 |
type |
値は、dcgm にする必要があります。 |
モニタリング対象
次の表に、Ops エージェントが NVIDIA DGCM インスタンスから収集する指標の一覧を示します。すべての GPU モデルですべての指標を利用できるわけではありません。NVIDIA GPU モデル P100、P4 からプロファイリング指標は収集されません。
バージョン 1 の指標
次の指標は、dcgm
レシーバーのバージョン 1 を使用して収集されます。
指標タイプ | |
---|---|
種類、タイプ モニタリング対象リソース |
ラベル |
workload.googleapis.com/dcgm.gpu.profiling.dram_utilization † |
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.nvlink_traffic_rate † |
|
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.pcie_traffic_rate † |
|
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.pipe_utilization † |
|
GAUGE , DOUBLE gce_instance |
gpu_number model pipe ‡uuid |
workload.googleapis.com/dcgm.gpu.profiling.sm_occupancy † |
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.sm_utilization † |
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
† GPU モデル P100 および P4 では使用できません。
‡ L4 の場合、pipe
値 fp64
はサポートされません。
バージョン 2 の指標
次の指標は、dcgm
レシーバーのバージョン 2 を使用して収集されます。
指標タイプ | |
---|---|
種類、タイプ モニタリング対象リソース |
ラベル |
workload.googleapis.com/gpu.dcgm.clock.frequency
|
|
GAUGE 、DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.clock.throttle_duration.time
|
|
CUMULATIVE 、DOUBLE gce_instance |
gpu_number model uuid violation †
|
workload.googleapis.com/gpu.dcgm.codec.decoder.utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.codec.encoder.utilization
|
|
GAUGE 、DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.ecc_errors
|
|
CUMULATIVE 、INT64 gce_instance |
error_type gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.energy_consumption
|
|
CUMULATIVE 、DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.memory.bandwidth_utilization
|
|
GAUGE 、DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.memory.bytes_used
|
|
GAUGE , INT64 gce_instance |
gpu_number model state uuid
|
workload.googleapis.com/gpu.dcgm.nvlink.io ‡
|
|
CUMULATIVE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.pcie.io ‡
|
|
CUMULATIVE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.pipe.utilization ‡
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model pipe §uuid
|
workload.googleapis.com/gpu.dcgm.sm.utilization ‡
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.temperature
|
|
GAUGE 、DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
† P100 と P4 の場合、violation
値 power
、thermal
、sync_boost
のみがサポートされます。
† GPU モデル P100 および P4 では使用できません。
‡ L4 の場合、pipe
値 fp64
はサポートされません。
GPU 指標
また、Ops エージェントの組み込み構成では、NVIDIA Management Library(NVML)によって報告される agent.googleapis.com/gpu
指標も収集されます。これらの指標を収集するために Ops エージェントで追加の構成は必要ありませんが、GPU が接続された VM を作成し、GPU ドライバをインストールする必要があります。詳細については、gpu
指標についてをご覧ください。 dcgm
レシーバー バージョン 1 の指標は、これらのデフォルトの指標を補完するように設計されていますが、dcgm
レシーバー バージョン 2 の指標はスタンドアロンです。
構成を確認する
このセクションでは、NVIDIA DCGM レシーバーが正しく構成されていることを確認する方法について説明します。Ops エージェントがテレメトリーの収集を開始するまでに 1~2 分かかる場合があります。
NVIDIA DCGM 指標が Cloud Monitoring に送信されていることを確認するには、次のようにします。
-
Google Cloud コンソールで、[leaderboardMetrics Explorer] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- クエリビルダー ペインのツールバーで、[codeMQL] または [codePROMQL] という名前のボタンを選択します。
- [言語] で [MQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定と同じツールバーにあります。
- v1 指標の場合、エディタで次のクエリを入力し、[クエリを実行] をクリックします。
fetch gce_instance | metric 'workload.googleapis.com/dcgm.gpu.profiling.sm_utilization' | every 1m
- v2 指標の場合、エディタで次のクエリを入力して、[実行] をクリックします。
fetch gce_instance | metric 'workload.googleapis.com/gpu.dcgm.sm.utilization' | every 1m
ダッシュボードを表示
NVIDIA DCGM 指標を表示するには、グラフまたはダッシュボードが構成されている必要があります。NVIDIA DCGM インテグレーションには、1 つ以上のダッシュボードが含まれています。インテグレーションを構成して Ops エージェントが指標データの収集を開始すると、ダッシュボードは自動的にインストールされます。
インテグレーションをインストールすることなく、ダッシュボードの静的プレビューを表示することもできます。
インストールされているダッシュボードを表示する手順は次のとおりです。
-
Google Cloud コンソールで [ダッシュボード] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- [ダッシュボード リスト] タブを選択し、[統合] カテゴリを選択します。
- 表示するダッシュボードの名前をクリックします。
インテグレーションを構成してもダッシュボードがインストールされていない場合は、Ops エージェントが実行されていることを確認します。ダッシュボードにグラフの指標データがない場合、ダッシュボードのインストールは失敗します。Ops エージェントが指標の収集を開始した後に、ダッシュボードがインストールされます。
ダッシュボードの静的プレビューを表示する手順は次のとおりです。
-
Google Cloud コンソールで [インテグレーション] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- [デプロイメント プラットフォーム] フィルタの [Compute Engine] をクリックします。
- NVIDIA DCGM のエントリを見つけて、[詳細を表示] をクリックします。
- [ダッシュボード] タブを選択すると、静的プレビューが表示されます。ダッシュボードがインストールされている場合は、[ダッシュボードを表示] をクリックして移動できます。
Cloud Monitoring のダッシュボードについて詳しくは、ダッシュボードとグラフをご覧ください。
[インテグレーション] ページの使用方法については、インテグレーションを管理するをご覧ください。
DCGM の制限事項とプロファイリングの一時停止
DCGM の同時使用は、Nsight Systems や Nsight Compute などの他の一部の NVIDIA デベロッパー ツールの使用と競合する可能性があります。この制限事項は NVIDIA A100 以前の GPU に適用されます。詳細については、DCGM 機能の概要のサンプリング レートのプロファイリングをご覧ください。
大幅な中断なしで Nsight Systems などのツールを使用する必要がある場合は、次のコマンドを使用して指標の収集を一時的に停止または再開できます。
dcgmi profile --pause dcgmi profile --resume
プロファイリングが一時停止されていると、Ops エージェントが収集する DCGM 指標が VM から出力されません。
次のステップ
Ansible を使用して Ops エージェントをインストールし、サードパーティ アプリケーションを構成してサンプル ダッシュボードをインストールする方法についてのチュートリアルは、Ops エージェントをインストールして、サードパーティ アプリケーションのトラブルシューティングを行うの動画をご覧ください。