使用 A4X 建立 AI 最佳化執行個體

本文說明如何建立使用 A4X 機型的獨立虛擬機器 (VM) 執行個體。如要進一步瞭解這個機型,請參閱「A4X」。

如要瞭解建立 VM 或叢集的其他方式,請參閱「部署選項總覽」。

限制

建立獨立 A4X VM 時,須遵守下列限制:

  • 使用這類機型的執行個體不適用續用折扣或彈性承諾使用折扣。
  • 您只能在特定區域和可用區建立執行個體。
  • 您無法使用 Persistent Disk (區域性或可用區)。您只能使用 Google Cloud Hyperdisk。
  • 這類機型僅適用於 NVIDIA Grace 平台。
  • A4X 不支援變更機型。如要切換至或切換出這個機器類型,您必須建立新的執行個體。
  • 您無法在這個機器類型上執行 Windows 作業系統。如需支援的 Linux 作業系統清單,請參閱「GPU 執行個體支援的作業系統」。
  • 如果是 A4X 執行個體,當您使用 ethtool -S 監控 GPU 網路時,以 _phy 結尾的實體通訊埠計數器不會更新。對於使用 MRDMA 虛擬函式 (VF) 架構的執行個體,這是預期行為。詳情請參閱「MRDMA 函式和網路監控工具」。
  • A4X 執行個體不支援下列項目:
  • 2026 年 2 月 4 日前建立的 Hyperdisk ML 磁碟,無法連接至 A4X 機型。
另請參閱刊登位置政策限制。

事前準備

建立 VM 前,請先完成下列步驟 (如尚未完成):

  1. 選擇使用模式:您選擇的使用模式會決定如何取得及使用 GPU 資源。詳情請參閱「選擇使用方式」。
  2. 取得容量:取得容量的程序因消費選項而異。如要瞭解如何為所選用量方案取得運算能力,請參閱「運算能力總覽」。

請根據您打算如何使用本頁範例,選取對應的分頁標籤:

控制台

使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證機制。

gcloud

在 Google Cloud 控制台啟用 Cloud Shell。

啟用 Cloud Shell

Google Cloud 控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已設定適用於您目前專案的值。工作階段可能要幾秒鐘的時間才能初始化。

REST

如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

    安裝 Google Cloud CLI。

    若您採用的是外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」一節。

必要的角色

如要取得建立 VM 所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備建立 VM 所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

必須具備下列權限,才能建立 VM:

  • 專案的 compute.instances.create
  • 如要使用自訂映像檔建立 VM: compute.images.useReadOnly 在映像檔上
  • 如要使用快照建立 VM: compute.snapshots.useReadOnly 快照
  • 如要使用執行個體範本建立 VM: compute.instanceTemplates.useReadOnly 在執行個體範本上
  • 如要為 VM 指定子網路: compute.subnetworks.use 專案或所選子網路
  • 如要為 VM 指定靜態 IP 位址: compute.addresses.use 專案
  • 如要在使用虛擬私有雲網路時,為 VM 指派外部 IP 位址: compute.subnetworks.useExternalIp 在專案或所選子網路中
  • 如要將舊版網路指派給 VM: compute.networks.use 專案
  • 如要在使用舊版網路時,為 VM 指派外部 IP 位址: compute.networks.useExternalIp 專案
  • 如要為 VM 設定 VM 執行個體中繼資料: compute.instances.setMetadata 在專案中
  • 如要設定 VM 的標記: compute.instances.setTags 在 VM 上
  • 如要設定 VM 的標籤: compute.instances.setLabels 在 VM 上
  • 如要設定 VM 使用的服務帳戶: compute.instances.setServiceAccount 在 VM 上
  • 如要為 VM 建立新磁碟: compute.disks.create 專案
  • 如要以唯讀或讀寫模式連接現有磁碟: compute.disks.use 磁碟
  • 如要以唯讀模式連接現有磁碟: compute.disks.useReadOnly 在磁碟上

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

A4X 基礎知識

A4X 叢集會依階層組織成模塊和子模塊,以利大規模、無阻塞的網路效能。預留容量和部署工作負載時,瞭解這個拓撲是關鍵。

A4X 執行個體
A4X 執行個體是單一 A4X 機型,連接 4 個 GPU。
子模塊
子模塊是 A4X 容量的基本單位。在 A4X 中,子區塊包含 18 個 A4X 執行個體 (72 個 GPU);這些執行個體會形成 NVLink 網域,並使用多節點 NVLink 系統連線。如要建立 A4X 子區塊,請套用指定 1x72 拓撲的密集配置政策。
封鎖
A4X 模塊由 25 個子模塊 (NVLink 網域) 組成,最多可包含 450 個 A4X 執行個體 (1,800 個 GPU)。子區塊會符合軌道排列,以便有效率地調整資源配置。每個子區塊都需要密集配置政策。因此,對於單一 A4X 區塊,您可以建立 25 項密集配置政策。

