Membuat grup VM GPU secara massal


Anda dapat membuat grup VM yang telah memasang GPU menggunakan proses pembuatan massal. Dengan prose 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.
  • Siapkan autentikasi, jika Anda belum melakukannya. Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.

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

    gcloud

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. Menetapkan region dan zona default.

    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, lalu initialize dengan menjalankan perintah berikut:

      gcloud init

Peran yang diperlukan

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

Peran bawaan ini berisi izin yang diperlukan untuk membuat VM. Untuk melihat izin yang benar-benar diperlukan, perluas 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 di snapshot
  • Untuk menggunakan template instance untuk membuat VM: compute.instanceTemplates.useReadOnly di template instance
  • Untuk menetapkan jaringan lama ke VM: compute.networks.use pada project
  • Untuk menentukan alamat IP statis untuk VM: compute.addresses.use di project
  • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama: compute.networks.useExternalIp di project
  • Untuk menentukan subnet untuk VM Anda: compute.subnetworks.use pada project atau subnet yang dipilih
  • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC: compute.subnetworks.useExternalIp pada project atau di subnet yang dipilih
  • Untuk menetapkan metadata instance VM untuk VM: compute.instances.setMetadata di project
  • Untuk menetapkan tag untuk VM: compute.instances.setTags di VM
  • Untuk menetapkan label 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 di 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 mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.

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 tersedia dalam jenis mesin standar A3, standar A2 dan ultra, serta jenis mesin standar G2.

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

  • Untuk jenis mesin yang dioptimalkan akselerator A3, GPU NVIDIA H100 80 GB dipasang.
  • Untuk jenis mesin yang dioptimalkan akselerator A2, GPU NVIDIA A100 terpasang. GPU ini tersedia dalam opsi A100 40GB dan A100 80GB.
  • Untuk jenis mesin yang dioptimalkan akselerator G2, GPU NVIDIA L4 terpasang.

Anda membuat grup VM yang dioptimalkan akselerator dengan 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:

  • Flag --preemptible yang mengonfigurasi VM Anda sebagai instance preemptible VM. Hal ini akan mengurangi biaya VM Anda dan GPU yang terpasang. Untuk mengetahui informasi selengkapnya, baca GPU di preemptible instance.

  • 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 --restart-on-failure \
    [--preemptible] \
    [--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:

  • Anda dapat mengurangi biaya VM dan GPU yang terpasang menggunakan preemptible VM. Untuk mengetahui informasi selengkapnya, lihat GPU pada instance preemptible VM. Untuk menyetel VM menjadi preemptible, tambahkan opsi "preemptible": true ke permintaan Anda.

    "scheduling":
      {
        "onHostMaintenance": "terminate",
        "automaticRestart": true,
        "preemptible": true
      }
    
  • 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

Standar A3

  • Anda tidak akan menerima diskon untuk penggunaan berkelanjutan dan diskon abonemen yang fleksibel untuk VM yang menggunakan jenis mesin standar A3.
  • Anda hanya dapat menggunakan jenis mesin standar A3 di region dan zona tertentu.
  • Anda tidak dapat menggunakan persistent disk regional pada VM yang menggunakan jenis mesin standar A3.
  • Jenis mesin standar A3 hanya tersedia di platform Safir Rapids.
  • Jika VM menggunakan jenis mesin standar A3, Anda tidak dapat mengubah jenis mesin. Jika perlu menggunakan jenis mesin lain, Anda harus membuat VM baru.
  • Anda tidak dapat mengubah jenis mesin lainnya menjadi jenis mesin standar A3. Jika perlu membuat VM yang menggunakan jenis mesin standar A3, Anda harus membuat VM baru.
  • Jenis mesin standar A3 tidak mendukung tenant tunggal.
  • Anda tidak dapat menjalankan jenis mesin standar A3 di sistem operasi Windows.

Standar A2

  • Anda tidak akan menerima diskon untuk penggunaan berkelanjutan dan diskon abonemen yang 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 Casscade Lake.
  • Jika VM menggunakan jenis mesin standar A2, Anda hanya dapat beralih dari satu jenis mesin standar A2 ke jenis mesin standar A2 lainnya. Anda tidak dapat beralih ke jenis mesin lainnya. Untuk mengetahui informasi selengkapnya, lihat Mengubah VM yang dioptimalkan akselerator.
  • Anda tidak dapat menggunakan jenis mesin standar a2-megagpu-16g A2 pada sistem operasi Windows. Saat menggunakan sistem operasi Windows, pilih jenis mesin standar A2 yang berbeda.
  • 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 tenant tunggal.

A2 ultra

  • Anda tidak akan menerima diskon untuk penggunaan berkelanjutan dan diskon abonemen yang fleksibel untuk VM yang menggunakan jenis mesin Ultra A2.
  • 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 ultra A2.
  • Jenis mesin ultra A2 hanya tersedia di platform Casscade Lake.
  • Jika VM Anda menggunakan jenis mesin ultra A2, Anda tidak dapat mengubah jenis mesin. Jika perlu menggunakan jenis mesin A2 ultra lainnya, atau jenis mesin lainnya, Anda harus membuat VM baru.
  • Anda tidak dapat mengubah jenis mesin lainnya menjadi jenis mesin A2 ultra. Jika perlu membuat VM yang menggunakan jenis mesin ultra A2, 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.

Standar G2

  • Anda tidak akan menerima diskon untuk penggunaan berkelanjutan dan diskon abonemen yang fleksibel untuk VM yang menggunakan jenis mesin standar G2.
  • Anda hanya dapat menggunakan jenis mesin standar G2 di region dan zona tertentu.
  • Anda tidak dapat menggunakan persistent disk regional pada VM yang menggunakan jenis mesin standar G2.
  • Jenis mesin standar G2 hanya tersedia di platform Casscade 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 standar G2.
  • Jika Anda perlu mengubah jenis mesin VM G2, pelajari artikel Mengubah VM yang dioptimalkan akselerator.
  • Anda tidak dapat menggunakan Deep Learning VM Image sebagai boot disk untuk VM yang menggunakan jenis mesin standar 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 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 K80: nvidia-tesla-k80. Lihat NVIDIA K80 EOL.

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?