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

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

GPUs使用監視器 CloudWatch

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

有兩種方法可以使用以下方式來設定GPU量度 CloudWatch:

使用 AWS CloudWatch 代理(推薦)

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

有四種方法可以使用您的GPU指標來設定指標DLAMI:

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

必要條件

若要開始使用,您必須設定允IAM許EC2執行個體推送指標的 Amazon 執行個體許可 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以獲取最新 AWS CloudWatch Amazon Linux 的代理程式安全修補程式 2DLAMI.

sudo yum update

Ubuntu

若要取得最新資訊 AWS CloudWatch DLAMI與 Ubuntu 的安全補丁,有必要重新安裝 AWS CloudWatch 使用 Amazon S3 下載鏈接的代理。

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

有關安裝的更多信息 AWS CloudWatch 使用 Amazon S3 下載連結的代理程式,請參閱在伺服器上安裝和執行 CloudWatch 代理程式

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

名為 gpumon.py 的公用程式已預先安裝在您的DLAMI. 它集成 CloudWatch 並支持監控每個GPU使用情況:GPU內存,GPU溫度和GPU電源。指令碼會定期將受監視的資料傳送至 CloudWatch。您可以透 CloudWatch 過變更指令碼中的一些設定來設定要傳送至的資料粒度層級。不過,在啟動指令碼之前,您必須先設定 CloudWatch 才能接收指標。

如何設置和運行GPU監視 CloudWatch
  1. 建立IAM使用者,或修改現有使用者,使其具有發佈指標的原則 CloudWatch。如果您建立新的使用者,請記下登入資料,因為您在下一步驟中需要用到。

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

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

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

  2. 在你的DLAMI,運行 AWS 設定並指定IAM使用者身份證明。

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

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

    選項:

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

    • 使用變更其他參數,例如 CloudWatchnamespace或報表期間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 監視 p2.8xlarge 執行個體上訓練工作的報告範例 CloudWatch 圖表。

GPU監控 CloudWatch

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