Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Spécification des GPU dans une définition de tâche Amazon ECS
Pour utiliser plusieurs GPU sur une instance de conteneur et l'exécution du GPU de Docker, assurez-vous de désigner le nombre de GPU nécessaires à votre conteneur dans la définition de tâche. Une fois les conteneurs supportant les GPU placés, l'agent de conteneur Amazon ECS épinglera le nombre souhaité de GPU physiques au bon conteneur. Le nombre de GPU réservés pour tous les conteneurs dans une tâche ne peut pas dépasser le nombre de GPU disponibles sur l'instance de conteneur sur laquelle la tâche est lancée. Pour de plus amples informations, veuillez consulter Création d’une définition de tâche Amazon ECS à l’aide de la console.
Important
Si vos exigences en matière de GPU ne sont pas spécifiées dans la définition de tâche, la tâche utilise l'exécution par défaut du Docker.
L'exemple suivant illustre le format JSON pour les exigences de GPU dans une définition de tâche :
{ "containerDefinitions": [ { ... "resourceRequirements" : [ { "type" : "GPU", "value" : "2" } ], }, ... }
L'exemple suivant illustre la syntaxe d'un conteneur Docker qui spécifie une exigence GPU. Ce conteneur utilise 2 GPU, exécute l'utilitaire nvidia-smi, puis se ferme.
{ "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" }
L’exemple de définition de tâche suivant montre un conteneur TensorFlow qui affiche le nombre de GPU disponibles. La tâche s’exécute sur des instances gérées Amazon ECS, nécessite un GPU et utilise une instance 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", }