建立已連接 GPU 的 N1 VM


本文說明如何建立已連結 GPU 且使用 N1 系列機器的 VM。您可以使用大部分的 N1 機器類型,但 N1 shared-core 除外。

事前準備

  • 如要查看其他必要步驟 (例如選取 OS 映像檔和檢查 GPU 配額),請參閱總覽文件。
  • 如果尚未設定驗證,請先完成設定。 「驗證」是指驗證身分的程序,確認您有權存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    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

        如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 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.

        詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

必要的角色

如要取得建立 VM 所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色具備建立 VM 所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要建立 VM,必須具備下列權限:

  • 專案的 compute.instances.create
  • 如要使用自訂映像檔建立 VM: compute.images.useReadOnly 在映像檔上
  • 如要使用快照建立 VM: compute.snapshots.useReadOnly 快照
  • 如要使用執行個體範本建立 VM,請按照下列步驟操作: compute.instanceTemplates.useReadOnly 在執行個體範本上
  • 如要將舊版網路指派給 VM,請按照下列步驟操作: compute.networks.use 專案
  • 如要為 VM 指定靜態 IP 位址: 專案的 compute.addresses.use
  • 使用舊版網路時,如要將外部 IP 位址指派給 VM,請在專案中設定 compute.networks.useExternalIp
  • 如要為 VM 指定子網路,請在專案或所選子網路上授予 compute.subnetworks.use 權限。
  • 使用虛擬私有雲網路時,如要將外部 IP 位址指派給 VM,請在專案或所選子網路上取得 compute.subnetworks.useExternalIp 權限。
  • 如要為 VM 設定 VM 執行個體中繼資料,請在專案中執行下列指令: compute.instances.setMetadata
  • 如要為 VM 設定標記,請按照下列步驟操作: compute.instances.setTags 在 VM 上
  • 如要為 VM 設定標籤,請按照下列步驟操作: compute.instances.setLabels 在 VM 上
  • 如要設定 VM 使用的服務帳戶: compute.instances.setServiceAccount 在 VM 上
  • 為 VM 建立新磁碟: compute.disks.create 專案的
  • 如要以唯讀或讀寫模式附加現有磁碟: 磁碟的 compute.disks.use
  • 如要以唯讀模式連接現有磁碟: compute.disks.useReadOnly 磁碟的

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

總覽

下列 GPU 型號可附加至使用 N1 機器系列的 VM。

NVIDIA GPU:

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

NVIDIA RTX 虛擬工作站 (vWS) (舊稱 NVIDIA GRID):

  • NVIDIA T4 虛擬工作站:nvidia-tesla-t4-vws
  • NVIDIA P4 虛擬工作站:nvidia-tesla-p4-vws
  • NVIDIA P100 虛擬工作站:nvidia-tesla-p100-vws

    對於這些虛擬工作站,系統會自動將 NVIDIA RTX 虛擬工作站 (vWS) 授權新增至 VM。

建立連接 GPU 的 VM

您可以使用Google Cloud 控制台、Google Cloud CLI 或 REST,建立已附加 GPU 的 N1 VM。

主控台

  1. 前往 Google Cloud 控制台的「Create an instance」(建立執行個體) 頁面。

    前往「建立執行個體」

  2. 指定 VM 的「Name」(名稱)。請參閱「資源命名慣例」。

  3. 選取提供 GPU 的區域和可用區。請參閱提供 GPU 的區域清單。

  4. 在「Machine configuration」(機器設定) 區段中,選取「GPUs」(GPU) 機器系列,然後執行下列操作:

    1. 在「GPU type」(GPU 類型) 清單中,選取 N1 機器支援的其中一個 GPU 型號。
    2. 在「Number of GPUs」(GPU 數量) 清單中,選取 GPU 數量。
    3. 如果 GPU 型號支援適用於圖形工作負載的 NVIDIA RTX 虛擬工作站 (vWS),且您打算在這部 VM 上執行需要大量圖形的工作負載,請選取「啟用虛擬工作站 (NVIDIA GRID)」

    4. 在「Machine type」(機器類型) 清單中,選取其中一個預設的 N1 機器類型。您也可以指定自訂機器類型設定。

  5. 在「Boot disk」(開機磁碟) 部分,按一下「Change」(變更)。系統會開啟「開機磁碟設定」頁面。

  6. 在「開機磁碟設定」頁面中,執行下列操作:

    1. 在「Public images」(公開映像檔) 分頁中,選擇支援的 Compute Engine 映像檔深度學習 VM 映像檔
    2. 指定至少 40 GB 的開機磁碟大小。
    3. 如要確認開機磁碟選項,請按一下「Select」(選取)
  7. 選用:在「VM 佈建模型」清單中,選取佈建模型

  8. 如要建立並啟動 VM,請按一下 [Create] (建立)

