Membuat instance yang dioptimalkan untuk AI dengan A4X Max

Dokumen ini menjelaskan langkah-langkah untuk membuat instance Compute Engine mandiri yang menggunakan jenis mesin yang dioptimalkan untuk akselerator A4X Max. Untuk mempelajari cara membuat cluster GKE yang menggunakan instance A4X Max, lihat Membuat cluster GKE khusus yang dioptimalkan untuk AI yang menggunakan A4X Max. Untuk mempelajari semua opsi pembuatan cluster dan instance komputasi, lihat Ringkasan opsi deployment.

Jenis instance A4X Max

Instance Compute Engine, atau instance komputasi, adalah resource komputasi yang dihosting di infrastruktur Google yang dapat berupa virtual machine (VM) atau instance bare metal. Instance A4X Max tersedia sebagai instance bare metal, yang berbeda dari instance VM karena memberikan akses langsung yang tidak divirtualisasi ke hardware fisik yang mendasarinya. Untuk mempelajari lebih lanjut jenis mesin A4X Max, lihat Seri A4X Max dan Bandwidth jaringan GPU dalam dokumentasi Compute Engine.

Batasan

Saat Anda membuat instance A4X Max mandiri, batasan berikut berlaku:

Tinjau juga batasan untuk kebijakan penempatan.

Sebelum memulai

Sebelum membuat instance A4X Max, jika Anda belum melakukannya, selesaikan langkah-langkah berikut:

  1. Pilih opsi pemakaian: pilihan opsi pemakaian menentukan cara Anda mendapatkan dan menggunakan resource GPU. Untuk mempelajari lebih lanjut, lihat Memilih opsi pemakaian.
  2. Mendapatkan kapasitas: proses untuk mendapatkan kapasitas berbeda untuk setiap opsi penggunaan. Untuk mempelajari proses mendapatkan kapasitas untuk opsi pemakaian yang Anda pilih, lihat Ringkasan kapasitas.

Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

Konsol

Saat menggunakan konsol Google Cloud untuk mengakses layanan Google Cloud dan API, Anda tidak perlu menyiapkan autentikasi.

gcloud

Di konsol Google Cloud , aktifkan Cloud Shell.

Aktifkan Cloud Shell

Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.

REST

Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

    Instal Google Cloud CLI.

    Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk membuat instance komputasi, minta administrator untuk memberi Anda peran IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk membuat instance komputasi. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat instance komputasi:

  • compute.instances.create di project
  • Untuk menggunakan image kustom guna membuat VM: compute.images.useReadOnly pada image
  • Untuk menggunakan snapshot guna membuat VM: compute.snapshots.useReadOnly pada snapshot
  • Untuk menggunakan template instance guna membuat VM: compute.instanceTemplates.useReadOnly pada template instance
  • Untuk menentukan subnet bagi VM Anda: compute.subnetworks.use di project atau di subnet yang dipilih
  • Untuk menentukan alamat IP statis untuk VM: compute.addresses.use pada project
  • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC: compute.subnetworks.useExternalIp di project atau di subnet yang dipilih
  • Untuk menetapkan jaringan lama ke VM: compute.networks.use pada project
  • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama: compute.networks.useExternalIp di project
  • Untuk menetapkan metadata instance VM bagi VM: compute.instances.setMetadata di project
  • Untuk menyetel tag untuk VM: compute.instances.setTags di VM
  • Untuk menetapkan label bagi VM: compute.instances.setLabels di VM
  • Untuk menetapkan akun layanan yang akan digunakan VM: compute.instances.setServiceAccount di VM
  • Untuk membuat disk baru untuk VM: compute.disks.create pada project
  • Untuk memasang disk yang ada dalam mode hanya baca atau baca-tulis: compute.disks.use pada disk
  • Untuk memasang disk yang ada dalam mode hanya baca: compute.disks.useReadOnly pada disk

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Dasar-dasar A4X Max

Cluster A4X Max disusun dalam hierarki blok dan sub-blok untuk memfasilitasi performa jaringan non-blocking skala besar. Memahami topologi ini sangat penting saat memesan kapasitas dan men-deploy workload.

