GPUs 使用 監控 CloudWatch - AWS 深度學習 AMIs

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

GPUs 使用 監控 CloudWatch

當您將 DLAMI與 搭配使用時,GPU您可能會發現正在尋找在訓練或推論期間追蹤其用量的方法。這在最佳化資料管道和調校深度學習網路時可能有很用。

使用 設定GPU指標有兩種方法 CloudWatch:

使用 AWS CloudWatch 代理程式設定指標 (建議)

將 DLAMI與統一 CloudWatch 代理程式整合,以設定GPU指標並監控 Amazon EC2 加速執行個體中GPU協同程序的使用率。

使用 設定GPU指標有四種方法DLAMI:

如需更新和安全修補程式的相關資訊,請參閱 AWS CloudWatch 代理程式的安全修補

必要條件

若要開始使用,您必須設定允許執行個體將指標推送至 的 Amazon 執行個體EC2IAM許可 CloudWatch。如需詳細步驟,請參閱建立IAM角色和使用者以搭配 CloudWatch 客服人員使用。

設定最低GPU指標

使用 dlami-cloudwatch-agent@minimalsystemd服務設定最小GPU指標。此服務會設定下列指標:

  • utilization_gpu

  • utilization_memory

您可以在下列位置找到最低預先設定GPU指標systemd的服務:

/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-minimal.json

使用下列命令啟用和啟動 systemd服務:

sudo systemctl enable dlami-cloudwatch-agent@minimal sudo systemctl start dlami-cloudwatch-agent@minimal

設定部分GPU指標

使用 dlami-cloudwatch-agent@partialsystemd服務設定部分GPU指標。此服務會設定下列指標:

  • utilization_gpu

  • utilization_memory

  • memory_total

  • memory_used

  • memory_free

您可以在下列位置找到部分預先設定GPU指標systemd的服務:

/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-partial.json

使用下列命令啟用和啟動 systemd服務:

sudo systemctl enable dlami-cloudwatch-agent@partial sudo systemctl start dlami-cloudwatch-agent@partial

設定所有可用的GPU指標

使用 dlami-cloudwatch-agent@allsystemd服務設定所有可用的GPU指標。此服務會設定下列指標:

  • utilization_gpu

  • utilization_memory

  • memory_total

  • memory_used

  • memory_free

  • temperature_gpu

  • power_draw

  • fan_speed

  • pcie_link_gen_current

  • pcie_link_width_current

  • encoder_stats_session_count

  • encoder_stats_average_fps

  • encoder_stats_average_latency

  • clocks_current_graphics

  • clocks_current_sm

  • clocks_current_memory

  • clocks_current_video

您可以在下列位置找到所有可用預先設定GPU指標systemd的服務:

/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-all.json

使用下列命令啟用和啟動 systemd服務:

sudo systemctl enable dlami-cloudwatch-agent@all sudo systemctl start dlami-cloudwatch-agent@all

設定自訂GPU指標

如果預先設定的指標不符合您的需求,您可以建立自訂 CloudWatch 代理程式組態檔案。

建立自訂組態檔案

若要建立自訂組態檔案,請參閱手動建立或編輯 CloudWatch 客服人員組態檔案 中的詳細步驟。

在此範例中,假設結構描述定義位於 /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

使用自訂檔案設定指標

執行下列命令,根據您的自訂檔案設定 CloudWatch 代理程式:

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \ -a fetch-config -m ec2 -s -c \ file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

AWS CloudWatch 代理程式的安全修補

新發行的 DLAMIs 會設定為最新的可用 AWS CloudWatch 代理程式安全修補程式。請參閱下列各節,根據您選擇的作業系統DLAMI,使用最新的安全修補程式來更新您目前的 。

Amazon Linux 2

使用 yum取得 Amazon Linux 2 的最新 AWS CloudWatch 代理程式安全修補程式DLAMI。

sudo yum update

Ubuntu

若要使用 DLAMI Ubuntu 取得 的最新 AWS CloudWatch 安全修補程式,必須使用 Amazon S3 下載連結重新安裝 AWS CloudWatch 代理程式。

wget https://s3.region.amazonaws.com/amazoncloudwatch-agent-region/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb

如需使用 Amazon S3 下載連結安裝 AWS CloudWatch 代理程式的詳細資訊,請參閱在伺服器上安裝和執行 CloudWatch 代理程式。

使用預先安裝的gpumon.py指令碼設定指標

名為 gpumon.py 的公用程式已預先安裝在您的 上DLAMI。它與 GPU整合 CloudWatch ,並支援監控每個用量:GPU記憶體、GPU溫度和GPU電源。指令碼會定期將監控的資料傳送至 CloudWatch。您可以在指令碼中變更一些設定 CloudWatch ,為要傳送至 的資料設定精細程度。不過,在開始指令碼之前,您需要設定 CloudWatch 才能接收指標。

如何使用 設定和執行GPU監控 CloudWatch
  1. 建立IAM使用者,或修改現有使用者,以擁有將指標發佈至 的政策 CloudWatch。如果您建立新的使用者,請記下登入資料,因為您在下一步驟中需要用到。

    要搜尋IAM的政策是「cloudwatch:PutMetricData」。新增的政策如下所示:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:PutMetricData" ], "Effect": "Allow", "Resource": "*" } ] }
    提示

    如需建立IAM使用者和新增 政策的詳細資訊 CloudWatch,請參閱 CloudWatch 文件

  2. 在 DLAMI上執行AWS 設定並指定IAM使用者憑證。

    $ aws configure
  3. 執行 gpumon 公用程式之前,您可能需要對它進行一些修改。您可以在下列程式碼區塊中定義的位置README中找到 gpumon 公用程式。如需gpumon.py指令碼的詳細資訊,請參閱指令碼的 Amazon S3 位置。

    Folder: ~/tools/GPUCloudWatchMonitor Files: ~/tools/GPUCloudWatchMonitor/gpumon.py ~/tools/GPUCloudWatchMonitor/README

    選項:

    • 如果您的執行個體位於 us-east-1 中,請在 gpumon.py NOT中變更區域。

    • 使用 變更其他參數, CloudWatch例如 namespace或報告期間store_reso

  4. 此指令碼目前僅支援 Python 3。啟用您偏好的架構的 Python 3 環境或啟用DLAMI一般 Python 3 環境。

    $ source activate python3
  5. 在背景執行 gpumon 公用程式。

    (python3)$ python gpumon.py &
  6. 開啟瀏覽器至 https://console.aws.amazon.com/cloudwatch/,然後選取指標。它將具有命名空間 'DeepLearningTrain'。

    提示

    您可以修改 gpumon.py 來變更命名空間。您也可以調整 store_reso 來修改報告間隔。

以下是 gpumon.py 執行的範例 CloudWatch 圖表報告,監控 p2.8xlarge 執行個體的訓練任務。

GPU 在 上監控 CloudWatch

您可能會對監控GPU和最佳化的其他主題感興趣: