Membuat VM GPU secara massal

Anda dapat membuat grup virtual machine (VM) yang telah memasang unit pemrosesan grafis (GPU) menggunakan proses pembuatan massal. Dengan proses pembuatan massal, Anda akan mendapatkan validasi di awal saat permintaan akan gagal dengan cepat jika tidak memungkinkan. Selain itu, jika Anda menggunakan tanda region, API pembuatan massal akan otomatis memilih zona yang memiliki kapasitas untuk memenuhi permintaan.

Untuk mempelajari lebih lanjut pembuatan massal, lihat Tentang pembuatan VM secara massal. Untuk mempelajari lebih lanjut cara membuat VM dengan GPU yang terpasang, lihat Ringkasan pembuatan instance dengan GPU yang terpasang.

Sebelum memulai

  • Untuk meninjau batasan dan langkah-langkah prasyarat tambahan untuk membuat instance dengan GPU yang terpasang, seperti memilih image OS dan memeriksa kuota GPU, lihat Ringkasan pembuatan instance dengan GPU yang terpasang.
  • Untuk meninjau batasan pembuatan massal, lihat Tentang pembuatan VM secara massal.
  • Siapkan autentikasi, jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses layanan dan API Google Cloud . Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Instal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init

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

    2. Set a default region and zone.

    REST

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

      Instal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init

      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

Agar mendapatkan izin yang Anda perlukan untuk membuat VM, minta administrator untuk memberi Anda peran IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) di 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 VM. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat VM:

  • 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.

Ringkasan

Saat membuat VM dengan GPU yang terpasang menggunakan metode pembuatan massal, Anda dapat memilih untuk membuat VM di satu region (seperti us-central1) atau di zona tertentu seperti (us-central1-a).

Jika Anda memilih untuk menentukan region, Compute Engine akan menempatkan VM di zona mana pun dalam region yang mendukung GPU.

Jenis mesin

Kelompok mesin yang dioptimalkan akselerator berisi beberapa jenis mesin.

Setiap jenis mesin yang dioptimalkan akselerator memiliki model GPU NVIDIA tertentu yang terpasang untuk mendukung jenis workload yang direkomendasikan.

Workload AI dan ML Grafik dan visualisasi
Jenis mesin seri A yang dioptimalkan untuk akselerator dirancang untuk workload komputasi berperforma tinggi (HPC), kecerdasan buatan (AI), dan machine learning (ML).

Untuk jenis mesin ini, model GPU otomatis terpasang ke instance.

Jenis mesin seri G yang dioptimalkan akselerator dirancang untuk beban kerja seperti beban kerja simulasi NVIDIA Omniverse, aplikasi yang intensif grafis, transcoding video, dan desktop virtual. Jenis mesin ini mendukung NVIDIA RTX Virtual Workstations (vWS).

Untuk jenis mesin ini, model GPU otomatis terpasang ke instance.

  • A4X (NVIDIA GB200 Superchips)
    (nvidia-gb200)
  • A4 (NVIDIA B200)
    (nvidia-b200)
  • A3 Ultra (NVIDIA H200)
    (nvidia-h200-141gb)
  • A3 Mega (NVIDIA H100)
    (nvidia-h100-mega-80gb)
  • A3 Tinggi (NVIDIA H100)
    (nvidia-h100-80gb)
  • A3 Edge (NVIDIA H100)
    (nvidia-h100-80gb)
  • A2 Ultra (NVIDIA A100 80GB)
    (nvidia-a100-80gb)
  • A2 Standard (NVIDIA A100)
    (nvidia-a100-40gb)
  • G4 (NVIDIA RTX PRO 6000)
    (nvidia-rtx-pro-6000)
    (nvidia-rtx-pro-6000-vws)
  • G2 (NVIDIA L4)
    (nvidia-l4)
    (nvidia-l4-vws)

Membuat grup A4X, A4, dan A3 Ultra

Untuk membuat instance secara massal untuk seri mesin A4X, A4, dan A3 Ultra, lihat Ringkasan opsi deployment dalam dokumentasi AI Hypercomputer.

Membuat grup VM A3, A2, G4, dan G2

Bagian ini menjelaskan cara membuat beberapa instance sekaligus untuk seri mesin A3 High, A3 Mega, A3 Edge, A2 Standard, A2 Ultra, G4, dan G2 menggunakan Google Cloud CLI, atau REST.

gcloud

Untuk membuat grup VM, gunakan perintah gcloud compute instances bulk create. Untuk mengetahui informasi lebih lanjut tentang parameter dan cara menggunakan perintah ini, baca Membuat VM secara massal.