Instance A4X Max
Instance A4X Max adalah jenis mesin A4X Max tunggal yang memiliki 4 GPU yang terpasang.
Sub-blok
Sub-blok adalah unit dasar kapasitas A4X Max. Untuk A4X Max, sub-blok terdiri dari 18 instance A4X Max (72 GPU); instance ini membentuk domain NVLink dan terhubung menggunakan sistem NVLink multi-node. Anda membuat sub-blok A4X Max dengan menerapkan kebijakan penempatan ringkas yang menentukan topologi 1x72.
Blokir
Blok A4X Max terdiri dari 25 sub-blok (domain NVLink), dengan total hingga 450 instance A4X Max (1.800 GPU). Sub-blok disejajarkan dengan rel untuk penskalaan yang efisien. Setiap sub-blok memerlukan kebijakan penempatan rapat. Oleh karena itu, untuk satu blok A4X Max, Anda dapat membuat 25 kebijakan penempatan rapat.

Tabel berikut menunjukkan opsi topologi yang didukung untuk instance A4X Max:

Topologi (gpuTopology) Jumlah GPU Jumlah instance
1x72 72 18

Ringkasan

Membuat instance dengan jenis mesin A4X Max mencakup langkah-langkah berikut:

  1. Membuat jaringan VPC
  2. Membuat kebijakan penempatan rapat
  3. Membuat instance
  4. Menginstal driver GPU

Membuat jaringan VPC

Untuk menyiapkan jaringan bagi jenis mesin A4X Max, buat tiga jaringan VPC untuk antarmuka jaringan berikut:

  • 2 jaringan VPC reguler untuk IDPF antarmuka jaringan (NIC). NIC kemudian menggunakan jaringan VPC ini untuk komunikasi host-ke-host.
  • 1 jaringan VPC dengan profil jaringan RoCE metal untuk NIC CX-8 saat membuat beberapa subblok A4X Max. Jaringan VPC RoCE untuk instance bare metal secara otomatis membuat satu subnet bernama default-subnet-1-RDMA_NAME_PREFIX-net untuk semua delapan NIC CX-8. NIC ini menggunakan RDMA over Converged Ethernet (RoCE), yang menyediakan komunikasi berbandwidth tinggi dan berlatensi rendah yang penting untuk menskalakan beberapa subblok A4X Max.

Untuk mengetahui informasi selengkapnya tentang pengaturan NIC, lihat Meninjau bandwidth jaringan dan pengaturan NIC.

Buat jaringan secara manual dengan mengikuti panduan petunjuk atau secara otomatis menggunakan skrip yang disediakan.

Panduan petunjuk

Untuk membuat jaringan, Anda dapat menggunakan petunjuk berikut:

Untuk jaringan VPC ini, tetapkan unit transmisi maksimum (MTU) ke nilai yang lebih besar. Untuk jenis mesin A4X Max, MTU yang direkomendasikan adalah 8896 byte. Untuk meninjau setelan MTU yang direkomendasikan untuk jenis mesin GPU lainnya, lihat Setelan MTU untuk jenis mesin GPU.

Skrip

Untuk membuat jaringan, ikuti langkah-langkah berikut.