下表列出 A4X 執行個體支援的拓撲選項:

拓撲 (gpuTopology) GPU 數量 執行個體數量
1x72 72 18

總覽

建立 A4X 機型執行個體的步驟如下:

  1. 建立虛擬私有雲網路
  2. 建立密集配置政策
  3. 建立執行個體
  4. 安裝 GPU 驅動程式
  5. 選用:啟用 NVIDIA 多實體 GPU 模式

建立虛擬私有雲網路

如要設定 A4X 機器類型的網路,請為下列網路介面建立三個虛擬私有雲網路:

  • 2 個一般虛擬私有雲網路,用於 gVNIC 網路介面 (NIC)。NIC 接著會使用這些虛擬私有雲網路進行主機對主機通訊。
  • 建立多個 A4X 子區塊時,1 個虛擬私有雲網路會採用 RoCE 網路設定檔 ,用於 CX-7 NIC。 VM 執行個體的 RoCE 虛擬私有雲網路必須有 4 個子網路,每個 CX-7 NIC 各一個子網路。這些 NIC 採用 RoCE (基於融合乙太網路的 RDMA),提供高頻寬、低延遲的通訊,這對於向外擴充至多個 A4X 子模塊至關重要。

如要進一步瞭解 NIC 排列方式,請參閱「查看網路頻寬和 NIC 排列方式」。

您可以按照操作指南手動建立網路,也可以使用提供的指令碼自動建立。

操作指南

如要建立網路,請按照下列操作說明進行:

請將這些虛擬私有雲網路的最大傳輸單位 (MTU) 設為較大的值。如果是 A4X 機型,建議的 MTU 為 8896 位元組。如要查看其他 GPU 機型的建議 MTU 設定,請參閱「GPU 機型的 MTU 設定」。

指令碼

如要建立網路,請按照下列步驟操作。

請將這些虛擬私有雲網路的最大傳輸單位 (MTU) 設為較大的值。如果是 A4X 機型,建議的 MTU 為 8896 位元組。如要查看其他 GPU 機型的建議 MTU 設定,請參閱「GPU 機型的 MTU 設定」。

  1. 使用下列指令碼,為 gVNIC 建立一般虛擬私有雲網路。

    
    
        #!/bin/bash
    
        # Create regular VPC networks and subnets for the gVNICs
        for N in $(seq 0 1); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
            --subnet-mode=custom \
            --mtu=8896
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --region=REGION \
            --range=192.168.$N.0/24
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,icmp \
            --source-ranges=192.168.0.0/16
        done
    
        # Create SSH firewall rules
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
        # Assumes that an external IP is only created for vNIC 0
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
    
          
  2. 如需多個 A4X 子區塊,請使用下列指令碼,為 VM 執行個體 (roce) 建立 RoCE 虛擬私有雲網路,並為每個 A4X 執行個體上的四個 CX-7 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 network for RDMA NICs
        gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
          --network-profile=ZONE-vpc-roce \
          --subnet-mode custom \
          --mtu=8896
    
        # Create subnets
        for N in $(seq 0 3); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=192.168.$((N+2)).0/24 # offset to avoid overlap with gVNICs
        done
    
    
          
  3. 更改下列內容:

    • GVNIC_NAME_PREFIX:用於 gVNIC 的一般虛擬私有雲網路和子網路的自訂名稱前置字元。
    • RDMA_NAME_PREFIX:VM 執行個體的 RoCE 虛擬私有雲網路 (roce) 和 CX-7 NIC 子網路使用的自訂名稱前置字串。
    • ZONE:指定要使用的機型所在的可用區,例如 us-central1-a。如要瞭解區域,請參閱「 各區域和可用區的 GPU 供應情形」。
    • REGION::要建立 子網路的區域。這個區域必須與指定的可用區相對應。舉例來說,如果可用區是 us-central1-a,則區域為 us-central1。
    • IP_RANGE:SSH 防火牆規則使用的 IP 範圍。
  4. 選用:如要確認虛擬私有雲網路資源已成功建立,請在 Google Cloud 控制台中檢查網路設定:
    1. 前往 Google Cloud 控制台的「VPC Networks」(虛擬私有雲網路) 頁面。

      前往「VPC networks」(虛擬私有雲網路)

    2. 在清單中搜尋您在上一個步驟建立的網路。
    3. 如要查看子網路、防火牆規則和其他網路設定,請按一下網路名稱。

建立密集配置政策

如要建立密集配置政策,請選取下列其中一個選項:

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 執行個體

