使用 NVIDIA GPU 搜索 EC2 实例的过滤器是什么?

What is the filter to search for EC2 instances with NVIDIA GPUs?

我正在尝试使用 NVIDIA gpus 搜索 ec2 实例。

我尝试了以下方法

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

但是,我得到错误:

An error occurred (InvalidParameterValue) when calling the DescribeInstanceTypes operation: The filter 'gpu-info.gpus.manufacturer' is invalid

如果我描述所有实例:

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

我看到以下内容:

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

有什么想法吗?

没有为该字段定义 filter,但您可以使用 JMESPATH 指定所需的记录:

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

这有点作弊,因为它只是检查 GpuInfo 是否存在。目前,Amazon EC2 上使用的唯一 GPU 类型是 NVIDIA。我不太明白如何检查表达式中制造商的值。

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

会输出:

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