Untuk jaringan VPC ini, tetapkan unit transmisi maksimum (MTU) ke nilai yang lebih besar. Untuk jenis mesin A4X Max, MTU yang direkomendasikan adalah 8896 byte. Untuk meninjau setelan MTU yang direkomendasikan untuk jenis mesin GPU lainnya, lihat Setelan MTU untuk jenis mesin GPU.

  1. Gunakan skrip berikut untuk membuat jaringan VPC reguler untuk NIC IDPF.

    
    
        #!/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
    
    
    
          
  2. Jika Anda memerlukan beberapa subblok A4X Max, gunakan skrip berikut untuk membuat jaringan VPC RoCE untuk instance bare metal (roce-metal) dan gunakan subnet yang dibuat secara otomatis untuk delapan NIC CX-8 di setiap instance A4X Max.

    
    
        #!/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.
    
    
          
  3. Ganti kode berikut:

    • IDPF_NETWORK_PREFIX: awalan nama kustom yang akan digunakan untuk jaringan dan subnet VPC reguler bagi NIC IDPF.
    • RDMA_NAME_PREFIX: awalan nama kustom yang akan digunakan untuk jaringan VPC RoCE untuk instance bare metal (roce-metal) untuk NIC CX-8.
    • ZONE: tentukan zona tempat jenis mesin yang ingin Anda gunakan tersedia, seperti us-central1-a. Untuk mengetahui informasi tentang region, lihat Ketersediaan GPU menurut region dan zona.
    • REGION: region tempat Anda ingin membuat subnet. Region ini harus sesuai dengan zona yang ditentukan. Misalnya, jika zona Anda adalah us-central1-a, maka region Anda adalah us-central1.
    • IP_RANGE: rentang IP yang akan digunakan untuk aturan firewall SSH.
  4. Opsional: Untuk memverifikasi bahwa resource jaringan VPC berhasil dibuat, periksa setelan jaringan di konsol Google Cloud :
    1. Di konsol Google Cloud , buka halaman VPC networks.

      Buka VPC networks

    2. Telusuri daftar untuk menemukan jaringan yang Anda buat di langkah sebelumnya.
    3. Untuk melihat subnet, aturan firewall, dan setelan jaringan lainnya, klik nama jaringan.

Membuat kebijakan penempatan rapat.

Untuk membuat kebijakan penempatan rapat, pilih salah satu opsi berikut:

gcloud

Untuk membuat kebijakan penempatan rapat, gunakan perintah gcloud beta compute resource-policies create group-placement:

gcloud beta compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --gpu-topology=1x72 \
    --region=REGION

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan penempatan rapat.
  • REGION: region tempat Anda ingin membuat kebijakan penempatan rapat. Tentukan region yang berisi zona tempat Anda berencana membuat instance, dan pastikan jenis mesin yang ingin Anda gunakan tersedia di region tersebut. Untuk informasi tentang region, lihat Ketersediaan GPU menurut region dan zona.

REST

Untuk membuat kebijakan penempatan ringkas, buat permintaan POST ke metode beta resourcePolicies.insert.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
  {
    "name": "POLICY_NAME",
    "groupPlacementPolicy": {
      "collocation": "COLLOCATED",
      "gpuTopology": "1x72"
    }
  }

Ganti kode berikut:

  • PROJECT_ID: project ID Anda.
  • POLICY_NAME: nama kebijakan penempatan rapat.
  • REGION: region tempat Anda ingin membuat kebijakan penempatan rapat. Tentukan region yang berisi zona tempat Anda berencana membuat instance, dan pastikan jenis mesin yang ingin Anda gunakan tersedia di region tersebut. Untuk informasi tentang region, lihat Ketersediaan GPU menurut region dan zona.

Membuat instance A4X Max

Pilih opsi pembuatan yang sesuai dengan arsitektur workload Anda:

  • Membuat instance di domain NVLink 72 GPU (NVL72): Paling cocok untuk pelatihan terdistribusi skala besar, penyesuaian, dan workload inferensi multi-node yang memerlukan komunikasi GPU ber-bandwidth tinggi dan berlatensi rendah di hingga 18 instance (72 GPU) melalui fabric NVLink multi-node. Anda harus menggunakan kebijakan penempatan rapat.
  • Buat instance 4 GPU mandiri (NVL4): Paling cocok untuk workload satu node, inferensi model yang lebih kecil, pemrosesan batch, dan pengembangan interaktif yang sesuai dengan empat GPU dan hanya memerlukan peering NVLink intra-node. Anda harus menargetkan sub-blok pemesanan tertentu untuk memartisi sub-blok tersebut menjadi instance mandiri. Anda tidak perlu menggunakan kebijakan penempatan rapat.

Membuat instance dalam domain NVLink 72 GPU (topologi 1x72)

