NVIDIA Data Center GPU Manager(DCGM)

NVIDIA Data Center GPU Manager のインテグレーションでは、ストリーミング マルチプロセッサ(SM)ブロック使用率、SM 占有率、SM パイプ使用率、PCIe トラフィック レート、NVLink トラフィック レートなど、高度な主要 GPU 指標が DCGM から収集されます。これらの指標の目的と解釈については、DCGM 機能の概要にあるプロファイリング指標をご覧ください。

NVIDIA Data Center GPU Manager の詳細については、DCGM のドキュメントをご覧ください。このインテグレーションには、DCGM バージョン 3.1 以降との互換性があります。

Ops エージェントは、NVIDIA のクライアント ライブラリ go-dcgm を使用して DCGM 指標を収集します。

これらの指標は Linux システムでのみ使用できます。NVIDIA GPU モデル K80、P100、P4 から指標は収集されません。

前提条件

DCGM 指標を収集するには、次の操作を行う必要があります。

DCGM をインストールして確認する

DCGM バージョン 3.1 以降をインストールして、特権サービスとして実行する必要があります。DCGM をインストールするには、DCGM ドキュメントのインストールをご覧ください。

DCGM が正しく実行されていることを確認するには、次の操作を行います。

  1. 次のコマンドを実行して、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
    
  2. 次のコマンドを実行して、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 サービスからテレメトリーを収集するために必要な要素を追加し、エージェントを再起動します。

構成の例

次のコマンドは、DCGM のテレメトリーを収集して取り込み、Ops エージェントを再起動するための構成を作成します。

# Configures Ops Agent to collect telemetry from the app and restart Ops Agent.
set -e

# Create a back up of the existing file so existing configurations are not lost.
sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak

# Configure the Ops Agent.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
metrics:
  receivers:
    dcgm:
      type: dcgm
  service:
    pipelines:
      dcgm:
        receivers:
          - dcgm
EOF

sudo systemctl restart google-cloud-ops-agent

これらのコマンドを実行したら、エージェントが再起動したことを確認できます。次のコマンドを実行して、サブエージェント コンポーネントの「Metrics Agent」と「Logging Agent」が「active (running)」と表示されていることを確認します。

sudo systemctl status google-cloud-ops-agent"*"

デフォルトの Compute Engine サービス アカウントではなくカスタム サービス アカウントを使用している場合、または非常に古い Compute Engine VM がある場合は、Ops エージェントの認可が必要になることがあります。

指標の収集を構成する

DCGM から指標を取り込むには、DCGM が生成する指標のレシーバーを作成してから、新しいレシーバー用のパイプラインを作成する必要があります。

このレシーバーでは、複数のエンドポイントのモニタリングなど、構成で複数のインスタンスを使用することはできません。このようなインスタンスはすべて同じ時系列に書き込まれるため、Cloud Monitoring ではインスタンスを区別できません。

dcgm 指標のレシーバーを構成するには、次のフィールドを指定します。

フィールド デフォルト 説明
collection_interval 60s 時間(例: 30s5m)。
endpoint localhost:5555 DCGM サービスのアドレス(host:port 形式)。
type 値は dcgm にする必要があります。

モニタリング対象

次の表に、Ops エージェントが DCGM サービスから収集する指標の一覧を示します。すべての GPU モデルですべての指標を利用できるわけではありません。NVIDIA GPU モデル K80、P100、P4 から指標は収集されません。

