Membuat VM A3, A2, atau G2


Dokumen ini menjelaskan cara membuat VM yang menggunakan jenis mesin dari seri mesin A3 High, A3 Mega, A3 Edge, A2, dan G2. 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 prasyarat tambahan guna membuat instance dengan GPU yang terpasang, seperti memilih image OS dan memeriksa kuota GPU, lihat Ringkasan pembuatan instance dengan GPU yang terpasang.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses Google Cloud layanan dan API. 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:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    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.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

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

Buat VM yang telah memasang GPU

Anda dapat membuat VM yang dioptimalkan akselerator A3 High, A3 Mega, A3 Edge, A2, atau G2 menggunakan konsol Google Cloud, Google Cloud CLI, atau REST.

Untuk melakukan beberapa penyesuaian pada VM G2, Anda mungkin perlu menggunakan Google Cloud CLI atau REST. Lihat Batasan G2.

Konsol

  1. Di konsol Google Cloud, buka halaman Create an instance.

    Buka Buat instance

  2. Tentukan Name untuk VM Anda. Lihat Konvensi penamaan resource.

  3. Pilih region dan zona tempat GPU tersedia. Lihat daftar region dan zona GPU yang tersedia.

  4. Di bagian Machine configuration, pilih kelompok mesin GPUs, lalu lakukan tindakan berikut:

    1. Pada daftar GPU type, pilih jenis GPU Anda.

      • Untuk VM yang dioptimalkan akselerator A3 High, A3 Mega, atau A3 Edge, pilih NVIDIA H100 80GB, atau NVIDIA H100 80GB MEGA.
      • Untuk VM yang dioptimalkan akselerator A2, pilih NVIDIA A100 40GB atau NVIDIA A100 80GB.
      • Untuk VM yang dioptimalkan akselerator G2, pilih NVIDIA L4.
    2. Dalam daftar Number of GPU, pilih jumlah GPU.

    3. Jika model GPU Anda mendukung NVIDIA RTX Virtual Workstations (vWS) untuk workload grafis, dan Anda berencana menjalankan beban kerja yang intensif grafis pada VM ini, pilih Aktifkan Workstation Virtual (NVIDIA GRID).

  5. Di bagian Boot disk, klik Change. Tindakan ini akan membuka halaman Boot disk configuration.

  6. Di halaman Boot disk configuration, lakukan langkah berikut:

    1. Pada tab Public image, pilih image Compute Engine yang didukung atau Deep Learning VM Image.
    2. Tentukan ukuran boot disk minimal 40 GB.
    3. Untuk mengonfirmasi opsi boot disk, klik Select.
  7. Opsional: Konfigurasikan model penyediaan. Misalnya, 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 melakukannya, selesaikan langkah-langkah berikut:

    1. Di bagian Kebijakan ketersediaan, pilih Spot dari daftar Model penyediaan VM. Setelan ini menonaktifkan opsi mulai ulang otomatis dan pemeliharaan host untuk VM.
    2. Opsional: Dalam daftar Saat penghentian VM, pilih apa yang terjadi saat Compute Engine melakukan preempt terhadap VM:
      • Untuk menghentikan VM selama preemption, pilih Hentikan (default).
      • Untuk menghapus VM selama preemption, pilih Hapus.
  8. Untuk membuat dan memulai VM, klik Create.

gcloud

Untuk membuat dan memulai VM, gunakan perintah gcloud compute instances create dengan flag berikut. VM dengan GPU tidak dapat dimigrasikan langsung. Pastikan Anda menetapkan flag --maintenance-policy=TERMINATE.

Flag opsional berikut ditampilkan dalam contoh perintah:

  • Flag --provisioning-model=SPOT yang mengonfigurasi VM Anda sebagai Spot VM. 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 Spot VM, tanda opsi mulai ulang otomatis dan pemeliharaan host dinonaktifkan.
  • Flag --accelerator untuk menentukan workstation virtual. NVIDIA RTX Virtual Workstation (vWS) hanya didukung untuk VM G2.
  gcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --zone=ZONE \
      --boot-disk-size=DISK_SIZE \
      --image=IMAGE \
      --image-project=IMAGE_PROJECT \
      --maintenance-policy=TERMINATE \
      [--provisioning-model=SPOT] \
      [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]
  
