

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# GPUs Supervise con CloudWatch
<a name="tutorial-gpu-monitoring-gpumon"></a>

Cuando utilice la DLAMI con una GPU, es probable que sienta la necesidad de realizar un seguimiento de su uso durante el entrenamiento o la inferencia. Esto puede resultar útil para optimizar la canalización de datos y ajustar la red de aprendizaje profundo. 

Hay dos formas de configurar las métricas de la GPU con CloudWatch:
+ [Configure las métricas con el AWS CloudWatch agente (recomendado)](#tutorial-gpu-monitoring-gpumon-cloudwatch-agent-guide)
+ [Configure las métricas con el script preinstalado `gpumon.py`](#tutorial-gpu-monitoring-gpumon-script)

## Configure las métricas con el AWS CloudWatch agente (recomendado)
<a name="tutorial-gpu-monitoring-gpumon-cloudwatch-agent-guide"></a>

Integre su DLAMI con [el agente CloudWatch unificado para configurar las](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html) métricas de la GPU y supervisar la utilización de los coprocesos de la GPU en las instancias aceleradas de Amazon EC2.

Hay cuatro formas de configurar las [métricas de la GPU](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-NVIDIA-GPU.html) con su DLAMI:
+ [Configuración de métricas de GPU mínimas](#tutorial-gpu-monitoring-gpumon-cloudwatch-agent-minimal)
+ [Configuración de métricas de GPU parciales](#tutorial-gpu-monitoring-gpumon-cloudwatch-agent-partial)
+ [Configure todas las métricas de GPU disponibles](#tutorial-gpu-monitoring-gpumon-cloudwatch-agent-all)
+ [Configuración de métricas de GPU personalizadas](#tutorial-gpu-monitoring-gpumon-cloudwatch-agent-custom)

Para obtener más información sobre actualizaciones y parches de seguridad, consulte [Parches de seguridad para el agente AWS CloudWatch](#tutorial-gpu-monitoring-gpumon-cloudwatch-agent-security).

### Requisitos previos
<a name="tutorial-gpu-monitoring-gpumon-cloudwatch-agent-prerequisites"></a>

Para empezar, debe configurar los permisos de IAM de la instancia Amazon EC2 que permitan a la instancia enviar métricas a ella. CloudWatch Para ver los pasos detallados, consulte [Crear roles y usuarios de IAM para usarlos con el agente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html). CloudWatch 

### Configuración de métricas de GPU mínimas
<a name="tutorial-gpu-monitoring-gpumon-cloudwatch-agent-minimal"></a>

Configure las métricas mínimas de GPU mediante el servicio `systemd` de `dlami-cloudwatch-agent@minimal`. En este servicio se configuran las siguientes métricas:
+ `utilization_gpu`
+ `utilization_memory`

Puede encontrar el servicio `systemd` de métricas mínimas de GPU preconfiguradas en la siguiente ubicación:

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

Active e inicie el servicio `systemd` con los siguientes comandos:

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

### Configuración de métricas de GPU parciales
<a name="tutorial-gpu-monitoring-gpumon-cloudwatch-agent-partial"></a>

Configure las métricas parciales de GPU mediante el servicio `systemd` de `dlami-cloudwatch-agent@partial`. En este servicio se configuran las siguientes métricas:
+ `utilization_gpu`
+ `utilization_memory`
+ `memory_total`
+ `memory_used`
+ `memory_free`

Puede encontrar el servicio `systemd` de métricas parciales de GPU preconfiguradas en la siguiente ubicación:

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

Active e inicie el servicio `systemd` con los siguientes comandos:

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

### Configure todas las métricas de GPU disponibles
<a name="tutorial-gpu-monitoring-gpumon-cloudwatch-agent-all"></a>

Configure todas las métricas disponibles de GPU mediante el servicio `systemd` de `dlami-cloudwatch-agent@all`. En este servicio se configuran las siguientes métricas:
+ `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`

Puede encontrar el servicio `systemd` de todas las métricas disponibles de GPU preconfiguradas en la siguiente ubicación:

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

Active e inicie el servicio `systemd` con los siguientes comandos:

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

### Configuración de métricas de GPU personalizadas
<a name="tutorial-gpu-monitoring-gpumon-cloudwatch-agent-custom"></a>

Si las métricas preconfiguradas no cumplen sus requisitos, puede crear un archivo de configuración de CloudWatch agente personalizado.

#### Para crear un archivo de configuración personalizado
<a name="tutorial-gpu-monitoring-gpumon-cloudwatch-agent-custom-create"></a>

Para crear un archivo de configuración personalizado, consulte los pasos detallados en [Crear o editar manualmente el archivo de configuración del CloudWatch agente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html).

Para este ejemplo, suponga que la definición del esquema se encuentra en `/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json`.

#### Configure las métricas con su archivo personalizado
<a name="tutorial-gpu-monitoring-gpumon-cloudwatch-agent-custom-configure"></a>

Ejecute el siguiente comando para configurar el CloudWatch agente según su archivo personalizado:

```
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
```

### Parches de seguridad para el agente AWS CloudWatch
<a name="tutorial-gpu-monitoring-gpumon-cloudwatch-agent-security"></a>

Los recién lanzados DLAMIs están configurados con los últimos parches de seguridad AWS CloudWatch del agente disponibles. Consulte las siguientes secciones para actualizar su DLAMI actual con los últimos parches de seguridad en función del sistema operativo que elija.

#### Amazon Linux 2
<a name="tutorial-gpu-monitoring-gpumon-cloudwatch-agent-security-al2"></a>

Úselo `yum` para obtener los parches de seguridad de AWS CloudWatch agentes más recientes para una DLAMI de Amazon Linux 2.

```
 sudo yum update
```

#### Ubuntu
<a name="tutorial-gpu-monitoring-gpumon-cloudwatch-agent-security-ubuntu"></a>

Para obtener los últimos parches AWS CloudWatch de seguridad para una DLAMI con Ubuntu, es necesario volver a instalar AWS CloudWatch el agente mediante un enlace de descarga de Amazon S3.

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

Para obtener más información sobre la instalación del AWS CloudWatch agente mediante los enlaces de descarga de Amazon S3, consulte [Instalación y ejecución del CloudWatch agente en sus servidores](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html).

## Configure las métricas con el script preinstalado `gpumon.py`
<a name="tutorial-gpu-monitoring-gpumon-script"></a>

Una utilidad denominada gpumon.py viene preinstalada en la DLAMI. Se integra CloudWatch y admite la supervisión del uso por GPU: memoria de la GPU, temperatura de la GPU y potencia de la GPU. El script envía periódicamente los datos monitorizados a CloudWatch. Puede configurar el nivel de granularidad de los datos a los que se envían CloudWatch cambiando algunos ajustes del script. Sin embargo, antes de iniciar el script, necesitará configurarlo CloudWatch para recibir las métricas. 

**Cómo configurar y ejecutar la supervisión de la GPU con CloudWatch**

1. Cree un usuario de IAM o modifique uno existente para tener una política en la que publicar la métrica. CloudWatch Si crea un usuario nuevo, anote las credenciales, ya que las necesitará en el siguiente paso. 

   La política de IAM que hay que buscar es «cloudwatch:». PutMetricData La política que se añade es la siguiente:

------
#### [ JSON ]

****  

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

------
**sugerencia**  
[Para obtener más información sobre cómo crear un usuario de IAM y añadir políticas CloudWatch, consulte la documentación. CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html)

1. En la DLAMI, ejecute el comando [AWS configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration) y especifique las credenciales de usuario de IAM. 

   ```
   $ aws configure
   ```

1. Es posible que tenga que realizar algunas modificaciones en la utilidad gpumon antes de ejecutarla. Puede encontrar la utilidad gpumon y el archivo README en la ubicación definida en el siguiente bloque de código. Para obtener más información sobre el script `gpumon.py`, consulte [la ubicación del script en Amazon S3](https://s3.amazonaws.com/aws-bigdata-blog/artifacts/GPUMonitoring/gpumon.py).

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

   Opciones:
   + Cambie la región en gpumon.py si la instancia NO está en us-east-1.
   + Cambie otros parámetros, como el período del informe CloudWatch `namespace` o el período del informe, con`store_reso`.

1. Actualmente, el script solo es compatible con Python 3. Active el entorno de Python 3 de su marco de trabajo preferido o active el entorno general de Python 3 de la DLAMI. 

   ```
   $ source activate python3
   ```

1. Ejecute la utilidad gpumon en segundo plano.

   ```
   (python3)$ python gpumon.py &
   ```

1. Abra [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) en el navegador y seleccione la métrica. Tendrá un espacio de nombres ''. DeepLearningTrain 
**sugerencia**  
Puede cambiar el espacio de nombres modificando gpumon.py. También puede modificar el intervalo de notificación ajustando `store_reso`. 

El siguiente es un ejemplo de CloudWatch gráfico que informa sobre una ejecución de gpumon.py supervisando un trabajo de entrenamiento en una instancia p2.8xlarge. 

![\[Supervisión de GPU activada CloudWatch\]](http://docs.aws.amazon.com/es_es/dlami/latest/devguide/images/gpumon.png)


Es posible que le interesen estos otros temas sobre la monitorización y optimización de GPU:
+ [Supervisión](tutorial-gpu-monitoring.md)
  + [GPUs Supervise con CloudWatch](#tutorial-gpu-monitoring-gpumon)
+ [Optimización](tutorial-gpu-opt.md)
  + [Procesamiento previo](tutorial-gpu-opt-preprocessing.md)
  + [Formación](tutorial-gpu-opt-training.md)