J'essaie de rechercher des instances ec2 avec le GPU NVIDIA.

J'ai essayé ce qui suit

aws ec2 describe-instance-types \
    --region eu-west-3 \
    --filters "Name=gpu-info.gpus.manufacturer,Values=NVIDIA"

Cependant, j'obtiens l'erreur:

Une erreur s'est produite (InvalidParameterValue) lors de l'appel de l'opération DescribeInstanceTypes : le filtre 'gpu-info.gpus.manufacturer' est invalide

Si je décris toutes les instances :

aws ec2 describe-instance-types --region eu-west-3

Je vois ce qui suit:

           ...
           "GpuInfo": {
            "Gpus": [
                {
                    "Name": "T4",
                    "Manufacturer": "NVIDIA",
                    "Count": 4,
                    "MemoryInfo": {
                        "SizeInMiB": 16384
                    }
                }
            ],
            "TotalGpuMemoryInMiB": 65536
        },
        ...

Des idées?

-1
Chris Snow 12 oct. 2020 à 15:07

2 réponses

Meilleure réponse

Il n'y a pas de filter défini pour ce champ, mais vous pouvez utiliser JMESPATH pour spécifier le enregistrements :

aws ec2 describe-instance-types --query 'InstanceTypes[?GpuInfo!=null].[InstanceType]' --output text --region eu-west-2

C'est un peu une triche car il vérifie simplement si le GpuInfo existe. À l'heure actuelle, le seul type de GPU utilisé sur Amazon EC2 est NVIDIA. Je n'arrivais pas à comprendre comment vérifier la valeur du fabricant dans l'expression.

1
John Rotenstein 12 oct. 2020 à 21:43
aws ec2 describe-instance-types --query 'InstanceTypes[?GpuInfo.Gpus!=null].[InstanceType, GpuInfo.Gpus[0].Count,  GpuInfo.Gpus[0].Manufacturer, GpuInfo.Gpus[0].MemoryInfo.SizeInMiB, GpuInfo.Gpus[0].Name]' --output text

Produirait:

g3.16xlarge     4       NVIDIA  8192    M60
g4dn.metal      8       NVIDIA  16384   T4
g4ad.8xlarge    2       AMD     8192    Radeon Pro V520
g4ad.4xlarge    1       AMD     8192    Radeon Pro V520
p3.2xlarge      1       NVIDIA  16384   V100
...
1
kmdreko 9 févr. 2021 à 00:18