

# Iniciar uma instância de contêiner de GPU para o Amazon ECS
<a name="gpu-launch"></a>

Para usar uma instância de GPU no Amazon ECS no Amazon EC2, você precisa criar um modelo de inicialização, um arquivo de dados do usuário e inicializar a instância.

Em seguida, você pode executar uma tarefa que usa uma definição de tarefa configurada para GPU.

## Usar um modelo de execução
<a name="gpu-launch-template"></a>

É possível criar um modelo de execução.
+ Crie um modelo de execução que use o ID da AMI de GPU otimizada para o Amazon ECS para a AMI. Para obter informações sobre como criar um modelo de inicialização, consulte [Criar um novo modelo de inicialização usando parâmetros definidos por você](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#create-launch-template-define-parameters) no *Manual do usuário do Amazon EC2*.

  Use o ID da AMI da etapa anterior na **Imagem da máquina da Amazon**. Para obter informações sobre como especificar o ID da AMI com o parâmetro do Systems Manager, consulte [Especificar um parâmetro do Systems Manager em um modelo de inicialização](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) no *Manual do usuário do Amazon EC2*.

  Adicione os itens a seguir aos **Dados do usuário** no modelo de execução. Substitua {{cluster-name}} pelo nome do seu cluster.

  ```
  #!/bin/bash
  echo ECS_CLUSTER={{cluster-name}} >> /etc/ecs/ecs.config;
  echo ECS_ENABLE_GPU_SUPPORT=true >> /etc/ecs/ecs.config
  ```

## Usar a AWS CLI
<a name="gpu-launch-cli"></a>

É possível executar uma instância de contêiner usando a AWS CLI.

1. Crie um arquivo chamado `userdata.toml`. Esse arquivo será usado para dados do usuário da instância. Substitua {{cluster-name}} pelo nome do seu cluster.

   ```
   #!/bin/bash
   echo ECS_CLUSTER={{cluster-name}} >> /etc/ecs/ecs.config;
   echo ECS_ENABLE_GPU_SUPPORT=true >> /etc/ecs/ecs.config
   ```

1. Execute o comando a seguir para obter o ID da AMI de GPU. Você usará isso na etapa a seguir.

   ```
   aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region {{us-east-1}}
   ```

1. Execute o comando a seguir para executar a instância de GPU. Lembre-se de substituir os parâmetros a seguir:
   + Substitua {{sub-rede}} pelo ID da sub-rede pública ou privada na qual sua instância será iniciada.
   + Substitua {{gpu\_ami}} pelo ID da AMI da etapa anterior.
   + Substitua {{t3.large}} pelo tipo de instância que você deseja usar.
   + Substitua {{região}} pelo código da região.

   ```
   aws ec2 run-instances --key-name ecs-gpu-example \
      --subnet-id {{subnet}} \
      --image-id {{gpu_ami}} \
      --instance-type {{t3.large}} \
      --region {{region}} \
      --tag-specifications 'ResourceType=instance,Tags=[{Key=GPU,Value=example}]' \
      --user-data file://userdata.toml \
      --iam-instance-profile Name=ecsInstanceRole
   ```

1. Execute o comando a seguir para verificar se a instância de contêiner está registrada no cluster. Ao executar esse comando, lembre-se de substituir os parâmetros a seguir:
   + Substitua {{cluster}} pelo nome do seu cluster.
   + Substitua {{região}} pelo código da sua região.

   ```
   aws ecs list-container-instances --cluster {{cluster-name}} --region {{region}}
   ```