Ganti kode berikut:
  • VM_NAME: name untuk VM baru.
  • MACHINE_TYPE : jenis mesin yang Anda pilih. Pilih dari salah satu hal 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.
  • ZONE: zona untuk VM. Zona ini harus mendukung model GPU yang Anda pilih.
  • DISK_SIZE: ukuran boot disk dalam GB. Tentukan ukuran disk booting minimal 40 GB.
  • IMAGE: image sistem operasi yang mendukung GPU. Jika Anda ingin menggunakan image terbaru dalam kelompok image, ganti flag --image dengan flag --image-family dan tetapkan nilainya ke kelompok image yang mendukung GPU. Misalnya: --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.

REST

Kirim permintaan POST ke metode instances.insert. VM dengan GPU tidak dapat melakukan migrasi langsung. Pastikan Anda menyetel parameter onHostMaintenance ke TERMINATE.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
"disks":
[
  {
    "type": "PERSISTENT",
    "initializeParams":
    {
      "diskSizeGb": "DISK_SIZE",
      "sourceImage": "SOURCE_IMAGE_URI"
    },
    "boot": true
  }
],
"name": "VM_NAME",
"networkInterfaces":
[
  {
    "network": "projects/PROJECT_ID/global/networks/NETWORK"
  }
],
"scheduling":
{
  "onHostMaintenance": "terminate",
  ["automaticRestart": true]
},
}

Ganti kode berikut:
  • VM_NAME: name untuk VM baru.
  • PROJECT_ID: Project ID Anda.
  • ZONE: zona untuk VM. Zona ini harus mendukung model GPU yang Anda pilih.
  • MACHINE_TYPE : jenis mesin yang Anda pilih. Pilih dari salah satu hal 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.
    SOURCE_IMAGE_URI: URI untuk image atau kelompok 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
  • DISK_SIZE: ukuran boot disk dalam GB. Tentukan ukuran boot disk minimal 40 GB.
  • NETWORK: jaringan VPC yang ingin Anda gunakan untuk VM. Anda dapat menentukan `default` untuk menggunakan jaringan default.
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 menentukan Spot VM, tambahkan opsi "provisioningModel": "SPOT" ke permintaan Anda. Untuk Spot VM, tanda opsi mulai ulang otomatis dan pemeliharaan 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"
        }
      ]
    

Menginstal driver

Agar VM dapat menggunakan GPU, Anda harus Menginstal driver GPU di VM.

Contoh

Dalam contoh ini, sebagian besar VM dibuat menggunakan Google Cloud CLI. Namun, Anda juga dapat menggunakan konsol Google Cloud atau REST untuk membuat VM ini.

Contoh berikut menunjukkan cara membuat VM menggunakan image berikut:

COS (A3 Edge/High)

Anda dapat membuat VM a3-edgegpu-8g atau a3-highgpu-8g yang telah memasang GPU H100 menggunakan image yang dioptimalkan untuk Container (COS).

Untuk petunjuk mendetail tentang cara membuat VM a3-edgegpu-8g atau a3-highgpu-8g yang menggunakan Container-Optimized OS, lihat Membuat VM A3 dengan GPUDirect-TCPX diaktifkan.

Image OS publik (G2)

Anda dapat membuat VM dengan GPU terpasang yang menggunakan image publik yang tersedia di Compute Engine atau image kustom.