gcloud

如要建立並啟動 VM,請使用 gcloud compute instances create 指令搭配下列旗標。

如果您的工作負載可以容錯,也能承受 VM 先占可能帶來的影響,建議使用 Spot VM,以降低 VM 和所連 GPU 的費用。詳情請參閱「Spot VM 上的 GPU」。--provisioning-model=SPOT 是選用旗標,可用於將 VM 設為 Spot VM。對於 Spot VM,系統會停用自動重新啟動和主機維護選項標記。

gcloud compute instances create VM_NAME \
    --machine-type MACHINE_TYPE \
    --zone ZONE \
    --boot-disk-size DISK_SIZE \
    --accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT \
    --maintenance-policy TERMINATE \
    [--provisioning-model=SPOT]

更改下列內容:

  • VM_NAME:新 VM 的名稱
  • MACHINE_TYPE:您為 VM 選取的機器類型
  • ZONE:VM 的區域。這個區域必須支援GPU 類型
  • DISK_SIZE:開機磁碟的大小 (以 GB 為單位)。 指定至少 40 GB 的開機磁碟大小。
  • IMAGEIMAGE_FAMILY,且支援 GPU。 指定下列其中一項:

    • IMAGE:公開圖片的必要版本。例如:--image debian-10-buster-v20200309
    • IMAGE_FAMILY圖片系列。這會使用未淘汰的最新 OS 映像檔建立 VM。舉例來說,如果您指定 --image-family debian-10,Compute Engine 會從 Debian 10 映像檔系列中最新版本的 OS 映像檔建立 VM。

    您也可以指定自訂映像檔或深度學習 VM 映像檔

  • IMAGE_PROJECT:映像檔系列所屬的 Compute Engine 映像檔專案。如果使用自訂映像檔或深度學習 VM 映像檔,請指定這些映像檔所屬的專案。

  • ACCELERATOR_COUNT:要新增至 VM 的 GPU 數量。如需 VM 機器類型適用的 GPU 限制清單,請參閱 Compute Engine 上的 GPU

  • ACCELERATOR_TYPE:您要使用的 GPU 型號。如果您打算在這部 VM 上執行需要大量圖形的工作負載,請使用虛擬工作站模型

    請選擇下列其中一個值:

    • NVIDIA GPU:

      • NVIDIA T4:nvidia-tesla-t4
      • NVIDIA P4:nvidia-tesla-p4
      • NVIDIA P100:nvidia-tesla-p100
      • NVIDIA V100:nvidia-tesla-v100
    • NVIDIA RTX 虛擬工作站 (vWS) (舊稱 NVIDIA GRID):

      • NVIDIA T4 虛擬工作站:nvidia-tesla-t4-vws
      • NVIDIA P4 虛擬工作站:nvidia-tesla-p4-vws
      • NVIDIA P100 虛擬工作站:nvidia-tesla-p100-vws

        對於這些虛擬工作站,系統會自動將 NVIDIA RTX 虛擬工作站 (vWS) 授權新增至 VM。

示例

舉例來說,您可以使用下列 gcloud 指令,在 us-east1-d 區域中啟動配備 1 個 NVIDIA T4 GPU 和 2 個 vCPU 的 Ubuntu 22.04 VM。

gcloud compute instances create gpu-instance-1 \
    --machine-type n1-standard-2 \
    --zone us-east1-d \
    --boot-disk-size 40GB \
    --accelerator type=nvidia-tesla-t4,count=1 \
    --image-family ubuntu-2204-lts \
    --image-project ubuntu-os-cloud \
    --maintenance-policy TERMINATE

