GPU パフォーマンスのモニタリング

リソースの利用効率を高めるために、インスタンスの GPU 使用率を追跡できます。GPU の使用率がわかったら、マネージド インスタンス グループの設定などのタスクを実行して、それをニーズに基づくリソースの自動スケーリングに使用できます。

Cloud Monitoring を使用して GPU 指標を確認するには、次の手順を実行します。

  1. 各 VM インスタンスで、GPU 指標レポート スクリプトを設定します。このスクリプトは、次のタスクを実行します。

    • GPU 指標レポート エージェントをインストールします。このエージェントは、インスタンスで間隔を置いて実行され、収集した GPU データを Cloud Monitoring に送信します。
    • Cloud Monitoring で custom/gpu_utilization 指標フィールドを作成します。このフィールドには、Cloud Monitoring で分析可能な GPU 固有のデータが保存されます。
  2. Google Cloud Cloud Monitoring でログを表示します。

GPU 指標レポート スクリプトの設定

  1. 各 VM インスタンスで、次の要件を満たしていることを確認します。

  2. 各 VM インスタンスに GPU 指標エージェントをインストールします。指標エージェントのインストール手順は次のとおりです。

    1. GPU 指標レポート スクリプトをダウンロードします。

      git clone https://github.com/GoogleCloudPlatform/tensorflow-inference-tensorrt5-t4-gpu.git
    2. metrics_reporting フォルダに切り替えます。

      cd tensorflow-inference-tensorrt5-t4-gpu/metrics_reporting
    3. 指標エージェントのインストール環境を設定します。

      pip install -r ./requirements.txt
    4. 指標レポート スクリプトをルート ディレクトリに移動します。

      sudo cp report_gpu_metrics.py /root/
    5. GPU 指標エージェントを有効にします。

      Python 2 を使用している場合は、次のコマンドを実行します。

      cat <<-EOH > /lib/systemd/system/gpu_utilization_agent.service
      [Unit]
      Description=GPU Utilization Metric Agent
      [Service]
      PIDFile=/run/gpu_agent.pid
      ExecStart=/bin/bash --login -c '/usr/bin/python /root/report_gpu_metrics.py'
      User=root
      Group=root
      WorkingDirectory=/
      Restart=always
      [Install]
      WantedBy=multi-user.target
      EOH
      

      Python 3 を使用している場合は、次のコマンドを実行します。

      cat <<-EOH > /lib/systemd/system/gpu_utilization_agent.service
      [Unit]
      Description=GPU Utilization Metric Agent
      [Service]
      PIDFile=/run/gpu_agent.pid
      ExecStart=/bin/bash --login -c '/opt/conda/bin/python /root/report_gpu_metrics.py'
      User=root
      Group=root
      WorkingDirectory=/
      Restart=always
      [Install]
      WantedBy=multi-user.target
      EOH
      
    6. システム デーモンを再読み込みします。

      systemctl daemon-reload
    7. GPU モニタリング サービスを有効にします。

      systemctl --no-reload --now enable /lib/systemd/system/gpu_utilization_agent.service

Cloud Monitoring での指標の確認

  1. Google Cloud Console で [モニタリング] を選択するか、次のボタンを使用します。

    [モニタリング] に移動

  2. ナビゲーション パネルに Metrics Explorer が表示されている場合は、[Metrics Explorer] をクリックします。それ以外の場合は、[Resources] を選択して [Metrics Explorer] を選択します。

  3. gpu_utilization を検索します。

    Cloud Monitoring の開始。

  4. GPU 使用率は次の出力のようになります。

    Cloud Monitoring の実行。

  5. (省略可)マネージド インスタンス グループを使用して自動スケーリングを設定します。使用を開始するには、チュートリアル TensorFlow 推論ワークロードのマルチゾーン クラスタの設定のセクションをご覧ください。

次のステップ