Untuk mendapatkan topologi GPU 1x72, buat 18 instance A4X Max. Saat membuat instance, terapkan kebijakan penempatan rapat yang menentukan kolom gpuTopology. Penerapan kebijakan ini memastikan bahwa Compute Engine membuat semua 18 instance A4X Max dalam satu sub-blok untuk menggunakan domain NVLink. Jika sub-blok tidak memiliki kapasitas untuk instance A4X Max, permintaan untuk membuat instance akan gagal.

Untuk membuat instance A4X Max, pilih salah satu opsi berikut.

Perintah berikut juga menetapkan cakupan akses untuk instance Anda. Untuk menyederhanakan pengelolaan izin, Google merekomendasikan agar Anda menetapkan cakupan akses pada instance ke akses cloud-platform, lalu menggunakan peran IAM untuk menentukan layanan yang dapat diakses instance. Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik cakupan.

gcloud

Untuk membuat instance A4X Max, gunakan perintah gcloud compute instances create.

Instance A4X Max mendukung jenis reservasi berikut:

  • Pemesanan untuk masa mendatang di AI Hypercomputer
  • Pemesanan untuk masa mendatang dalam mode kalender

Untuk menggunakan jenis reservasi ini, instance harus menggunakan model penyediaan terikat reservasi. Misalnya, gunakan parameter pembuatan berikut.

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

Ganti kode berikut:

  • INSTANCE_NAME: nama instance A4X Max.
  • IMAGE_FAMILY: kelompok image dari image OS yang ingin Anda gunakan. Untuk daftar semua sistem operasi yang didukung, lihat Sistem operasi yang didukung.
  • IMAGE_PROJECT: project ID image OS.
  • ZONE: zona tempat jenis mesin yang ingin Anda gunakan tersedia. Anda harus menggunakan zona di region yang sama dengan kebijakan penempatan rapat. Untuk mengetahui informasi tentang region, lihat Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB. Untuk mengetahui informasi selengkapnya, lihat Batas ukuran Google Cloud Hyperdisk atau Batas ukuran Persistent Disk berdasarkan jenis disk.
  • IDPF_NETWORK_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC yang menggunakan NIC IDPF.
  • RDMA_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC yang menggunakan NIC RDMA.
  • RESERVATION: nama pemesanan, blok, atau subblok dalam pemesanan. Untuk mendapatkan nama reservasi atau blok yang tersedia, lihat Melihat kapasitas yang dipesan. Berdasarkan persyaratan penempatan instance, pilih salah satu opsi berikut:
    • Untuk membuat instance A4X Max di satu blok:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • Untuk membuat instance A4X Max pada blok tertentu:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • Untuk membuat instance A4X Max di subblok tertentu:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          
  • TERMINATION_ACTION: apakah Compute Engine menghentikan (STOP) atau menghapus (DELETE) instance A4X Max di akhir periode reservasi.

  • POLICY_NAME: nama kebijakan penempatan rapat.

REST

Untuk membuat instance A4X Max, buat permintaan POST ke metode instances.insert.

Instance A4X Max mendukung jenis reservasi berikut:

  • Pemesanan untuk masa mendatang di AI Hypercomputer
  • Pemesanan untuk masa mendatang dalam mode kalender

Untuk menggunakan jenis reservasi ini, instance harus menggunakan model penyediaan terikat reservasi. Misalnya, gunakan parameter pembuatan berikut.

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"
  ]
}