請根據工作負載架構,選擇建立選項:

  • 在 72 GPU NVLink 網域 (1x72 拓撲) 中建立執行個體:最適合大規模分散式訓練、微調和多節點推論工作負載,這類工作負載需要透過多節點 NVLink 網狀架構,在最多 18 個執行個體 (72 個 GPU) 之間進行高頻寬、低延遲的 GPU 通訊。必須使用密集配置政策。
  • 建立獨立的 4 GPU 執行個體 (NVL4):最適合單一節點工作負載、較小模型推論、批次處理,以及適合 4 個 GPU 且只需要節點內 NVLink 對接的互動式開發。您必須指定特定預留子區塊,才能將該子區塊分割為獨立執行個體。您不需要密集配置政策。

在 72-GPU NVLink 網域 (1x72 拓撲) 中建立執行個體

如要取得 1x72 的 GPU 拓撲,請建立 18 個 A4X 執行個體。建立執行個體時,請套用指定 gpuTopology 欄位的密集配置政策。套用政策後,Compute Engine 會在一個子區塊中建立所有 18 個 A4X 執行個體,以便使用 NVLink 網域。如果子區塊沒有足夠容量,無法建立 A4X 執行個體,建立要求就會失敗。

如要建立 A4X 執行個體,並連線至 NVLink 網域中的 18 個執行個體,請套用密集配置政策,並設定多 NIC RDMA 網路。

如要建立 A4X 執行個體,請選取下列其中一個選項。

下列指令也會設定執行個體的存取權範圍。為簡化權限管理,Google 建議您將執行個體的存取權範圍設為 cloud-platform 存取權,然後使用 IAM 角色定義執行個體可存取的服務。詳情請參閱「範圍最佳做法」。

gcloud

如要建立 A4X 執行個體,請使用 gcloud compute instances create 指令。

A4X 執行個體支援下列預留類型:

  • 預留未來容量區塊
  • 日曆模式的未來預留項目

如要使用這類預留項目,執行個體必須採用取決於預留項目的佈建模式。舉例來說,請使用下列建立參數。

gcloud compute instances create INSTANCE_NAME  \
    --machine-type=a4x-highgpu-4g \
    --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=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address 
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --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 執行個體的名稱。
  • IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • ZONE:您要使用的機型所在的可用區。您必須使用與密集配置政策位於相同區域的可用區。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RESERVATION:預留項目名稱、區塊或預留項目中的子區塊。如要取得預留項目名稱或可用區塊,請參閱「查看預留容量」。請根據執行個體放置位置的需求,選擇下列其中一項:
    • 如要在任何單一區塊上建立 A4X 執行個體,請按照下列步驟操作:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • 如要在特定區塊建立 A4X 廣告空間,請按照下列步驟操作:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • 如要在特定子區塊中建立 A4X 執行個體,請按照下列步驟操作:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          
  • TERMINATION_ACTION:Compute Engine 是否會在預留期限結束時停止 (STOP) 或刪除 (DELETE) A4X 執行個體。

  • POLICY_NAME:密集配置政策的名稱。

REST

如要建立 A4X 執行個體,請向 instances.insert 方法發出 POST 要求。

A4X 執行個體支援下列預留類型:

  • 預留未來容量區塊
  • 日曆模式的未來預留項目

如要使用這類預留項目,執行個體必須採用取決於預留項目的佈建模式。舉例來說,請使用下列建立參數。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/a4x-highgpu-4g",
  "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/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      }
     ],
  "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 執行個體的專案 ID。
  • ZONE:您要使用的機型所在的可用區。您必須使用與密集配置政策位於相同區域的可用區。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。
  • INSTANCE_NAME:A4X 執行個體的名稱。
  • DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。
  • NETWORK_PROJECT_ID:網路的專案 ID。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • REGION:子網路的區域。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RESERVATION:預留項目名稱、區塊或預留項目中的子區塊。如要取得預留項目名稱或可用區塊,請參閱「查看預留容量」。請根據執行個體放置位置的需求,選擇下列其中一項:
    • 如要在任何單一區塊上建立 A4X 執行個體,請按照下列步驟操作:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • 如要在特定區塊建立 A4X 廣告空間,請按照下列步驟操作:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • 如要在特定子區塊中建立 A4X 執行個體,請按照下列步驟操作:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          
  • TERMINATION_ACTION:Compute Engine 是否會在預留期限結束時停止 (STOP) 或刪除 (DELETE) A4X 執行個體。

  • PROJECT_ID:密集配置政策的專案 ID。
  • REGION:密集配置政策的區域。
  • POLICY_NAME:密集配置政策的名稱。

建立獨立的 4 GPU 執行個體 (NVL4)

NVL4 會對 NVLink 網域進行分區,在 NVLink 網狀架構上建立獨立執行個體。如要建立獨立 NVL4 執行個體,您必須指定要對預留項目中的哪個子區塊進行分區。由於每個 A4X 執行個體都是獨立運作,因此您不需要使用密集配置政策。執行個體內工作負載完全支援節點內四 GPU NVLink 通訊。