Untuk membuat VM menggunakan image terbaru yang tidak dihentikan dari Rocky Linux 8 yang dioptimalkan untuk Google Cloud kelompok image yang menggunakan jenis mesin g2-standard-8 dan memiliki NVIDIA RTX Virtual Workstation, selesaikan langkah-langkah berikut:

  1. Membuat VM. Dalam contoh ini, flag opsional seperti jenis dan ukuran boot disk juga ditentukan.

    gcloud compute instances create VM_NAME \
        --project=PROJECT_ID \
        --zone=ZONE \
        --machine-type=g2-standard-8  \
        --maintenance-policy=TERMINATE --restart-on-failure \
        --network-interface=nic-type=GVNIC \
        --accelerator=type=nvidia-l4-vws,count=1 \
        --image-family=rocky-linux-8-optimized-gcp \
        --image-project=rocky-linux-cloud \
        --boot-disk-size=200GB \
        --boot-disk-type=pd-ssd
    

    Ganti kode berikut:

    • VM_NAME: nama VM Anda
    • PROJECT_ID: Project ID Anda.
    • ZONE: zona untuk VM.
  2. Instal driver NVIDIA dan CUDA. Untuk GPU NVIDIA L4, diperlukan CUDA versi XX atau yang lebih tinggi.

Gambar DLVM (A2)

Menggunakan image DLVM adalah cara termudah untuk memulai karena image ini sudah dilengkapi dengan driver NVIDIA dan library CUDA.

Gambar ini juga memberikan pengoptimalan performa.

Image DLVM berikut didukung untuk NVIDIA A100:

  • common-cu110: Driver NVIDIA dan CUDA yang telah diinstal sebelumnya
  • tf-ent-1-15-cu110: Driver NVIDIA, CUDA, TensorFlow Enterprise 1.15.3 telah diinstal sebelumnya
  • tf2-ent-2-1-cu110: Driver NVIDIA, CUDA, TensorFlow Enterprise 2.1.1 telah diinstal sebelumnya
  • tf2-ent-2-3-cu110: Driver NVIDIA, CUDA, TensorFlow Enterprise 2.3.1 telah diinstal sebelumnya
  • pytorch-1-6-cu110: Driver NVIDIA, CUDA, Pytorch 1.6

Untuk mengetahui informasi selengkapnya tentang image DLVM yang tersedia, dan paket yang diinstal pada image, lihat dokumentasi Deep Learning VM.

  1. Buat VM menggunakan image tf2-ent-2-3-cu110 dan jenis mesin a2-highgpu-1g. Dalam contoh ini, flag opsional seperti ukuran dan cakupan boot disk ditentukan.

    gcloud compute instances create VM_NAME \
       --project PROJECT_ID \
       --zone ZONE \
       --machine-type a2-highgpu-1g \
       --maintenance-policy TERMINATE \
       --image-family tf2-ent-2-3-cu110 \
       --image-project deeplearning-platform-release \
       --boot-disk-size 200GB \
       --metadata "install-nvidia-driver=True,proxy-mode=project_editors" \
       --scopes https://www.googleapis.com/auth/cloud-platform
    

    Ganti kode berikut:

    • VM_NAME: nama VM Anda
    • PROJECT_ID: Project ID Anda.
    • ZONE: zona untuk VM
  2. Contoh perintah sebelumnya juga menghasilkan instance notebook yang dikelola pengguna Vertex AI Workbench untuk VM. Untuk mengakses notebook, di konsol Google Cloud, buka Vertex AI Workbench > halaman Notebook yang dikelola pengguna singkat ini.

    Buka halaman Notebook yang dikelola pengguna

GPU Multi-Instance (khusus VM A3 dan A2)

Multi-Instance GPU mempartisi satu GPU NVIDIA H100 atau A100 dalam VM yang sama ke dalam hingga tujuh instance GPU independen. Keduanya berjalan secara bersamaan, masing-masing dengan memori, cache, dan multiprosesor streaming sendiri. Penyiapan ini memungkinkan GPU NVIDIA H100 atau A100 memberikan kualitas layanan (QoS) yang dijamin hingga 7x lebih tinggi dibandingkan dengan model GPU sebelumnya.

Anda dapat membuat hingga tujuh GPU Multi-instance. Untuk GPU A100 40 GB, setiap GPU Multi-instance dialokasikan memori 5 GB. Dengan GPU A100 80 GB dan H100 80 GB, memori yang dialokasikan akan meningkat dua kali lipat menjadi 10 GB.