Ganti kode berikut:

  • PROJECT_ID: project ID project tempat Anda ingin membuat instance A4X Max.
  • ZONE: zona tempat jenis mesin yang ingin Anda gunakan tersedia. Anda harus menggunakan zona di region yang sama dengan kebijakan penempatan rapat. Untuk mengetahui informasi tentang region, lihat Ketersediaan GPU menurut region dan zona.
  • INSTANCE_NAME: nama instance A4X Max.
  • DISK_SIZE: ukuran boot disk dalam GB. Untuk mengetahui informasi selengkapnya, lihat Batas ukuran Google Cloud Hyperdisk atau Batas ukuran Persistent Disk berdasarkan jenis disk.
  • IMAGE_PROJECT: project ID image OS.
  • IMAGE_FAMILY: kelompok image dari image OS yang ingin Anda gunakan. Untuk daftar semua sistem operasi yang didukung, lihat Sistem operasi yang didukung.
  • NETWORK_PROJECT_ID: project ID jaringan.
  • IDPF_NETWORK_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC yang menggunakan NIC IDPF.
  • REGION: region subnetwork.
  • RDMA_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC yang menggunakan NIC RDMA.
  • RESERVATION: nama pemesanan, blok, atau subblok dalam pemesanan. Untuk mendapatkan nama reservasi atau blok yang tersedia, lihat Melihat kapasitas yang dipesan. Berdasarkan persyaratan penempatan instance, pilih salah satu opsi berikut:
    • Untuk membuat instance A4X Max di satu blok:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • Untuk membuat instance A4X Max pada blok tertentu:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • Untuk membuat instance A4X Max di subblok tertentu:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          
  • TERMINATION_ACTION: apakah Compute Engine menghentikan (STOP) atau menghapus (DELETE) instance A4X Max di akhir periode reservasi.

  • PROJECT_ID: project ID kebijakan penempatan ringkas.
  • REGION: region kebijakan penempatan rapat.
  • POLICY_NAME: nama kebijakan penempatan rapat.

Buat instance 4 GPU mandiri (NVL4)

NVL4 mempartisi domain NVLink untuk membuat instance independen di fabric NVLink. Untuk membuat instance NVL4 mandiri, Anda harus menentukan sub-blok dalam reservasi yang akan dipartisi. Karena setiap instance A4X Max beroperasi secara independen, Anda tidak perlu menggunakan kebijakan penempatan rapat. Komunikasi NVLink empat GPU dalam node didukung sepenuhnya untuk workload dalam instance.

Sebelum Anda membuat instance NVL4 mandiri, perhatikan hal berikut:

  • Penargetan kapasitas dan sub-blok: Untuk membuat instance NVL4 mandiri, Anda harus menargetkan sub-blok reservasi tertentu. Unit atom kapasitas yang dicadangkan adalah seluruh sub-blok, yang merupakan domain NVLink dari 18 instance atau 72 GPU. Anda tidak dapat mencadangkan instance NVL4 tunggal secara terpisah. Saat men-deploy instance NVL4, Anda mempartisi sub-blok yang dicadangkan menjadi hingga 18 node independen. Anda juga dapat membagikan pemesanan sub-blok dari project host ke project konsumen.
  • Partisi statis dan perubahan konfigurasi: Deployment sub-blok bersifat statis. Untuk mengubah konfigurasi sub-blok, seperti beralih dari domain multi-node NVLink 1x72 ke instance NVL4 mandiri, atau sebaliknya, Anda harus menghapus semua instance yang ada di sub-blok tersebut sebelum membuatnya ulang dengan konfigurasi baru.
  • Deployment campuran dalam sub-blok: Anda dapat mengalokasikan instance dalam reservasi sub-blok yang sama di seluruh instance Compute Engine mandiri dan node pool GKE, seperti menyediakan 12 instance Compute Engine mandiri untuk pengembangan dan 6 instance di node pool GKE.
  • Konfigurasi NCCL dan NVLS: Jika Anda menjalankan workload terdistribusi menggunakan NCCL di seluruh instance NVL4, nonaktifkan NVLink SHARP dengan menyetel variabel lingkungan NCCL_NVLS_ENABLE=0. Google Cloud tidak mengonfigurasi grup multicast CUDA untuk komunikasi multi-node di domain yang dipartisi.

Jika Anda memesan seluruh sub-blok, yang terdiri dari 18 instance atau 72 GPU, dan ingin men-deploy semua 18 instance A4X Max mandiri, jalankan perintah pembuatan 18 kali, dan pastikan setiap perintah menargetkan sub-blok reservasi yang sama.

Untuk membuat instance A4X Max mandiri dengan empat GPU, pilih salah satu opsi berikut:

gcloud

Untuk membuat instance A4X Max, gunakan perintah gcloud compute instances create.