建立獨立 NVL4 執行個體前,請注意下列事項:

  • 容量和子區塊指定目標:如要建立獨立 NVL4 執行個體,必須指定特定預留子區塊。預留容量的基本單位是整個子模塊,也就是由 18 個執行個體或 72 個 GPU 組成的 NVLink 網域。您無法個別預留單一 NVL4 執行個體。部署 NVL4 執行個體時,您會將預留的子區塊劃分為最多 18 個獨立節點。您也可以將主專案的子區塊預留項目,與用戶專案共用。
  • 靜態分區和設定變更:子區塊部署作業是靜態的。如要變更子區塊的設定,例如從 1x72 多節點 NVLink 網域切換至獨立 NVL4 執行個體,或反向操作,您必須先刪除該子區塊中的所有現有執行個體,再使用新設定重新建立。
  • 子區塊中的混合部署:您可以在同一個子區塊預留項目中,分配獨立 Compute Engine 執行個體和 GKE 節點集區的執行個體,例如佈建 12 個獨立 Compute Engine 執行個體用於開發,以及 6 個執行個體用於 GKE 節點集區。
  • NCCL 和 NVLS 設定:如果您在 NVL4 執行個體上使用 NCCL 執行分散式工作負載,請將環境變數設為 NCCL_NVLS_ENABLE=0,停用 NVLink SHARP。 Google Cloud 不會為分區網域上的多節點通訊設定 CUDA 多點傳播群組。

如果您預留了整個子區塊 (包含 18 個執行個體或 72 個 GPU),並想部署所有 18 個獨立 A4X 執行個體,請執行建立指令 18 次,並確保每個指令都指定相同的預留子區塊。

如要建立具有四個 GPU 的獨立 A4X 執行個體,請選取下列其中一個選項:

gcloud

如要建立 A4X 執行個體,請使用 gcloud compute instances create 指令。

A4X 執行個體支援下列預留類型:

  • 預留未來容量區塊
  • 日曆模式的未來預留項目

如要使用這類預留項目,執行個體必須採用取決於預留項目的佈建模式。舉例來說,請使用下列建立參數。

gcloud compute instances create INSTANCE_NAME  \
    --machine-type=a4x-highgpu-4g \
    --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=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address 
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --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 執行個體的名稱。
  • IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • ZONE:您要使用的機器類型所在的可用區。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RESERVATION_NAME:預留項目名稱。
  • BLOCK_NAME:預留項目中特定區塊的名稱。
  • SUB_BLOCK_NAME:區塊內特定子區塊的名稱。
  • TERMINATION_ACTION:Compute Engine 是否會在預留期限結束時停止 (STOP) 或刪除 (DELETE) A4X 執行個體。

REST

如要建立 A4X 執行個體,請向 instances.insert 方法發出 POST 要求。

A4X 執行個體支援下列預留類型:

  • 預留未來容量區塊
  • 日曆模式的未來預留項目

如要使用這類預留項目,執行個體必須採用取決於預留項目的佈建模式。舉例來說,請使用下列建立參數。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/a4x-highgpu-4g",
  "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/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      }
     ],
  "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 執行個體的專案 ID。
  • ZONE:您要使用的機器類型所在的可用區。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。
  • INSTANCE_NAME:A4X 執行個體的名稱。
  • DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。
  • NETWORK_PROJECT_ID:網路的專案 ID。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • REGION:子網路的區域。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RESERVATION_NAME:預留項目名稱。
  • BLOCK_NAME:預留項目中特定區塊的名稱。
  • SUB_BLOCK_NAME:區塊內特定子區塊的名稱。
  • TERMINATION_ACTION:Compute Engine 是否會在預留期限結束時停止 (STOP) 或刪除 (DELETE) A4X 執行個體。

安裝 GPU 驅動程式

建立執行個體後,必須安裝正確的 GPU 驅動程式,執行個體才能使用 GPU。 如果您未指定包含 GPU 驅動程式的 OS 映像檔,請參閱 Compute Engine 說明文件中的「安裝 GPU 驅動程式」。

選用:啟用 NVIDIA 多實體 GPU 模式

多執行個體 GPU (MIG) 模式是可為支援的 NVIDIA GPU 啟用的功能。建立執行個體後,您可以在連接至機器的單一 GPU 上啟用 MIG 模式。啟用 MIG 模式後,單一 GPU 會分割為最多七個獨立 GPU 執行個體。每個執行個體會同時執行,且各自擁有記憶體、快取和串流多處理器。接著,您可以在這些 GPU 執行個體上平行執行不同的工作負載。 如要進一步瞭解如何使用 MIG 模式,請參閱 NVIDIA 說明文件中的多重執行個體 GPU (MIG) 使用手冊。

後續步驟