本文說明如何建立虛擬機器 (VM) 執行個體,並使用 A2 或 A3 High 加速器最佳化機器系列的機型。
如果是 A3 High 機型,本文僅涵蓋連接少於 8 個 GPU 的機型。如果 A3 High 機型少於 8 個 GPU,只能建立為 Spot VM 或彈性啟動 VM。如要建立連接 8 個 GPU 的 A3 執行個體,請參閱「建立啟用 GPUDirect 的 A3 Mega、A3 High 或 A3 Edge 執行個體」。
如要建立多個 A3 或 A2 VM,也可以使用下列任一選項:
- 代管執行個體群組 (MIG):對於需要高可用性、可擴充性和自動修復功能的工作負載,您可以建立使用 GPU 執行個體範本的 MIG。
- 大量建立執行個體:如要建立大量獨立執行個體,可以大量建立 A3 或 A2 VM。
事前準備
- 如要查看建立附加 GPU 的執行個體時的限制和額外必要步驟 (例如選取 OS 映像檔和檢查 GPU 配額),請參閱建立附加 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
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
必要的角色
如要取得建立 VM 所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。這個預先定義的角色具備建立 VM 所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要建立 VM,必須具備下列權限:
-
專案的
compute.instances.create -
如要使用自訂映像檔建立 VM:
compute.images.useReadOnly在映像檔上 -
如要使用快照建立 VM:
compute.snapshots.useReadOnly快照 -
如要使用執行個體範本建立 VM,請按照下列步驟操作:
compute.instanceTemplates.useReadOnly在執行個體範本上 -
如要為 VM 指定子網路:
compute.subnetworks.use專案或所選子網路的 -
如要為 VM 指定靜態 IP 位址:
專案的
compute.addresses.use -
使用虛擬私有雲網路時,如要將外部 IP 位址指派給 VM:
compute.subnetworks.useExternalIp專案或所選子網路的權限 -
如要將舊版網路指派給 VM,請按照下列步驟操作:
compute.networks.use專案的 -
使用舊版網路時,如要將外部 IP 位址指派給 VM,請在專案中設定
compute.networks.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 的 VM
您可以使用Google Cloud 控制台、Google Cloud CLI 或 REST,建立 A2 或 A3 加速器最佳化 VM。
控制台
- 前往 Google Cloud 控制台的「建立執行個體」頁面。
前往「建立執行個體」 - 在「名稱」欄位中,輸入執行個體的專屬名稱。請參閱資源命名慣例。
- 選取提供這些 GPU 機器類型的區域和可用區。請參閱 GPU 區域和可用區。
- 在機器類型部分中,選取「GPU」。
- 在「GPU type」(GPU 類型) 清單中,選取 GPU 類型。
- 如果是 A2 加速器最佳化 VM,請選取
NVIDIA A100 40GB或NVIDIA A100 80GB - 如果是 A3 加速器最佳化 VM,請選取
NVIDIA H100 80GB
- 如果是 A2 加速器最佳化 VM,請選取
- 在「Number of GPUs」(GPU 數量) 清單中,選取 GPU 數量。
- 在「GPU type」(GPU 類型) 清單中,選取 GPU 類型。
- 請按照下列步驟設定開機磁碟:
- 在「OS 和儲存空間」專區,點選「變更」。 系統會開啟「開機磁碟設定」頁面。
- 在「開機磁碟設定」頁面中,執行下列操作:
- 在「Public images」(公開映像檔) 分頁中,選擇支援的 Compute Engine 映像檔或 Deep Learning VM Images。
- 指定至少 40 GiB 的開機磁碟大小。
- 如要確認開機磁碟選項,請按一下「Select」(選取)。
- 設定佈建模型。 在「Advanced options」(進階選項) 部分的「VM provisioning model」(VM 佈建模型) 下方, 選取下列其中一個選項:
- 選用:在「On VM termination」(在 VM 終止時) 清單中,選取 Compute Engine 先占 Spot VM 時,或彈性啟動 VM 達到執行時間上限時,要採取的行動:
- 如要在搶占期間停止 VM,請選取「停止」 (預設)。
- 如要在先占期間刪除 VM,請選取「刪除」。
- 如要建立並啟動 VM,請按一下 [Create] (建立)。
gcloud
如要建立及啟動 VM,請使用
gcloud compute instances create指令搭配下列旗標。含 GPU 的 VM 無法即時遷移,因此請務必設定--maintenance-policy=TERMINATE標記。範例指令也會顯示
--provisioning-model旗標。這個旗標會設定 VM 的佈建模式。建立 GPU 數量少於 8 個的 A3 機型時,必須使用這個旗標,且必須設為SPOT或FLEX_START。如果是 A2 機器類型,這個旗標為選用項目。如未指定模型,系統會使用標準佈建模型。詳情請參閱「Compute Engine 執行個體佈建模型」。 取代下列項目: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=PROVISIONING_MODELVM_NAME:新 VM 的名稱。MACHINE_TYPE:A2 機型或 A3 機型,並搭配 1、2 或 4 個 GPU。如果是 A3 機器類型,您必須指定佈建模型。ZONE:VM 的可用區。這個可用區必須支援您選取的 GPU 型號。DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。指定開機磁碟大小,至少須有 40 GiB。IMAGE:支援 GPU 的作業系統映像檔。如要使用映像檔系列中的最新映像檔,請將--image旗標替換為--image-family旗標,並將其值設為支援 GPU 的映像檔系列。例如:--image-family=rocky-linux-8-optimized-gcp。
您也可以指定自訂映像檔或 深度學習 VM 映像檔。IMAGE_PROJECT:OS 映像檔所屬的 Compute Engine 映像檔專案。如果使用自訂映像檔或深度學習 VM 映像檔,請指定這些映像檔所屬的專案。PROVISIONING_MODEL:用於建立 VM 的佈建模式。您可以指定SPOT或FLEX_START。如果從指令中移除--provisioning-model旗標,系統就會使用標準佈建模型。建立 GPU 數量少於 8 個的 A3 VM 時,必須使用這個旗標。
REST
向
instances.insert方法傳送 POST 要求。含 GPU 的 VM 無法即時遷移,請務必將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": "SOURCE_IMAGE_URI" }, "boot": true } ], "name": "VM_NAME", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK" } ], "scheduling": { "onHostMaintenance": "terminate", "automaticRestart": true } }VM_NAME:新 VM 的名稱。PROJECT_ID:您的專案 ID。ZONE:VM 的可用區。這個可用區必須支援您選取的 GPU 型號。MACHINE_TYPE:A2 機型或 A3 機型,並搭配 1、2 或 4 個 GPU。如果是 A3 機器類型,您必須指定佈建模型。PROVISIONING_MODEL:VM 的佈建模型。 指定SPOT或FLEX_START。建立少於 8 個 GPU 的 A3 VM 時,必須填寫這個欄位。如果是 A2 VM,這個欄位為選填;如未指定模型,系統會使用標準佈建模型。詳情請參閱「Compute Engine 執行個體佈建模型」。SOURCE_IMAGE_URI:要使用的特定映像檔或映像檔系列的 URI。例如:- 特定圖片:
"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-10-optimized-gcp-v20251017" - 映像檔系列:
"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-10-optimized-gcp"
- 特定圖片:
DISK_SIZE:開機磁碟的大小 (以 GB 為單位)。指定至少 40 GB 的開機磁碟大小。NETWORK:您要用於 VM 的 VPC 網路。如要使用預設網路,請指定 `default`。
- 如要指定佈建模型,請將
"provisioningModel": "PROVISIONING_MODEL"欄位新增至要求中的scheduling物件。如果 A3 機型搭載的 GPU 不足 8 個,就必須使用這項功能。如果您指定建立 Spot VM,系統會忽略onHostMaintenance和automaticRestart欄位。"scheduling": { "onHostMaintenance": "terminate", "automaticRestart": true, "provisioningModel": "PROVISIONING_MODEL" }
安裝驅動程式
如要讓 VM 使用 GPU,您必須在 VM 上安裝 GPU 驅動程式。
範例
在這些範例中,大部分的 VM 都是使用 Google Cloud CLI 建立。不過,您也可以使用 Google Cloud console 或 REST 建立這些 VM。
以下範例說明如何使用標準 OS 映像檔建立 A3 Spot VM,以及如何使用 Deep Learning VM Images 映像檔建立 A2 VM。
使用 Debian 13 OS 映像檔系列建立 A3 Spot VM
這個範例會使用 Debian 13 OS 映像檔系列,建立 A3 (
a3-highgpu-1g) Spot VM。gcloud compute instances create VM_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --machine-type=a3-highgpu-1g \ --provisioning-model=SPOT \ --maintenance-policy=TERMINATE \ --image-family=debian-13 \ --image-project=debian-cloud \ --boot-disk-size=200GB \ --scopes=https://www.googleapis.com/auth/cloud-platform更改下列內容:
VM_NAME:VM 執行個體的名稱PROJECT_ID:您的專案 IDZONE:VM 執行個體的可用區
在 VM 上建立 Vertex AI Workbench 使用者自行管理的筆記本執行個體,並使用 A2 VM
這個範例會使用
tf2-ent-2-3-cu110Deep Learning VM Images 映像檔,建立 A2 Standard (a2-highgpu-1g) VM。在本範例中,指定了開機磁碟大小和範圍等選用標記。使用 DLVM 映像檔最容易上手,因為這些映像檔已預先安裝 NVIDIA 驅動程式和 CUDA 程式庫。
這些圖片也能提升效能。
NVIDIA A100 支援下列 DLVM 映像檔:
common-cu110:預先安裝 NVIDIA 驅動程式和 CUDAtf-ent-1-15-cu110:預先安裝 NVIDIA 驅動程式、CUDA、TensorFlow Enterprise 1.15.3tf2-ent-2-1-cu110:預先安裝 NVIDIA 驅動程式、CUDA、TensorFlow Enterprise 2.1.1tf2-ent-2-3-cu110:預先安裝 NVIDIA 驅動程式、CUDA、TensorFlow Enterprise 2.3.1pytorch-1-6-cu110:NVIDIA 驅動程式、CUDA、Pytorch 1.6
如要進一步瞭解可用的 DLVM 映像檔,以及映像檔上安裝的套件,請參閱深度學習 VM 說明文件。
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更改下列內容:
VM_NAME:VM 執行個體的名稱PROJECT_ID:您的專案 IDZONE:VM 執行個體的可用區
上述範例指令也會為 VM 產生 Vertex AI Workbench 使用者自行管理的筆記本執行個體。如要存取筆記本,請前往 Google Cloud 控制台,依序點選「Vertex AI Workbench」>「使用者自行管理的筆記本」頁面。
多執行個體 GPU
多執行個體 GPU 會將同一部 VM 中的單一 NVIDIA A100 或 NVIDIA H100 GPU 分割成最多七個獨立的 GPU 執行個體。這些執行緒會同時執行,各自擁有專屬的記憶體、快取和串流多處理器。與先前的 GPU 型號相比,NVIDIA A100 和 H100 GPU 的利用率最高可提高 7 倍,並提供一致的服務品質 (QoS)。
您最多可以建立七個多重執行個體 GPU。如果是 A100 40GB GPU,每個多重執行個體 GPU 會分配到 5 GB 的記憶體。使用 A100 80GB GPU 時,分配到的記憶體會加倍,每個 GPU 為 10 GB。使用 H100 80GB GPU 時,每個多重執行個體 GPU 也會分配到 10 GB 的記憶體。
如要進一步瞭解如何使用多例項 GPU,請參閱 NVIDIA 多例項 GPU 使用者指南。
如要建立多重執行個體 GPU,請完成下列步驟:
建立 A2 (A100) 或 A3 (H100) 加速器最佳化 VM 執行個體。
連線至 VM 執行個體。詳情請參閱「連線至 Linux VM」或「連線至 Windows VM」。
啟用 NVIDIA GPU 驅動程式。
啟用多執行個體 GPU。
sudo nvidia-smi -mig 1
查看可用的多執行個體 GPU 形狀。
sudo nvidia-smi mig --list-gpu-instance-profiles
輸出結果會與下列內容相似:
+-----------------------------------------------------------------------------+ | 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 | +-----------------------------------------------------------------------------+ .......
建立所需的多執行個體 GPU (GI) 和相關聯的運算執行個體 (CI)。您可以指定完整或縮短的設定檔名稱、設定檔 ID,或兩者的組合,藉此建立這些執行個體。詳情請參閱「建立 GPU 執行個體」。
以下範例會使用設定檔 ID (
9) 建立兩個MIG 3g.20gbGPU 執行個體。此外,系統也會指定
-C旗標,為必要設定檔建立相關聯的運算執行個體。sudo nvidia-smi mig -cgi 9,9 -C
確認已建立兩個多重執行個體 GPU:
sudo nvidia-smi mig -lgi
確認已建立 GI 和對應的 CI。
sudo nvidia-smi
輸出結果會與下列內容相似:
+-----------------------------------------------------------------------------+ | 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 | +-----------------------------------------------------------------------------+
後續步驟
- 進一步瞭解 GPU 平台。
- 如果是 A2 VM,請為 VM 新增本機 SSD。 如果您的應用程式需要高效能的儲存空間,本機 SSD 裝置和 GPU 是絕佳拍檔。A3 VM 預設會附加本機 SSD。
- 安裝 GPU 驅動程式。
- 如要處理 GPU 主機維護作業,請參閱「處理 GPU 主機維護事件」。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-12-10 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-12-10 (世界標準時間)。"],[],[]] -