Contoh

Contoh ini membuat dua VM yang telah memasang GPU dengan menggunakan spesifikasi berikut:

gcloud compute instances bulk create \
    --name-pattern="my-test-vm-#" \
    --region=REGION \
    --count=2 \
    --machine-type=MACHINE_TYPE \
    --boot-disk-size=200 \
    --image=IMAGE \
    --image-project=IMAGE_PROJECT \
    --on-host-maintenance=TERMINATE

Ganti kode berikut:

Jika berhasil, output-nya akan mirip dengan berikut ini:

NAME          ZONE
my-test-vm-1  us-central1-b
my-test-vm-2  us-central1-b
Bulk create request finished with status message: [VM instances created: 2, failed: 0.]

Flag opsional

Untuk mengonfigurasi lebih lanjut instance agar sesuai dengan kebutuhan workload atau sistem operasi Anda, sertakan satu atau beberapa flag berikut saat Anda menjalankan perintah gcloud compute instances bulk create.

Fitur Deskripsi
Model penyediaan Menetapkan model penyediaan untuk instance. Tentukan SPOT atau FLEX_START. FLEX_START tidak didukung untuk instance G4. Jika Anda tidak menentukan model, model standar akan digunakan. Untuk mengetahui informasi selengkapnya, lihat Model penyediaan instance Compute Engine.
--provisioning-model=PROVISIONING_MODEL
Workstation virtual Menentukan NVIDIA RTX Virtual Workstations (vWS) untuk beban kerja grafis. Fitur ini hanya didukung untuk instance G4 dan G2.
--accelerator=type=VWS_ACCELERATOR_TYPE,count=VWS_ACCELERATOR_COUNT

Ganti kode berikut:

  • Untuk VWS_ACCELERATOR_TYPE, pilih salah satu opsi berikut:
    • Untuk instance G4, tentukan nvidia-rtx-pro-6000-vws
    • Untuk instance G2, tentukan nvidia-l4-vws
  • Untuk VWS_ACCELERATOR_COUNT, tentukan jumlah GPU virtual yang Anda butuhkan.
SSD Lokal Memasang satu atau beberapa SSD Lokal ke instance Anda. SSD Lokal dapat digunakan untuk scratch disk cepat atau untuk memasukkan data ke GPU sekaligus mencegah bottleneck I/O.
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme ...
Untuk mengetahui jumlah maksimum disk SSD Lokal yang dapat Anda pasang per instance VM, lihat Batas SSD Lokal.
Antarmuka jaringan Melampirkan beberapa antarmuka jaringan ke instance Anda. Untuk instance g4-standard-384, Anda dapat melampirkan hingga dua antarmuka jaringan. Anda dapat menggunakan flag ini untuk membuat instance dengan antarmuka jaringan ganda (2x 200 Gbps). Setiap antarmuka jaringan harus berada di jaringan VPC yang unik.

   --network-interface=network=VPC_NAME_1,subnet=SUBNET_NAME_1,nic-type=GVNIC \
   --network-interface=network=VPC_NAME_2,subnet=SUBNET_NAME_2,nic-type=GVNIC
   

Antarmuka jaringan ganda hanya didukung di jenis mesin g4-standard-384.

Ganti kode berikut:

  • VPC_NAME: nama jaringan VPC Anda.
  • SUBNET_NAME: nama subnet yang merupakan bagian dari jaringan VPC yang ditentukan.

REST

Gunakan metode instances.bulkInsert dengan parameter yang diperlukan untuk membuat beberapa VM dalam satu zona. Untuk mengetahui informasi lebih lanjut tentang parameter dan cara menggunakan perintah ini, baca Membuat VM secara massal.

Contoh

Contoh ini membuat dua VM yang telah memasang GPU dengan menggunakan spesifikasi berikut:

  • Nama VM: my-test-vm-1, my-test-vm-2
  • Setiap VM memiliki dua GPU yang terpasang, ditentukan menggunakan jenis mesin yang dioptimalkan akselerator yang sesuai

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert
    {
    "namePattern":"my-test-vm-#",
    "count":"2",
    "instanceProperties": {
      "machineType":MACHINE_TYPE,
      "disks":[
        {
          "type":"PERSISTENT",
          "initializeParams":{
            "diskSizeGb":"200",
            "sourceImage":SOURCE_IMAGE_URI
          },
          "boot":true
        }
      ],
      "name": "default",
      "networkInterfaces":
      [
        {
          "network": "projects/PROJECT_ID/global/networks/default"
        }
      ],
      "scheduling":{
        "onHostMaintenance":"TERMINATE",
        ["automaticRestart":true]
      }
    }
    }
    

Ganti kode berikut:

  • PROJECT_ID: project ID Anda
  • REGION: region untuk VM. Region ini harus mendukung model GPU yang Anda pilih.
  • MACHINE_TYPE: jenis mesin yang Anda pilih. Pilih dari salah satu opsi berikut:

  • SOURCE_IMAGE_URI: URI untuk kelompok image atau image tertentu yang ingin Anda gunakan.

    Contoh:

    • Gambar spesifik: "sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
    • Kelompok image: "sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp".

    Saat Anda menentukan kelompok image, Compute Engine akan membuat VM dari image OS terbaru yang masih digunakan dalam kelompok tersebut. Untuk mengetahui informasi selengkapnya tentang kapan harus menggunakan kelompok image, lihat Praktik terbaik kelompok image.

Flag opsional

Untuk mengonfigurasi lebih lanjut instance agar sesuai dengan kebutuhan workload atau sistem operasi Anda, sertakan satu atau beberapa flag berikut saat Anda menjalankan metode instances.bulkInsert.

Fitur Deskripsi
Model penyediaan Untuk menurunkan biaya, Anda dapat menentukan model penyediaan yang berbeda dengan menambahkan kolom "provisioningModel": "PROVISIONING_MODEL" ke objek scheduling dalam permintaan Anda. Jika Anda menentukan untuk membuat Spot VM, kolom onHostMaintenance dan automaticRestart akan diabaikan. Untuk mengetahui informasi selengkapnya, lihat Model penyediaan instance Compute Engine.
    "scheduling":
     {
       "onHostMaintenance": "terminate",
       "provisioningModel": "PROVISIONING_MODEL"
     }
  

Ganti PROVISIONING_MODEL dengan salah satu dari berikut ini:

  • STANDARD: (Default) Instance standar.
  • SPOT: Spot VM.
  • FLEX_START: VM Mulai Fleksibel. VM mulai fleksibel berjalan hingga tujuh hari dan dapat membantu Anda mendapatkan resource yang sangat diminati seperti GPU dengan harga diskon. Model penyediaan ini tidak didukung untuk instance G4.
Workstation virtual Menentukan NVIDIA RTX Virtual Workstations (vWS) untuk beban kerja grafis. Fitur ini hanya didukung untuk instance G4 dan G2.
   "guestAccelerators":
     [
       {
         "acceleratorCount": VWS_ACCELERATOR_COUNT,
         "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/VWS_ACCELERATOR_TYPE"
       }
     ]
    

Ganti kode berikut:

  • Untuk VWS_ACCELERATOR_TYPE, pilih salah satu opsi berikut:
    • Untuk instance G4, tentukan nvidia-rtx-pro-6000-vws
    • Untuk instance G2, tentukan nvidia-l4-vws
  • Untuk VWS_ACCELERATOR_COUNT, tentukan jumlah GPU virtual yang Anda butuhkan.
SSD Lokal Memasang satu atau beberapa SSD Lokal ke instance Anda. SSD Lokal dapat digunakan untuk scratch disk cepat atau untuk memasukkan data ke GPU sekaligus mencegah bottleneck I/O.
   {
     "type": "SCRATCH",
     "autoDelete": true,
     "initializeParams": {
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/local-nvme-ssd"
     }
   }
  
Untuk mengetahui jumlah maksimum disk SSD Lokal yang dapat Anda pasang per instance VM, lihat Batas SSD Lokal.
Antarmuka jaringan Melampirkan beberapa antarmuka jaringan ke instance Anda. Untuk instance g4-standard-384, Anda dapat melampirkan hingga dua antarmuka jaringan. Perintah ini akan membuat instance dengan antarmuka jaringan ganda (2x 200 Gbps). Setiap antarmuka jaringan harus berada di jaringan VPC yang unik.

   "networkInterfaces":
   [
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_1",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_1",
       "nicType": "GVNIC"
     },
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_2",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_2",
       "nicType": "GVNIC"
     }
   ]
  

Antarmuka jaringan ganda hanya didukung di jenis mesin g4-standard-384.

Ganti kode berikut:

  • VPC_NAME: nama jaringan VPC Anda.
  • SUBNET_NAME: nama subnet yang merupakan bagian dari jaringan VPC yang ditentukan.

Membuat grup VM tujuan umum N1

Anda dapat membuat grup VM dengan GPU yang terpasang menggunakan Google Cloud CLI atau REST.

Bagian ini menjelaskan cara membuat beberapa VM menggunakan jenis GPU berikut:

GPU NVIDIA:

  • NVIDIA T4: nvidia-tesla-t4
  • NVIDIA P4: nvidia-tesla-p4
  • NVIDIA P100: nvidia-tesla-p100
  • NVIDIA V100: nvidia-tesla-v100

NVIDIA RTX Virtual Workstation (vWS) (sebelumnya disebut NVIDIA GRID):

  • NVIDIA T4 Virtual Workstation: nvidia-tesla-t4-vws
  • NVIDIA P4 Virtual Workstation: nvidia-tesla-p4-vws
  • NVIDIA P100 Virtual Workstation: nvidia-tesla-p100-vws

    Untuk workstation virtual ini, lisensi NVIDIA RTX Virtual Workstation (vWS) otomatis ditambahkan ke instance Anda.

gcloud

Untuk membuat grup VM, gunakan perintah gcloud compute instances bulk create. Untuk mengetahui informasi lebih lanjut tentang parameter dan cara menggunakan perintah ini, baca Membuat VM secara massal.

Contoh

Contoh berikut membuat dua VM dengan GPU yang terpasang menggunakan spesifikasi berikut:

  • Nama VM: my-test-vm-1, my-test-vm-2
  • VM yang dibuat di zona mana pun di us-central1 yang mendukung GPU
  • Setiap VM dipasangi dengan dua GPU T4, ditentukan dengan menggunakan jenis akselerator dan flag jumlah akselerator
  • Setiap VM diinstal dengan driver GPU
  • Setiap VM menggunakan pytorch-latest-gpu-v20211028-debian-10 Deep Learning VM Image
gcloud compute instances bulk create \
    --name-pattern="my-test-vm-#" \
    --count=2 \
    --region=us-central1 \
    --machine-type=n1-standard-2 \
    --accelerator type=nvidia-tesla-t4,count=2 \
    --boot-disk-size=200 \
    --metadata="install-nvidia-driver=True" \
    --scopes="https://www.googleapis.com/auth/cloud-platform" \
    --image=pytorch-latest-gpu-v20211028-debian-10 \
    --image-project=deeplearning-platform-release \
    --on-host-maintenance=TERMINATE --restart-on-failure

Jika berhasil, output-nya akan mirip dengan berikut ini:

NAME          ZONE
my-test-vm-1  us-central1-b
my-test-vm-2  us-central1-b
Bulk create request finished with status message: [VM instances created: 2, failed: 0.]

REST

Gunakan metode instances.bulkInsert dengan parameter yang diperlukan untuk membuat beberapa VM dalam satu zona. Untuk mengetahui informasi lebih lanjut tentang parameter dan cara menggunakan perintah ini, baca Membuat VM secara massal.

Contoh

Contoh berikut membuat dua VM dengan GPU yang terpasang menggunakan spesifikasi berikut:

  • Nama VM: my-test-vm-1, my-test-vm-2
  • VM yang dibuat di zona mana pun di us-central1 yang mendukung GPU
  • Setiap VM dipasangi dengan dua GPU T4, ditentukan dengan menggunakan jenis akselerator dan flag jumlah akselerator
  • Setiap VM diinstal dengan driver GPU
  • Setiap VM menggunakan pytorch-latest-gpu-v20211028-debian-10 Deep Learning VM Image

Ganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/instances/bulkInsert

{
    "namePattern":"my-test-vm-#",
    "count":"2",
    "instanceProperties": {
      "machineType":"n1-standard-2",
      "disks":[
        {
          "type":"PERSISTENT",
          "initializeParams":{
            "diskSizeGb":"200",
            "sourceImage":"projects/deeplearning-platform-release/global/images/pytorch-latest-gpu-v20211028-debian-10"
          },
          "boot":true
        }
      ],
      "name": "default",
      "networkInterfaces":
      [
        {
          "network": "projects/PROJECT_ID/global/networks/default"
        }
      ],
      "guestAccelerators":
      [
        {
          "acceleratorCount": 2,
          "acceleratorType": "nvidia-tesla-t4"
        }
      ],
      "scheduling":{
        "onHostMaintenance":"TERMINATE",
        "automaticRestart":true
      },
      "metadata":{
        "items":[
          {
            "key":"install-nvidia-driver",
            "value":"True"
          }
        ]
      }
  }
 }

Apa langkah selanjutnya?