Untuk mengetahui informasi selengkapnya tentang penggunaan GPU Multi-Instance, lihat Panduan Pengguna Multi-Instance GPU NVIDIA.

Untuk membuat GPU Multi-Instance, selesaikan langkah-langkah berikut:

  1. Buat VM yang dioptimalkan akselerator A3 High, A3 Mega, A3 Edge, atau A2.

  2. Aktifkan driver GPU NVIDIA.

  3. Aktifkan GPU Multi-Instance.

    sudo nvidia-smi -mig 1
    
  4. Tinjau bentuk GPU Multi-Instance yang tersedia.

    sudo nvidia-smi mig --list-gpu-instance-profiles
    

    Outputnya mirip dengan berikut ini:

    +-----------------------------------------------------------------------------+
    | GPU instance profiles:                                                      |
    | GPU   Name             ID    Instances   Memory     P2P    SM    DEC   ENC  |
    |                              Free/Total   GiB              CE    JPEG  OFA  |
    |=============================================================================|
    |   0  MIG 1g.10gb       19     7/7        9.62       No     16     1     0   |
    |                                                             1     1     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 1g.10gb+me    20     1/1        9.62       No     16     1     0   |
    |                                                             1     1     1   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 1g.20gb       15     4/4        19.50      No     26     1     0   |
    |                                                             1     1     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 2g.20gb       14     3/3        19.50      No     32     2     0   |
    |                                                             2     2     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 3g.40gb        9     2/2        39.25      No     60     3     0   |
    |                                                             3     3     0   |
    +-----------------------------------------------------------------------------+
    .......
    
  5. Buat Multi-Instance GPU (GI) dan instance komputasi (CI) terkait yang Anda inginkan. Anda dapat membuat instance ini dengan menentukan nama profil, ID profil, atau kombinasi keduanya, baik yang lengkap maupun disingkat. Untuk mengetahui informasi selengkapnya, lihat Membuat Instance GPU.

    Contoh berikut membuat dua instance GPU MIG 3g.20gb menggunakan ID profil (9).

    Flag -C juga ditentukan yang membuat instance komputasi terkait untuk profil yang diperlukan.

    sudo nvidia-smi mig -cgi 9,9 -C
    
  6. Pastikan dua GPU Multi-Instance telah dibuat:

    sudo nvidia-smi mig -lgi
    
  7. Pastikan GI dan CI yang sesuai telah dibuat.

    sudo nvidia-smi
    

    Outputnya mirip dengan berikut ini:

    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  NVIDIA H100 80G...  Off  | 00000000:04:00.0 Off |                   On |
    | N/A   33C    P0    70W / 700W |     39MiB / 81559MiB |     N/A      Default |
    |                               |                      |              Enabled |
    +-------------------------------+----------------------+----------------------+
    |   1  NVIDIA H100 80G...  Off  | 00000000:05:00.0 Off |                   On |
    | N/A   32C    P0    69W / 700W |     39MiB / 81559MiB |     N/A      Default |
    |                               |                      |              Enabled |
    +-------------------------------+----------------------+----------------------+
    ......
    
    +-----------------------------------------------------------------------------+
    | MIG devices:                                                                |
    +------------------+----------------------+-----------+-----------------------+
    | GPU  GI  CI  MIG |         Memory-Usage |        Vol|         Shared        |
    |      ID  ID  Dev |           BAR1-Usage | SM     Unc| CE  ENC  DEC  OFA  JPG|
    |                  |                      |        ECC|                       |
    |==================+======================+===========+=======================|
    |  0    1   0   0  |     19MiB / 40192MiB | 60      0 |  3   0    3    0    3 |
    |                  |      0MiB / 65535MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    |  0    2   0   1  |     19MiB / 40192MiB | 60      0 |  3   0    3    0    3 |
    |                  |      0MiB / 65535MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    ......
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

Apa langkah selanjutnya?