本文档介绍了创建使用 A4X Max 加速器优化机器类型的独立 Compute Engine 实例的步骤。如需了解如何创建使用 A4X Max 实例的 GKE 集群,请参阅创建使用 A4X Max 的 AI 优化型 GKE 集群。如需了解所有计算实例和集群创建选项,请参阅部署选项概览。
A4X Max 实例类型
Compute Engine 实例(或计算实例)是托管在 Google 基础架构上的计算资源,可以是虚拟机 (VM) 或裸金属实例。A4X Max 实例以裸金属实例的形式提供,与虚拟机实例不同,裸金属实例提供对底层物理硬件的直接、非虚拟化访问。如需详细了解 A4X Max 机器类型,请参阅 Compute Engine 文档中的 A4X Max 系列和 GPU 网络带宽。
限制
创建独立的 A4X Max 实例时,存在以下限制:
- 使用此机器类型的实例不会获得持续使用折扣或灵活承诺使用折扣。
- 您只能在特定区域和可用区中创建实例。
- 您无法使用 Persistent Disk(区域级或可用区级)。您只能使用 Google Cloud Hyperdisk。
- 此机器类型仅在 NVIDIA Grace 平台上提供。
- A4X Max 不支持更改机器类型。如需切换到此机器类型或从此机器类型切换,您必须创建新实例。
- 您无法在此机器类型上运行 Windows 操作系统。如需查看受支持的 Linux 操作系统列表,请参阅适用于 GPU 实例的受支持操作系统。
- A4X Max 实例不支持以下各项:
- 您无法将 2026 年 2 月 4 日之前创建的 Hyperdisk ML 磁盘挂接到 A4X Max 机器类型。
准备工作
在创建 A4X Max 实例之前,如果您尚未完成以下步骤,请先完成这些步骤:
- 选择使用选项:您选择的使用选项决定了您获取和使用 GPU 资源的方式。如需了解详情,请参阅选择使用选项。
- 获取容量:每种使用选项的容量获取流程各不相同。如需了解如何为您选择的使用选项获取容量,请参阅容量概览。
选择标签页以了解您打算如何使用本页面上的示例:
控制台
当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。
gcloud
安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI。 登录后,运行以下命令来初始化 Google Cloud CLI:
gcloud initREST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI。
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色
如需获得创建计算实例所需的权限,请让管理员向您授予项目的 Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含创建计算实例所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
您需要具备以下权限才能创建计算实例:
-
针对项目的
compute.instances.create权限 -
使用自定义映像创建虚拟机:针对映像的
compute.images.useReadOnly权限 -
使用快照创建虚拟机:针对快照的
compute.snapshots.useReadOnly权限 -
使用实例模板创建虚拟机:针对实例模板的
compute.instanceTemplates.useReadOnly权限 -
为虚拟机指定子网:针对项目或所选子网的
compute.subnetworks.use权限 -
为虚拟机指定静态 IP 地址:针对项目的
compute.addresses.use权限 -
在使用 VPC 网络时为虚拟机分配外部 IP 地址:针对项目或所选子网的
compute.subnetworks.useExternalIp权限 -
为虚拟机分配旧版网络:针对项目的
compute.networks.use权限 -
使用旧版网络时为虚拟机分配外部 IP 地址:针对项目的
compute.networks.useExternalIp权限 -
为虚拟机设置虚拟机实例元数据:针对项目的
compute.instances.setMetadata权限 -
为虚拟机设置标记:针对虚拟机的
compute.instances.setTags权限 -
为虚拟机设置标签:针对虚拟机的
compute.instances.setLabels权限 -
为虚拟机设置要使用的服务账号:针对虚拟机的
compute.instances.setServiceAccount权限 -
为虚拟机创建新磁盘:针对项目的
compute.disks.create权限 -
以只读或读写模式挂接现有磁盘:针对磁盘的
compute.disks.use权限 -
以只读模式挂接现有磁盘:针对磁盘的
compute.disks.useReadOnly权限
A4X Max 基础知识
A4X Max 集群按区块和子区块的层次结构进行组织,以实现大规模、无阻塞的网络性能。在预留容量和部署工作负载时,了解此拓扑至关重要。
- A4X Max 实例
- A4X Max 实例是挂接了 4 个 GPU 的单个 A4X Max 机器类型。
- 子区块
- 子区块是 A4X Max 容量的基本单位。对于 A4X Max,一个子块由 18 个 A4X Max 实例(72 个 GPU)组成;这些实例构成一个 NVLink 网域,并使用多节点 NVLink 系统进行连接。您可以通过应用指定
1x72拓扑的紧凑布置政策来创建 A4X Max 子块。 - 屏蔽
- 一个 A4X Max 块由 25 个子块(NVLink 网域)组成,总共最多包含 450 个 A4X Max 实例(1,800 个 GPU)。子区块采用导轨对齐方式,可实现高效伸缩。每个子块都需要一个紧凑布置政策。因此,对于单个 A4X Max 块,您可以创建 25 个紧凑布置政策。
下表显示了 A4X Max 实例支持的拓扑选项:
拓扑 (gpuTopology) |
GPU 数量 | 实例数 |
|---|---|---|
1x72 |
72 | 18 |
概览
创建 A4X Max 机器类型的实例包括以下步骤:
创建 VPC 网络
如需为 A4X Max 机器类型设置网络,请为以下网络接口创建三个 VPC 网络:
- 2 个常规 VPC 网络,用于 IDPF 网络接口 (NIC)。然后,NIC 使用这些 VPC 网络进行主机到主机通信。
-
创建多个 A4X Max 子块时,需要 1 个采用
RoCE 裸金属网络配置文件
的 VPC 网络,供 CX-8 NIC 使用。适用于裸金属实例的 RoCE VPC 网络会自动为所有 8 个 CX-8 NIC 创建一个名为
default-subnet-1-RDMA_NAME_PREFIX-net的子网。 这些 NIC 使用 RDMA over Converged Ethernet (RoCE),可提供对于横向扩容到多个 A4X Max 子块至关重要的高带宽、低延迟通信。
如需详细了解 NIC 配置,请参阅查看网络带宽和 NIC 配置。
您可以按照说明指南手动创建网络,也可以使用提供的脚本自动创建。
说明指南
如需创建网络,您可以按照以下说明操作:
- 如需为 IDPF 网络接口创建常规 VPC 网络,请参阅创建和管理 Virtual Private Cloud 网络。
- 如需为裸金属实例 (
roce-metal) 创建 RoCE VPC 网络,请参阅为 RDMA NIC 创建虚拟私有云网络。
对于这些 VPC 网络,请将最大传输单元 (MTU) 设置为更大的值。对于 A4X Max 机器类型,建议的 MTU 为 8896 字节。
如需查看其他 GPU 机器类型的建议 MTU 设置,请参阅 GPU 机器类型的 MTU 设置。
脚本
如需创建网络,请按照以下步骤操作。
对于这些 VPC 网络,请将最大传输单元 (MTU) 设置为更大的值。对于 A4X Max 机器类型,建议的 MTU 为 8896 字节。
如需查看其他 GPU 机器类型的建议 MTU 设置,请参阅 GPU 机器类型的 MTU 设置。
-
使用以下脚本为 IDPF NIC 创建常规 VPC 网络。
#!/bin/bash # Create regular VPC network for the IDPF NICs gcloud compute networks create IDPF_NETWORK_PREFIX-net \ --subnet-mode=custom \ --mtu=8896 \ --enable-ula-internal-ipv6 # Create subnets for the IDPF NICs for N in $(seq 0 1); do gcloud compute networks subnets create IDPF_NETWORK_PREFIX-$N \ --network=IDPF_NETWORK_PREFIX-net \ --region=REGION \ --stack-type=IPV6_ONLY \ --ipv6-access-type=INTERNAL done gcloud compute firewall-rules create IDPF_NETWORK_PREFIX-internal \ --network=IDPF_NETWORK_PREFIX-net \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,58 \ --source-ranges=IP_RANGE 如果您需要多个 A4X Max 子块,请使用以下脚本为裸金属实例创建 RoCE VPC 网络 (
roce-metal),并为每个 A4X Max 实例上的 8 个 CX-8 NIC 使用自动创建的子网。#!/bin/bash # List and make sure network profiles exist in the machine type's zone gcloud compute network-profiles list --filter "location.name=ZONE" # Create RoCE VPC network for bare metal instances (roce-metal) gcloud compute networks create RDMA_NAME_PREFIX-net \ --network-profile=ZONE-vpc-roce-metal \ --subnet-mode custom \ --mtu=8896 # For RoCE VPC networks for bare metal instances, a single subnet named # default-subnet-1-RDMA_NAME_PREFIX-net is automatically provided. # For more details, see https://cloud.google.com/vpc/docs/rdma-network-profiles.IDPF_NETWORK_PREFIX:用于 IDPF NIC 的常规 VPC 网络和子网的自定义名称前缀。-
RDMA_NAME_PREFIX:用于 CX-8 NIC 的裸金属实例 RoCE VPC 网络 (roce-metal) 的自定义名称前缀。 ZONE:指定提供您要使用的机器类型的可用区,例如us-central1-a。如需了解区域,请参阅 按区域和可用区划分的 GPU 可用性。REGION:您想要在其中创建子网的区域。此区域必须与指定的可用区相对应。例如,如果可用区为us-central1-a,则区域为us-central1。IP_RANGE:用于 SSH 防火墙规则的 IP 范围。- 可选:如需验证 VPC 网络资源是否已成功创建,请在 Google Cloud 控制台中检查网络设置:
- 在 Google Cloud 控制台中,前往 VPC 网络页面。
- 在列表中搜索您在上一步中创建的网络。
- 如需查看子网、防火墙规则和其他网络设置,请点击网络的名称。
替换以下内容:
创建紧凑布置政策
如需创建紧凑布置政策,请选择以下选项之一:gcloud
如需创建紧凑布置政策,请使用
gcloud compute resource-policies create group-placement 命令:
gcloud compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--gpu-topology=1x72 \
--region=REGION
替换以下内容:
POLICY_NAME:紧凑布置政策的名称。REGION:要在其中创建紧凑布置政策的区域。 指定包含您计划创建实例的可用区的区域,并验证您要使用的机器类型在该区域中是否可用。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。
REST
如需创建紧凑布置政策,请向 resourcePolicies.insert 方法发出 POST 请求。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"gpuTopology": "1x72"
}
}
替换以下内容:
PROJECT_ID:您的项目 ID。POLICY_NAME:紧凑布置政策的名称。REGION:要在其中创建紧凑布置政策的区域。 指定包含您计划创建实例的可用区的区域,并验证您要使用的机器类型在该区域中是否可用。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。
创建 A4X Max 实例
选择与您的工作负载架构相符的创建选项:
- 在 72-GPU NVLink 网域 (NVL72) 中创建实例:最适合大规模分布式训练、微调和多节点推理工作负载,这些工作负载需要通过多节点 NVLink 结构在最多 18 个实例(72 个 GPU)之间进行高带宽、低延迟的 GPU 通信。您必须使用紧凑布置政策。
- 创建独立的 4-GPU 实例 (NVL4):最适合单节点工作负载、较小模型推理、批处理以及适合四个 GPU 且仅需要节点内 NVLink 对等互连的交互式开发。您必须定位到特定预留子块,才能将该子块划分为独立实例。您无需使用紧凑布置政策。
在 72-GPU NVLink 网域(1x72 拓扑)中创建实例
如需获取 1x72 的 GPU 拓扑,请创建 18 个 A4X Max 实例。创建实例时,请应用指定 gpuTopology 字段的紧凑布置政策。应用该政策可确保 Compute Engine 在一个子块中创建所有 18 个 A4X Max 实例,以使用 NVLink 网域。
如果子块没有足够的容量来创建 A4X Max 实例,则创建实例的请求会失败。
如需创建 A4X Max 实例,请选择以下选项之一。
以下命令还会为您的实例设置访问权限范围。为简化权限管理,Google 建议您将实例的访问权限范围设置为cloud-platform 访问权限,然后使用 IAM 角色定义实例可以访问的服务。如需了解详情,请参阅范围最佳实践。
gcloud
如需创建 A4X Max 实例,请使用
gcloud compute instances create 命令。
A4X Max 实例支持以下预留类型:
- 容量块的未来预留
- 日历模式下的未来预留
如需使用这些类型的预留,实例必须使用受预留约束的预配模型。例如,使用以下创建参数。
gcloud compute instances create INSTANCE_NAME \
--machine-type=a4x-maxgpu-4g-metal \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-0 \
--network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-1,no-address \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure \
--resource-policies=POLICY_NAME
替换以下内容:
INSTANCE_NAME:A4X Max 实例的名称。IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统。IMAGE_PROJECT:操作系统映像的项目 ID。ZONE:您要使用的机器类型在其中可用的可用区。您必须使用与紧凑布置政策位于同一区域的可用区。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请根据磁盘类型参阅 Google Cloud Hyperdisk 大小限制或 Persistent Disk 大小限制。IDPF_NETWORK_PREFIX:您在创建使用 IDPF NIC 的 VPC 网络和子网时指定的名称前缀。RDMA_NAME_PREFIX:您在创建使用 RDMA NIC 的 VPC 网络和子网时指定的名称前缀。-
RESERVATION:预留名称、块或预留中的子块。如需获取预留名称或可用块,请参阅查看预留容量。根据您对实例布置的要求,请按以下方式之一操作:- 如需在任意单个块上创建 A4X Max 实例,请运行以下命令:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME - 如需在特定块上创建 A4X Max 实例,请执行以下操作:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME - 如需在特定子块中创建 A4X Max 实例,请执行以下操作:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
- 如需在任意单个块上创建 A4X Max 实例,请运行以下命令:
TERMINATION_ACTION:指示在预留期结束时,Compute Engine 是关停 (STOP) 还是删除 (DELETE) A4X Max 实例。POLICY_NAME:紧凑布置政策的名称。
REST
如需创建 A4X Max 实例,请向
instances.insert 方法发出 POST 请求。
A4X Max 实例支持以下预留类型:
- 容量块的未来预留
- 日历模式下的未来预留
如需使用这些类型的预留,实例必须使用受预留约束的预配模型。例如,使用以下创建参数。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/a4x-maxgpu-4g-metal",
"name": "INSTANCE_NAME",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/IDPF_NETWORK_PREFIX-net",
"nicType": "IDPF",
"stackType": "IPV6_ONLY",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/IDPF_NETWORK_PREFIX-net",
"nicType": "IDPF",
"stackType": "IPV6_ONLY",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-1"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
}
],
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION"
]
},
"scheduling": {
"provisioningModel": "RESERVATION_BOUND",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": true
},
"resourcePolicies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
]
}
替换以下内容:
PROJECT_ID:您要在其中创建 A4X Max 实例的项目的 ID。ZONE:您要使用的机器类型在其中可用的可用区。您必须使用与紧凑布置政策位于同一区域的可用区。 如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。INSTANCE_NAME:A4X Max 实例的名称。DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请根据磁盘类型参阅 Google Cloud Hyperdisk 大小限制或 Persistent Disk 大小限制。IMAGE_PROJECT:操作系统映像的项目 ID。IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统。NETWORK_PROJECT_ID:网络的项目 ID。IDPF_NETWORK_PREFIX:您在创建使用 IDPF NIC 的 VPC 网络和子网时指定的名称前缀。REGION:子网所在的区域。RDMA_NAME_PREFIX:您在创建使用 RDMA NIC 的 VPC 网络和子网时指定的名称前缀。-
RESERVATION:预留名称、块或预留中的子块。如需获取预留名称或可用块,请参阅查看预留容量。根据您对实例布置的要求,请按以下方式之一操作:- 如需在任意单个块上创建 A4X Max 实例,请运行以下命令:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME - 如需在特定块上创建 A4X Max 实例,请执行以下操作:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME - 如需在特定子块中创建 A4X Max 实例,请执行以下操作:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
- 如需在任意单个块上创建 A4X Max 实例,请运行以下命令:
TERMINATION_ACTION:指示在预留期结束时,Compute Engine 是关停 (STOP) 还是删除 (DELETE) A4X Max 实例。PROJECT_ID:紧凑布置政策的项目 ID。REGION:紧凑布置政策所在的区域。POLICY_NAME:紧凑布置政策的名称。
创建独立的 4-GPU 实例 (NVL4)
NVL4 会对 NVLink 网域进行分区,以便在 NVLink 结构上创建独立实例。如需创建独立的 NVL4 实例,您必须指定要对预留中的哪个子块进行分区。由于每个 A4X Max 实例都独立运行,因此您无需使用紧凑布置政策。实例内工作负载完全支持节点内四 GPU NVLink 通信。
在创建独立 NVL4 实例之前,请注意以下事项:
- 容量和子区块定位:如需创建独立的 NVL4 实例,您必须定位到特定的预留子区块。预留容量的原子单位是整个子块,即包含 18 个实例或 72 个 GPU 的 NVLink 网域。 您无法单独预留单个 NVL4 实例。部署 NVL4 实例时,您需要将预留的子块划分为最多 18 个独立节点。您还可以将宿主项目中的子块预留共享给使用方项目。
- 静态分区和配置更改:子块部署是静态的。如需更改子块的配置(例如,从
1x72多节点 NVLink 网域切换到独立 NVL4 实例,或反之),您必须先删除该子块中的所有现有实例,然后再使用新配置重新创建这些实例。 - 子块中的混合部署:您可以在同一子块预留中分配独立 Compute Engine 实例和 GKE 节点池,例如预配 12 个独立 Compute Engine 实例用于开发,并在 GKE 节点池中预配 6 个实例。
- NCCL 和 NVLS 配置:如果您使用 NCCL 跨 NVL4 实例运行分布式工作负载,请通过设置环境变量
NCCL_NVLS_ENABLE=0来停用 NVLink SHARP。 Google Cloud 不会为分区网域上的多节点通信配置 CUDA 多播组。
如果您预留了整个子块(包含 18 个实例或 72 个 GPU),并且想要部署所有 18 个独立 A4X Max 实例,请运行创建命令 18 次,并确保每个命令都以同一预留子块为目标。
如需创建具有四个 GPU 的独立 A4X Max 实例,请选择以下选项之一:
gcloud
如需创建 A4X Max 实例,请使用
gcloud compute instances create 命令。
A4X Max 实例支持以下预留类型:
- 容量块的未来预留
- 日历模式下的未来预留
如需使用这些类型的预留,实例必须使用受预留约束的预配模型。例如,使用以下创建参数。
gcloud compute instances create INSTANCE_NAME \
--machine-type=a4x-maxgpu-4g-metal \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-0 \
--network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-1,no-address \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--reservation-affinity=specific \
--reservation=RESERVATION_NAME/reservationBlocks/BLOCK_NAME/reservationSubBlocks/SUB_BLOCK_NAME \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure
替换以下内容:
INSTANCE_NAME:A4X Max 实例的名称。IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统。IMAGE_PROJECT:操作系统映像的项目 ID。ZONE:您要使用的机器类型在其中可用的可用区。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请根据磁盘类型参阅 Google Cloud Hyperdisk 大小限制或 Persistent Disk 大小限制。IDPF_NETWORK_PREFIX:您在创建使用 IDPF NIC 的 VPC 网络和子网时指定的名称前缀。RDMA_NAME_PREFIX:您在创建使用 RDMA NIC 的 VPC 网络和子网时指定的名称前缀。RESERVATION_NAME:预留的名称。BLOCK_NAME:预留中特定块的名称。SUB_BLOCK_NAME:块中特定子块的名称。TERMINATION_ACTION:指示在预留期结束时,Compute Engine 是关停 (STOP) 还是删除 (DELETE) A4X Max 实例。
REST
如需创建 A4X Max 实例,请向
instances.insert 方法发出 POST 请求。
A4X Max 实例支持以下预留类型:
- 容量块的未来预留
- 日历模式下的未来预留
如需使用这些类型的预留,实例必须使用受预留约束的预配模型。例如,使用以下创建参数。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/a4x-maxgpu-4g-metal",
"name": "INSTANCE_NAME",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/IDPF_NETWORK_PREFIX-net",
"nicType": "IDPF",
"stackType": "IPV6_ONLY",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/IDPF_NETWORK_PREFIX-net",
"nicType": "IDPF",
"stackType": "IPV6_ONLY",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-1"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
}
],
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION_NAME/reservationBlocks/BLOCK_NAME/reservationSubBlocks/SUB_BLOCK_NAME"
]
},
"scheduling": {
"provisioningModel": "RESERVATION_BOUND",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": true
}
}
替换以下内容:
PROJECT_ID:您要在其中创建 A4X Max 实例的项目的 ID。ZONE:您要使用的机器类型在其中可用的可用区。如需了解区域,请参阅按区域和可用区划分的 GPU 可用性。INSTANCE_NAME:A4X Max 实例的名称。DISK_SIZE:启动磁盘的大小(以 GB 为单位)。如需了解详情,请根据磁盘类型参阅 Google Cloud Hyperdisk 大小限制或 Persistent Disk 大小限制。IMAGE_PROJECT:操作系统映像的项目 ID。IMAGE_FAMILY:您要使用的操作系统映像所属的映像系列。 如需查看所有受支持的操作系统的列表,请参阅受支持的操作系统。NETWORK_PROJECT_ID:网络的项目 ID。IDPF_NETWORK_PREFIX:您在创建使用 IDPF NIC 的 VPC 网络和子网时指定的名称前缀。REGION:子网所在的区域。RDMA_NAME_PREFIX:您在创建使用 RDMA NIC 的 VPC 网络和子网时指定的名称前缀。RESERVATION_NAME:预留的名称。BLOCK_NAME:预留中特定块的名称。SUB_BLOCK_NAME:块中特定子块的名称。TERMINATION_ACTION:指示在预留期结束时,Compute Engine 是关停 (STOP) 还是删除 (DELETE) A4X Max 实例。
安装 GPU 驱动程序
创建实例后,除非已安装正确的 GPU 驱动程序,否则实例无法使用其 GPU。 如果您未指定包含 GPU 驱动程序的操作系统映像,请参阅 Compute Engine 文档中的安装 GPU 驱动程序。