

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Specificazione GPUs in una definizione di attività Amazon ECS
<a name="ecs-gpu-specifying"></a>

Per utilizzare l'istanza GPUs on a container e il runtime Docker GPU, assicurati di aver indicato il numero di componenti richiesti dal contenitore nella definizione dell' GPUs attività. Man mano che GPUs vengono posizionati i contenitori che supportano il supporto, l'agente container di Amazon ECS aggiunge il numero desiderato di elementi fisici GPUs al contenitore appropriato. Il numero di contenitori GPUs riservati per tutti i contenitori di un'attività non può superare il numero di quelli disponibili GPUs sull'istanza del contenitore su cui viene avviata l'attività. Per ulteriori informazioni, consulta [Creazione di una definizione di attività di Amazon ECS attraverso la nuova console](create-task-definition.md).

**Importante**  
Se i requisiti della GPU non sono specificati nella definizione di attività, il processo utilizzerà il runtime del Docker di default.

Di seguito viene visualizzato il formato JSON per i requisiti GPU in una definizione di attività:

```
{
  "containerDefinitions": [
     {
        ...
        "resourceRequirements" : [
            {
               "type" : "GPU", 
               "value" : "2"
            }
        ],
     },
...
}
```

L'esempio seguente mostra la sintassi per un container Docker che specifica un requisito GPU. Questo contenitore ne utilizza due GPUs, esegue l'`nvidia-smi`utilità e quindi esce.

```
{
  "containerDefinitions": [
    {
      "memory": 80,
      "essential": true,
      "name": "gpu",
      "image": "nvidia/cuda:11.0.3-base",
      "resourceRequirements": [
         {
           "type":"GPU",
           "value": "2"
         }
      ],
      "command": [
        "sh",
        "-c",
        "nvidia-smi"
      ],
      "cpu": 100
    }
  ],
  "family": "example-ecs-gpu"
}
```

La seguente definizione di attività di esempio mostra un TensorFlow contenitore che stampa il numero di elementi disponibili GPUs. L'attività viene eseguita su Istanze gestite da Amazon ECS, richiede una GPU e utilizza un'istanza `g4dn.xlarge`.

```
{
  "family": "tensorflow-gpu",
  "networkMode": "awsvpc",
  "executionRoleArn": "arn:aws:iam::account-id:role/ecsTaskExecutionRole",
  "containerDefinitions": [
    {
      "name": "tensorflow",
      "image": "tensorflow/tensorflow:latest-gpu",
      "essential": true,
      "command": [
        "python",
        "-c",
        "import tensorflow as tf; print('Num GPUs Available: ', len(tf.config.list_physical_devices('GPU')))"
      ],
      "resourceRequirements": [
        {
          "type": "GPU",
          "value": "1"
        }
      ],
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/ecs/tensorflow-gpu",
          "awslogs-region": "region",
          "awslogs-stream-prefix": "ecs"
        }
      }
    }
  ],
  "requiresCompatibilities": [
    "MANAGED_INSTANCES"
  ],
  "cpu": "4096",
  "memory": "8192",
}
```