指標タイプ
種類、タイプ
モニタリング対象リソース
ラベル
サポートされている GPU モデル
workload.googleapis.com/dcgm.gpu.profiling.dram_utilization
GAUGEDOUBLE
gce_instance
gpu_number
model
uuid
K80、P100、P4 を除くすべて
GAUGEINT64
gce_instance
direction
gpu_number
model
uuid
K80、P100、P4 を除くすべて
workload.googleapis.com/dcgm.gpu.profiling.pcie_traffic_rate
GAUGEINT64
gce_instance
direction
gpu_number
model
uuid
K80、P100、P4 を除くすべて
workload.googleapis.com/dcgm.gpu.profiling.pipe_utilization
GAUGEDOUBLE
gce_instance
gpu_number
model
pipe
uuid
K80、P100、P4 を除くすべて。L4 の場合、pipefp64 はサポートされません。
workload.googleapis.com/dcgm.gpu.profiling.sm_occupancy
GAUGEDOUBLE
gce_instance
gpu_number
model
uuid
K80、P100、P4 を除くすべて
workload.googleapis.com/dcgm.gpu.profiling.sm_utilization
GAUGEDOUBLE
gce_instance
gpu_number
model
uuid
K80、P100、P4 を除くすべて

また、Ops エージェントの組み込み構成では、NVIDIA Management Library(NVML)によって報告される agent.googleapis.com/gpu 指標も収集されます。これらの指標を収集するために Ops エージェントで追加の構成は必要ありませんが、GPU が接続された VM を作成し、GPU ドライバをインストールする必要があります。詳細については、gpu 指標についてをご覧ください。

構成を確認する

このセクションでは、NVIDIA DCGM レシーバーが正しく構成されていることを確認する方法について説明します。Ops エージェントがテレメトリーの収集を開始するまでに 1~2 分かかる場合があります。

NVIDIA DCGM 指標が Cloud Monitoring に送信されていることを確認するには、次のようにします。

  1. Google Cloud コンソールのナビゲーション パネルで [Monitoring] を選択し、次に [ Metrics Explorer] を選択します。

    Metrics Explorer に移動

  2. クエリビルダー ペインのツールバーで、[MQL] または [PROMQL] という名前のボタンを選択します。
  3. [言語] で [MQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定と同じツールバーにあります。
  4. エディタに次のクエリを入力し、[クエリを実行] をクリックします。
    fetch gce_instance
    | metric 'workload.googleapis.com/dcgm.gpu.profiling.sm_utilization'
    | every 1m
    

ダッシュボードを表示する

NVIDIA DCGM 指標を表示するには、グラフまたはダッシュボードが構成されている必要があります。NVIDIA DCGM インテグレーションには、1 つ以上のダッシュボードが含まれています。インテグレーションを構成して Ops エージェントが指標データの収集を開始すると、ダッシュボードは自動的にインストールされます。

インテグレーションをインストールすることなく、ダッシュボードの静的プレビューを表示することもできます。

インストールされているダッシュボードを表示する手順は次のとおりです。

  1. Google Cloud コンソールのナビゲーション パネルで、[Monitoring] を選択してから、[ダッシュボード] を選択します。

    [ダッシュボード] に移動

  2. [ダッシュボード リスト] タブを選択し、[統合] カテゴリを選択します。
  3. 表示するダッシュボードの名前をクリックします。

インテグレーションを構成してもダッシュボードがインストールされていない場合は、Ops エージェントが実行されていることを確認します。ダッシュボードにグラフの指標データがない場合、ダッシュボードのインストールは失敗します。Ops エージェントが指標の収集を開始した後に、ダッシュボードがインストールされます。

ダッシュボードの静的プレビューを表示する手順は次のとおりです。

  1. Google Cloud コンソールのナビゲーション パネルで、[Monitoring] を選択してから、[インテグレーション] を選択します。

    [インテグレーション] に移動

  2. [デプロイメント プラットフォーム] フィルタの [Compute Engine] をクリックします。
  3. NVIDIA DCGM のエントリを見つけて、[詳細を表示] をクリックします。
  4. [ダッシュボード] タブを選択すると、静的プレビューが表示されます。ダッシュボードがインストールされている場合は、[ダッシュボードを表示] をクリックして移動できます。

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 エージェントをインストールして、サードパーティ アプリケーションのトラブルシューティングを行うの動画をご覧ください。