Instance A4X Max mendukung jenis reservasi berikut:

  • Pemesanan untuk masa mendatang di AI Hypercomputer
  • Pemesanan untuk masa mendatang dalam mode kalender

Untuk menggunakan jenis reservasi ini, instance harus menggunakan model penyediaan terikat reservasi. Misalnya, gunakan parameter pembuatan berikut.

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

Ganti kode berikut:

  • INSTANCE_NAME: nama instance A4X Max.
  • IMAGE_FAMILY: kelompok image dari image OS yang ingin Anda gunakan. Untuk daftar semua sistem operasi yang didukung, lihat Sistem operasi yang didukung.
  • IMAGE_PROJECT: project ID image OS.
  • ZONE: zona tempat jenis mesin yang ingin Anda gunakan tersedia. Untuk mengetahui informasi tentang region, lihat Ketersediaan GPU menurut region dan zona.
  • DISK_SIZE: ukuran boot disk dalam GB. Untuk mengetahui informasi selengkapnya, lihat Batas ukuran Google Cloud Hyperdisk atau Batas ukuran Persistent Disk berdasarkan jenis disk.
  • IDPF_NETWORK_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC yang menggunakan NIC IDPF.
  • RDMA_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC yang menggunakan NIC RDMA.
  • RESERVATION_NAME: nama pemesanan Anda.
  • BLOCK_NAME: nama blok tertentu dalam reservasi.
  • SUB_BLOCK_NAME: nama sub-blok tertentu dalam blok.
  • TERMINATION_ACTION: apakah Compute Engine menghentikan (STOP) atau menghapus (DELETE) instance A4X Max di akhir periode pemesanan.

REST

Untuk membuat instance A4X Max, buat permintaan POST ke metode instances.insert.

Instance A4X Max mendukung jenis reservasi berikut:

  • Pemesanan untuk masa mendatang di AI Hypercomputer
  • Pemesanan untuk masa mendatang dalam mode kalender

Untuk menggunakan jenis reservasi ini, instance harus menggunakan model penyediaan terikat reservasi. Misalnya, gunakan parameter pembuatan berikut.

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

Ganti kode berikut:

  • PROJECT_ID: project ID project tempat Anda ingin membuat instance A4X Max.
  • ZONE: zona tempat jenis mesin yang ingin Anda gunakan tersedia. Untuk mengetahui informasi tentang region, lihat Ketersediaan GPU menurut region dan zona.
  • INSTANCE_NAME: nama instance A4X Max.
  • DISK_SIZE: ukuran boot disk dalam GB. Untuk mengetahui informasi selengkapnya, lihat Batas ukuran Google Cloud Hyperdisk atau Batas ukuran Persistent Disk berdasarkan jenis disk.
  • IMAGE_PROJECT: project ID image OS.
  • IMAGE_FAMILY: kelompok image dari image OS yang ingin Anda gunakan. Untuk daftar semua sistem operasi yang didukung, lihat Sistem operasi yang didukung.
  • NETWORK_PROJECT_ID: project ID jaringan.
  • IDPF_NETWORK_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC yang menggunakan NIC IDPF.
  • REGION: region subnetwork.
  • RDMA_NAME_PREFIX: awalan nama yang Anda tentukan saat membuat jaringan dan subnet VPC yang menggunakan NIC RDMA.
  • RESERVATION_NAME: nama pemesanan Anda.
  • BLOCK_NAME: nama blok tertentu dalam reservasi.
  • SUB_BLOCK_NAME: nama sub-blok tertentu dalam blok.
  • TERMINATION_ACTION: apakah Compute Engine menghentikan (STOP) atau menghapus (DELETE) instance A4X Max di akhir periode pemesanan.

Menginstal driver GPU

Setelah Anda membuat instance, instance tidak dapat menggunakan GPU-nya kecuali jika driver GPU yang benar sudah diinstal. Jika Anda tidak menentukan image OS yang menyertakan driver GPU, lihat Menginstal driver GPU dalam dokumentasi Compute Engine.

Langkah berikutnya