深度学习 AMI
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 CloudWatch 监控 GPU

当您将 DLAMI 与 GPU 结合使用时,您可能会发现,您要寻找在训练或推理期间跟踪其使用率的方式。这对于优化您的数据管道以及调整深度学习网络非常有用。

一个名为 gpumon.py 的实用工具已预安装在您的 DLAMI 上。该工具与 CloudWatch 集成并支持监控每个 GPU 使用率:GPU 内存、GPU 温度和 GPU 功率。脚本会将监控的数据定期发送到 CloudWatch。您可以通过更改脚本中的几个设置来配置要发送到 CloudWatch 的数据的粒度级别。但是,在启动脚本之前,您将需要设置 CloudWatch 以接收这些指标。

如果使用 CloudWatch 设置并运行 GPU 监控

  1. 创建 IAM 用户或修改现有 IAM 用户,以具有用于将指标发布到 CloudWatch 的策略。如果创建新用户,请记下凭证,因为您将在下一步中需要这些凭证。

    要搜索的 IAM 策略是“cloudwatch:PutMetricData”。要添加的策略如下所示:

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

    提示

    有关针对 CloudWatch 创建 IAM 用户和添加策略的更多信息,请参阅 CloudWatch 文档

  2. 在您的 DLAMI 上,运行 AWS 配置并指定 IAM 用户凭证。

    $ aws configure
  3. 您可能需要先对 gpumon 实用工具进行一些修改,然后再运行该工具。您可以在以下位置中找到 gpumon 实用工具和 README。

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

    选项:

    • 如果您的实例不在 us-east-1 中,请在 gpumon.py 中更改区域。

    • 更改其他参数(如 CloudWatch namespace 或带 store_resolution 的报告期间)。

  4. 目前,该脚本仅支持 Python 2.7。激活您的首选框架的 Python 2.7 环境或激活 DLAMI 的一般 Python 2.7 环境。

    $ source activate python2
  5. 在后台中运行 gpumon 实用工具。

    (python2)$ gpumon.py &
  6. 打开您的浏览器前往 https://console.amazonaws.cn/cloudwatch/,然后选择指标。它将有一个命名空间“DeepLearningTrain”。

    提示

    您可以修改 gpumon.py 来更改该命名空间。您也可以通过调整 store_resolution 来修改报告间隔。

下面是一个报告在 p2.8xlarge 实例上运行 gpumon.py 监控训练任务的示例 CloudWatch 图表。


        CloudWatch 上的 GPU 监控

您可能对有关 GPU 监控和优化的以下其他主题感兴趣: