Membuat grup 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 flag region, API pembuatan massal akan otomatis memilih zona yang memiliki kapasitas untuk memenuhi permintaan. Untuk mengetahui informasi selengkapnya tentang pembuatan massal, lihat Tentang pembuatan VM secara massal.

Sebelum memulai

  • Untuk meninjau langkah-langkah prasyarat tambahan, seperti memilih image OS dan memeriksa kuota GPU, lihat dokumen ringkasan.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna 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 pada 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 menetapkan jaringan lama ke VM: compute.networks.use pada project
  • Untuk menentukan alamat IP statis untuk VM: compute.addresses.use pada project
  • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama: compute.networks.useExternalIp di project
  • Untuk menentukan subnet bagi VM Anda: compute.subnetworks.use di project atau di subnet yang dipilih
  • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC: compute.subnetworks.useExternalIp di project atau di subnet yang dipilih
  • Untuk menetapkan metadata instance VM untuk VM: compute.instances.setMetadata pada project
  • Untuk menetapkan tag untuk VM: compute.instances.setTags di VM
  • Untuk menetapkan label untuk VM: compute.instances.setLabels di VM
  • Untuk menetapkan akun layanan yang akan digunakan VM: compute.instances.setServiceAccount di VM
  • Untuk membuat disk baru bagi 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.

Membuat grup VM yang dioptimalkan akselerator

Kelompok mesin yang dioptimalkan akselerator berisi beberapa jenis mesin.

Setiap jenis mesin yang dioptimalkan akselerator memiliki model GPU NVIDIA tertentu yang terpasang.

Anda dapat membuat grup VM yang dioptimalkan akselerator 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.

Flag opsional berikut ditampilkan dalam perintah contoh:

  • --provisioning-model=SPOT adalah flag opsional yang mengonfigurasi VM Anda sebagai Spot VM. Jika workload Anda fault-tolerant dan dapat menahan kemungkinan preempti VM, pertimbangkan untuk menggunakan Spot VM untuk mengurangi biaya VM dan GPU yang terpasang. Untuk mengetahui informasi selengkapnya, lihat GPU di Spot VM. Untuk Spot VM, tanda opsi mulai ulang otomatis dan pengelolaan host dinonaktifkan.

  • Flag --accelerator untuk menentukan workstation virtual. NVIDIA RTX Virtual Workstation (vWS) hanya didukung untuk VM G2.

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 \
    [--provisioning-model=SPOT] \
    [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]

Ganti kode berikut:

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

    • Jenis mesin A3.
    • Jenis mesin A2.
    • Jenis mesin G2. Jenis mesin G2 juga mendukung memori kustom. Memori harus kelipatan dari 1024 MB dan dalam rentang memori yang didukung. Misalnya, untuk membuat VM dengan 4 vCPU dan memori 19 GB, tentukan --machine-type=g2-custom-4-19456.
  • IMAGE: image sistem operasi yang mendukung GPU.

    Jika Anda ingin menggunakan gambar terbaru dalam kelompok image, ganti flag --image dengan flag --image-family dan setel nilainya ke kelompok image yang mendukung GPU. Contoh: --image-family=rocky-linux-8-optimized-gcp.

    Anda juga dapat menentukan image kustom atau Deep Learning VM Image.

  • IMAGE_PROJECT: project image Compute Engine yang mencakup image OS tersebut. Jika menggunakan image kustom atau Deep Learning VM Image, tentukan project tempat image tersebut berada.

  • VWS_ACCELERATOR_COUNT: jumlah GPU virtual yang Anda butuhkan.

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

    • Jenis mesin A2.
    • Jenis mesin G2. Jenis mesin G2 juga mendukung memori kustom. Memori harus kelipatan dari 1024 MB dan dalam rentang memori yang didukung. Misalnya, untuk membuat VM dengan 4 vCPU dan memori 19 GB, tentukan --machine-type=g2-custom-4-19456.
  • 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.

Setelan tambahan:

  • Jika workload Anda fault-tolerant dan dapat menahan kemungkinan preemption VM, pertimbangkan untuk menggunakan Spot VM untuk mengurangi biaya VM dan GPU yang terpasang. Untuk mengetahui informasi selengkapnya, lihat GPU di Spot VM. Untuk menggunakan Spot VM, tambahkan opsi "provisioningModel": "SPOT ke permintaan Anda. Untuk Spot VM, tanda opsi mulai ulang otomatis dan pengelolaan host dinonaktifkan.

    "scheduling":
      {
        "provisioningModel": "SPOT"
      }
    
  • Untuk VM G2, didukung NVIDIA RTX Virtual Workstations (vWS). Untuk menentukan workstation virtual, tambahkan opsi guestAccelerators ke permintaan Anda. Ganti VWS_ACCELERATOR_COUNT dengan jumlah GPU virtual yang Anda butuhkan.

    "guestAccelerators":
     [
       {
         "acceleratorCount": VWS_ACCELERATOR_COUNT,
         "acceleratorType": "projects/PROJECT_ID/zones/ZONEacceleratorTypes/nvidia-l4-vws"
       }
     ]
    

Batasan

VM A3

Batasan berikut berlaku untuk VM yang menggunakan jenis mesin A3 Edge, A3 High, dan A3 Mega:

  • Anda tidak menerima diskon untuk penggunaan berkelanjutan dan diskon abonemen fleksibel untuk VM yang menggunakan jenis mesin A3.
  • Anda hanya dapat menggunakan jenis mesin A3 di region dan zona tertentu.
  • Anda tidak dapat menggunakan persistent disk regional pada VM yang menggunakan jenis mesin A3.
  • Seri mesin A3 hanya tersedia di platform Sapphire Rapids.
  • Jika VM Anda menggunakan jenis mesin A3, Anda tidak dapat mengubah jenis mesin. Jika perlu mengubah jenis mesin, Anda harus membuat VM baru.
  • Anda tidak dapat mengubah jenis mesin VM menjadi jenis mesin A3. Jika memerlukan VM yang menggunakan jenis mesin A3, Anda harus membuat VM baru.
  • Jenis mesin A3 tidak mendukung sewa tunggal.
  • Anda tidak dapat menjalankan sistem operasi Windows pada jenis mesin A3.
  • Anda hanya dapat memesan jenis mesin A3 melalui reservations tertentu.
  • Untuk jenis mesin a3-highgpu-1g, a3-highgpu-2g, dana3-highgpu-4g, batasan berikut berlaku:
    • Untuk jenis mesin ini, Anda harus menggunakan Spot VM atau fitur yang menggunakan Dynamic Workload Scheduler (DWS) seperti permintaan perubahan ukuran di MIG. Untuk petunjuk mendetail tentang salah satu opsi ini, tinjau hal berikut:
    • Anda tidak dapat menggunakan Hyperdisk Balanced dengan jenis mesin ini.
    • Anda tidak dapat membuat reservasi.
    Jika mencoba membuat VM menggunakan penyediaan standar atau mencoba membuat reservasi untuk jenis mesin ini, Anda akan menerima pesan error.

VM Standar A2

  • Anda tidak menerima diskon untuk penggunaan berkelanjutan dan diskon abonemen fleksibel untuk VM yang menggunakan jenis mesin Standar A2.
  • Anda hanya dapat menggunakan jenis mesin Standar A2 di region dan zona tertentu.
  • Anda tidak dapat menggunakan persistent disk regional pada VM yang menggunakan jenis mesin Standar A2.
  • Jenis mesin Standar A2 hanya tersedia di platform Cascade Lake.
  • Jika VM Anda menggunakan jenis mesin Standar A2, Anda hanya dapat beralih dari satu jenis mesin Standar A2 ke jenis mesin Standar A2 lainnya. Anda tidak dapat mengubah ke jenis mesin lainnya. Untuk mengetahui informasi selengkapnya, lihat Mengubah VM yang dioptimalkan untuk akselerator.
  • Anda tidak dapat menggunakan sistem operasi Windows dengan jenis mesin Standar A2 <codea2-megagpu-16g< code="" dir="ltr" translate="no">. Saat menggunakan sistem operasi Windows, pilih jenis mesin Standar A2 yang berbeda.</codea2-megagpu-16g<>
  • Anda tidak dapat melakukan format cepat SSD Lokal yang terpasang di VM Windows yang menggunakan jenis mesin Standar A2. Untuk memformat SSD Lokal ini, Anda harus membuat format penuh dengan menggunakan utilitas diskpart dan menentukan format fs=ntfs label=tmpfs.
  • Jenis mesin Standar A2 tidak mendukung sewa tunggal.

VM A2 Ultra

  • Anda tidak menerima diskon untuk penggunaan berkelanjutan dan diskon abonemen fleksibel untuk VM yang menggunakan jenis mesin A2 Ultra.
  • Anda hanya dapat menggunakan jenis mesin A2 Ultra di region dan zona tertentu.
  • Anda tidak dapat menggunakan persistent disk regional pada VM yang menggunakan jenis mesin A2 Ultra.
  • Jenis mesin A2 Ultra hanya tersedia di platform Cascade Lake.
  • Jika VM Anda menggunakan jenis mesin A2 Ultra, Anda tidak dapat mengubah jenis mesin. Jika perlu menggunakan jenis mesin A2 Ultra yang berbeda, atau jenis mesin lainnya, Anda harus membuat VM baru.
  • Anda tidak dapat mengubah jenis mesin lainnya menjadi jenis mesin A2 Ultra. Jika memerlukan VM yang menggunakan jenis mesin A2 Ultra, Anda harus membuat VM baru.
  • Anda tidak dapat melakukan format cepat SSD Lokal yang terpasang di VM Windows yang menggunakan jenis mesin Ultra A2. Untuk memformat SSD Lokal ini, Anda harus membuat format penuh dengan menggunakan utilitas diskpart dan menentukan format fs=ntfs label=tmpfs.

VM G2

  • Anda tidak menerima diskon untuk penggunaan berkelanjutan dan diskon abonemen fleksibel untuk VM yang menggunakan jenis mesin G2.
  • Anda hanya dapat menggunakan jenis mesin G2 di region dan zona tertentu.
  • Anda tidak dapat menggunakan persistent disk regional pada VM yang menggunakan jenis mesin G2.
  • Jenis mesin G2 hanya tersedia di platform Cascade Lake.
  • Persistent disk standar (pd-standard) tidak didukung di VM yang menggunakan jenis mesin standar G2. Untuk mengetahui jenis disk yang didukung, lihat Jenis disk yang didukung untuk G2.
  • Anda tidak dapat membuat GPU Multi-Instance pada jenis mesin G2.
  • Jika Anda perlu mengubah jenis mesin VM G2, tinjau artikel Mengubah VM yang dioptimalkan akselerator.
  • Anda tidak dapat menggunakan Deep Learning VM Image sebagai boot disk untuk VM yang menggunakan jenis mesin G2.
  • Driver default saat ini untuk Container-Optimized OS tidak mendukung GPU L4 yang berjalan pada jenis mesin G2. Container-Optimized OS juga hanya mendukung serangkaian driver tertentu. Jika Anda ingin menggunakan Container-Optimized OS pada jenis mesin G2, tinjau catatan berikut:
    • Gunakan versi Container-Optimized OS yang mendukung versi driver NVIDIA minimum yang direkomendasikan 525.60.13 atau yang lebih baru. Untuk informasi selengkapnya, tinjau catatan rilis Container-Optimized OS.
    • Saat Anda menginstal driver, tentukan versi terbaru yang tersedia yang berfungsi untuk GPU L4. Contoh, sudo cos-extensions install gpu -- -version=525.60.13.
  • Anda harus menggunakan Google Cloud CLI atau REST untuk membuat VM G2 untuk skenario berikut:
    • Anda ingin menetapkan nilai memori kustom.
    • Anda ingin menyesuaikan jumlah inti CPU yang terlihat.

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 VM 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/region/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?