本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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@minimal
systemd
服務設定最小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@partial
systemd
服務設定部分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@all
systemd
服務設定所有可用的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
-
建立IAM使用者,或修改現有使用者,使其具有發佈指標的原則 CloudWatch。如果您建立新的使用者,請記下登入資料,因為您在下一步驟中需要用到。
要搜尋的IAM政策是「雲觀察:PutMetricData」。新增的政策如下所示:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:PutMetricData" ], "Effect": "Allow", "Resource": "*" } ] }
提示
如需建立IAM使用者和新增原則的詳細資訊 CloudWatch,請參閱 CloudWatch 文件集。
-
在你的DLAMI,運行 AWS 設定並指定IAM使用者身份證明。
$
aws configure -
執行 gpumon 公用程式之前,您可能需要對它進行一些修改。你可以找到 gpumon 實用程序,並README在下面的代碼塊中定義的位置。如需
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
。
-
-
此指令碼目前僅支援 Python 3。激活您首選框架的 Python 3 環境或激活一DLAMI般 Python 3 環境。
$
source activate python3 -
在背景執行 gpumon 公用程式。
(python3)$
python gpumon.py & -
打開瀏覽器,https://console.aws.amazon.com/cloudwatch/
然後選擇指標。它將有一個命名空間 DeepLearningTrain ''。 提示
您可以修改 gpumon.py 來變更命名空間。您也可以調整
store_reso
來修改報告間隔。
以下是針對執行 gpumon.py 監視 p2.8xlarge 執行個體上訓練工作的報告範例 CloudWatch 圖表。
您可能對GPU監視和最佳化的其他主題感興趣: