本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 GPU 工作負載 AMI
若要在您的 AWS Batch 運算資源上執行 GPU 工作負載,您必須搭配 GPU 支援來使用 AMI。如需詳細資訊,請參閱 Amazon 彈性容器服務開發人員指南中的在 Amazon ECS 和 Amazon ECS 最佳化 AMI 上使用 GPU。
在受管運算環境中,如果運算環境指定任何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 最佳化 AMI 的中繼資料。GetParameters
注意
p5
執行個體系列僅支援與 Amazon ECS GPU 最佳化 AMI 相同或更新20230912
的版本,而且與和執行個體類型不相p2
容。g2
如果您需要使用p5
執行個體,請確定您的運算環境不包含p2
或g2
執行個體,並使用最新的預設 Batch AMI。建立新的計算環境將使用最新的 AMI,但如果您要將計算環境更新為包含p5
,則可以將ComputeResource
內容設定updateToLatestImageVersion
為,以確保您使用的是最新true
的 AMI。如需 GPU 執行個體的 AMI 相容性的詳細資訊,請參閱 Amazon 彈性容器服務開發人員指南中的在 Amazon ECS 上使用 GPU。
下列範例顯示如何使用 GetParameter 命令。
- AWS CLI
-
$
aws ssm get-parameter --name /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended \ --region
us-east-2
--output json輸出將 AMI 資訊包含在
Value
參數中。{ "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 彈性容器服務開發人員指南中的擷取 Amazon ECS 最佳化 AMI 中繼資料。