本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 GPU 工作负载 AMI
要在 AWS Batch 计算资源上运行 GPU 工作负载,必须使用支持 GPU 的 AMI。有关更多信息,请参阅《亚马逊弹性容器服务开发者指南 GPUs 》中的 “使用亚马逊 ECS 和优化 AMIs Amazon EC S”。
在托管计算环境中,如果计算环境指定了任何p2
、、p3
、p4
、p5
、、g3
g3s
g4
、或g5
实例类型或实例系列,则 AWS Batch 使用 Amazon ECS GPU 优化的 AMI。
在非托管计算环境中,建议使用经过 Amazon ECS GPU 优化的 AMI。您可以使用 AWS Command Line Interface 或 AWS Systems Manager 参数存储GetParameter和GetParametersByPath操作来检索推荐的 Amazon ECS GPU AMIs 优化版的元数据。GetParameters
注意
只有等于或高于 Amazon ECS GPU 优化的 AMI 20230912
的版本才支持 p5
实例系列,并且它们与 p2
和 g2
实例类型不兼容。如果您需要使用 p5
实例,请确保您的计算环境不包含 p2
或 g2
实例,并使用最新的默认 Batch AMI。创建新的计算环境将使用最新的 AMI,但是如果您要更新计算环境以包含 p5
,则可以通过在 ComputeResource
属性中将 updateToLatestImageVersion
设置为 true
来确保使用的是最新的 AMI。有关 AMI 与 GPU 实例兼容性的更多信息,请参阅亚马逊弹性容器服务开发者指南中的在 Amazon ECS GPUs 上使用。
以下示例演示了如何使用 GetParameter 命令。
- AWS CLI
-
$
aws ssm get-parameter --name /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended \ --region
us-east-2
--output json输出在
Value
参数中包含 AMI 信息。{ "Parameter": { "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended", "LastModifiedDate": 1555434128.664, "Value": "{\"schema_version\":1,\"image_name\":\"amzn2-ami-ecs-gpu-hvm-2.0.20190402-x86_64-ebs\",\"image_id\":\"ami-083c800fe4211192f\",\"os\":\"Amazon Linux 2\",\"ecs_runtime_version\":\"Docker version 18.06.1-ce\",\"ecs_agent_version\":\"1.27.0\"}", "Version": 9, "Type": "String", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended" } }
- Python
-
from __future__ import print_function import json import boto3 ssm = boto3.client('ssm', '
us-east-2
') response = ssm.get_parameter(Name='/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended') jsonVal = json.loads(response['Parameter']['Value']) print("image_id = " + jsonVal['image_id']) print("image_name = " + jsonVal['image_name'])输出仅包含 AMI ID 和 AMI 名称:
image_id = ami-083c800fe4211192f image_name = amzn2-ami-ecs-gpu-hvm-2.0.20190402-x86_64-ebs
以下示例演示了的用法GetParameters。
- AWS CLI
-
$
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_name \ /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_id \ --region
us-east-2
--output json输出包含每个参数的完整元数据:
{ "InvalidParameters": [], "Parameters": [ { "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_id", "LastModifiedDate": 1555434128.749, "Value": "ami-083c800fe4211192f", "Version": 9, "Type": "String", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_id" }, { "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_name", "LastModifiedDate": 1555434128.712, "Value": "amzn2-ami-ecs-gpu-hvm-2.0.20190402-x86_64-ebs", "Version": 9, "Type": "String", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_name" } ] }
- Python
-
from __future__ import print_function import boto3 ssm = boto3.client('ssm', '
us-east-2
') response = ssm.get_parameters( Names=['/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_name', '/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_id']) for parameter in response['Parameters']: print(parameter['Name'] + " = " + parameter['Value'])输出包含 AMI ID 和 AMI 名称,并使用名称的完整路径。
/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_id = ami-083c800fe4211192f /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_name = amzn2-ami-ecs-gpu-hvm-2.0.20190402-x86_64-ebs
以下示例演示了如何使用 GetParametersByPath 命令。
- AWS CLI
-
$
aws ssm get-parameters-by-path --path /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended \ --region
us-east-2
--output json输出包含指定路径下的所有参数的完整元数据。
{ "Parameters": [ { "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/ecs_agent_version", "LastModifiedDate": 1555434128.801, "Value": "1.27.0", "Version": 8, "Type": "String", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/ecs_agent_version" }, { "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/ecs_runtime_version", "LastModifiedDate": 1548368308.213, "Value": "Docker version 18.06.1-ce", "Version": 1, "Type": "String", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/ecs_runtime_version" }, { "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_id", "LastModifiedDate": 1555434128.749, "Value": "ami-083c800fe4211192f", "Version": 9, "Type": "String", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_id" }, { "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_name", "LastModifiedDate": 1555434128.712, "Value": "amzn2-ami-ecs-gpu-hvm-2.0.20190402-x86_64-ebs", "Version": 9, "Type": "String", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_name" }, { "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/os", "LastModifiedDate": 1548368308.143, "Value": "Amazon Linux 2", "Version": 1, "Type": "String", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/os" }, { "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/schema_version", "LastModifiedDate": 1548368307.914, "Value": "1", "Version": 1, "Type": "String", "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/schema_version" } ] }
- Python
-
from __future__ import print_function import boto3 ssm = boto3.client('ssm', '
us-east-2
') response = ssm.get_parameters_by_path(Path='/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended') for parameter in response['Parameters']: print(parameter['Name'] + " = " + parameter['Value'])输出包含指定路径下的所有参数名称的值,使用完整路径名称。
/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/ecs_agent_version = 1.27.0 /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/ecs_runtime_version = Docker version 18.06.1-ce /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_id = ami-083c800fe4211192f /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/image_name = amzn2-ami-ecs-gpu-hvm-2.0.20190402-x86_64-ebs /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/os = Amazon Linux 2 /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended/schema_version = 1
有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的检索 Amazon ECS 优化的 AMI 元数据。