REST

找出要新增至 VM 的 GPU 類型。如要列出特定區域中適用於專案的 GPU 類型,請提交 GET 要求。

如果您的工作負載可以容錯,也能承受 VM 先占可能帶來的影響,建議使用 Spot VM,以降低 VM 和所連 GPU 的費用。詳情請參閱「Spot VM 上的 GPU」。"provisioningModel": "SPOT" 是選用參數,可用於將 VM 設為 Spot VM,對於 Spot VM,系統會停用自動重新啟動和主機維護選項標記。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes

更改下列內容:

  • PROJECT_ID:專案 ID。
  • ZONE:您要列出可用 GPU 類型的區域

instances.insert 方法發出 POST 要求。加入 acceleratorType 參數來指定您要使用的 GPU 類型,再加入 acceleratorCount 參數來指定您要新增的 GPU 數量。請同時將 onHostMaintenance 參數設為 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": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "boot": true
    }
  ],
  "name": "VM_NAME",
  "networkInterfaces":
  [
    {
      "network": "projects/PROJECT_ID/global/networks/NETWORK"
    }
  ],
  "guestAccelerators":
  [
    {
      "acceleratorCount": ACCELERATOR_COUNT,
      "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
    }
  ],
  "scheduling":
  {
    ["automaticRestart": true],
    "onHostMaintenance": "TERMINATE",
    ["provisioningModel": "SPOT"]
  },
}

更改下列內容:

  • VM_NAME:VM 的名稱
  • PROJECT_ID:您的專案 ID。
  • ZONE:VM 的區域。這個區域必須支援GPU 類型
  • MACHINE_TYPE:您為 VM 選取的機器類型。如要瞭解哪些機器類型可提供您需要的 GPU 數量,請參閱 Compute Engine 上的 GPU一文。
  • IMAGEIMAGE_FAMILY: 指定下列其中一項:

    • IMAGE:公開映像檔的必要版本。例如: "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
    • IMAGE_FAMILY圖片系列。這會使用未淘汰的最新 OS 映像檔建立 VM。舉例來說,如果您指定 "sourceImage": "projects/debian-cloud/global/images/family/debian-10",Compute Engine 會從 Debian 10 映像檔系列中,最新版本的 OS 映像檔建立 VM。

    您也可以指定自訂映像檔或深度學習 VM 映像檔

  • IMAGE_PROJECT:映像檔系列所屬的 Compute Engine 映像檔專案。如果使用自訂映像檔或深度學習 VM 映像檔,請指定這些映像檔所屬的專案。

  • DISK_SIZE:開機磁碟的大小 (以 GB 為單位)。 指定至少 40 GB 的開機磁碟大小。

  • NETWORK:要用於 VM 的虛擬私有雲網路。如要使用預設網路,請指定 default

  • ACCELERATOR_COUNT:要新增至 VM 的 GPU 數量。如需 VM 機器類型適用的 GPU 限制清單,請參閱 Compute Engine 上的 GPU

  • ACCELERATOR_TYPE:您要使用的 GPU 型號。如果您打算在這部 VM 上執行需要大量圖形的工作負載,請使用虛擬工作站模型

    請選擇下列其中一個值:

    • NVIDIA GPU:

      • NVIDIA T4:nvidia-tesla-t4
      • NVIDIA P4:nvidia-tesla-p4
      • NVIDIA P100:nvidia-tesla-p100
      • NVIDIA V100:nvidia-tesla-v100
    • NVIDIA RTX 虛擬工作站 (vWS) (舊稱 NVIDIA GRID):

      • NVIDIA T4 虛擬工作站:nvidia-tesla-t4-vws
      • NVIDIA P4 虛擬工作站:nvidia-tesla-p4-vws
      • NVIDIA P100 虛擬工作站:nvidia-tesla-p100-vws

        對於這些虛擬工作站,系統會自動將 NVIDIA RTX 虛擬工作站 (vWS) 授權新增至 VM。

安裝驅動程式

如要安裝驅動程式,請選擇下列其中一個選項:

後續步驟