您可以使用大量建立程序,建立一組已連結圖形處理器 (GPU)的虛擬機器 (VM)。透過大量建立程序,您可以事先進行驗證,如果要求不可行,系統會立即失敗。此外,如果您使用區域標記,大量建立 API 會自動選擇可滿足要求的區域。
如要進一步瞭解大量建立作業,請參閱「關於大量建立虛擬機」。如要進一步瞭解如何建立連接 GPU 的 VM,請參閱建立附加 GPU 的執行個體總覽。
事前準備
- 如要查看建立附加 GPU 的執行個體的限制和其他必要步驟 (例如選取 OS 映像檔和檢查 GPU 配額),請參閱「建立附加 GPU 的執行個體總覽」。
- 如要查看大量建立的限制,請參閱「關於大量建立 VM」。
-
如果尚未設定,請先設定驗證機制。「驗證」是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,以便對 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
gcloud
-
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.
- Set a default region and zone.
-
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
磁碟上的權限 - A4X 機器類型連接的是 NVIDIA GB200 超級晶片。
- A4 機器類型連接的是 NVIDIA B200 GPU。
- A3 機器類型連接的是 NVIDIA H100 80GB 或 NVIDIA H200 141GB GPU,這些選項可用於下列選項:
- A3 Ultra:這類機型連接 H200 141GB GPU
- A3 Mega:這類機型連接 H100 80GB GPU
- A3 High:這類機型連接 H100 80GB GPU
- A3 Edge:這類機型連接 H100 80GB GPU
- A2 機器類型連接的是 NVIDIA A100 GPU,這些選項如下:
- A2 Ultra:這類機型連接 A100 80GB GPU
- A2 Standard:這類機型連接 A100 40GB GPU
- G2 機器類型連接的是 NVIDIA L4 GPU。
--provisioning-model=SPOT
是選用標記,可將 VM 設為 Spot VM。如果您的工作負載具備容錯能力,且能承受 VM 先占的影響,請考慮使用 Spot VM 來降低 VM 和附加 GPU 的成本。詳情請參閱「Spot VM 上的 GPU」。對於 Spot VM,系統會停用自動重新啟動和主機維護選項標記。--accelerator
標記,用於指定虛擬工作站。NVIDIA RTX 虛擬工作站 (vWS) 僅支援 G2 VM。- VM 名稱:
my-test-vm-1
、my-test-vm-2
- 每個 VM 都會連接兩個 GPU,這可透過使用適當的加速器最佳化機器類型指定
REGION
:VM 的區域。這個區域必須支援所選的 GPU 型號。MACHINE_TYPE
:您選取的機器類型。請選擇下列任一做法:IMAGE
:支援 GPU 的作業系統映像檔。如果您想使用映像檔系列中的最新映像檔,請將
--image
標記替換為--image-family
標記,並將其值設為支援 GPU 的映像檔系列。例如:--image-family=rocky-linux-8-optimized-gcp
。您也可以指定自訂映像檔或深度學習 VM 映像檔。
IMAGE_PROJECT
:OS 映像檔所屬的 Compute Engine 映像檔專案。如果使用自訂映像檔或深度學習 VM 映像檔,請指定這些映像檔所屬的專案。VWS_ACCELERATOR_COUNT
:您需要的虛擬 GPU 數量。- VM 名稱:
my-test-vm-1
、my-test-vm-2
每個 VM 都會連接兩個 GPU,這可透過使用適當的加速器最佳化機器類型指定
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] } } }
PROJECT_ID
:您的專案 IDREGION
:VM 的區域。這個區域必須支援所選的 GPU 型號。MACHINE_TYPE
:您選取的機器類型。請選擇下列任一做法:SOURCE_IMAGE_URI
:您要使用的特定圖片或圖片系列的 URI。例如:
- 特定圖片:
"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
- 圖片系列:
"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
。
指定映像檔系列後,Compute Engine 會使用該系列中未淘汰的最新 OS 映像檔建立 VM。如要進一步瞭解何時使用映像檔系列,請參閱映像檔系列最佳做法。
- 特定圖片:
如果工作負載具備容錯能力,且能承受 VM 先占的影響,建議您使用 Spot VM 來降低 VM 和已連結 GPU 的費用。詳情請參閱「Spot VM 上的 GPU」。如要使用 Spot VM,請在要求中加入
"provisioningModel": "SPOT
選項。對於 Spot VM,自動重新啟動和主機維護選項標記會停用。"scheduling": { "provisioningModel": "SPOT" }
G2 VM 支援 NVIDIA RTX 虛擬工作站 (vWS)。如要指定虛擬工作站,請在要求中新增
guestAccelerators
選項。將VWS_ACCELERATOR_COUNT
替換為所需的虛擬 GPU 數量。"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONEacceleratorTypes/nvidia-l4-vws" } ]
- NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- NVIDIA T4 虛擬工作站:
nvidia-tesla-t4-vws
- NVIDIA P4 虛擬工作站:
nvidia-tesla-p4-vws
NVIDIA P100 虛擬工作站:
nvidia-tesla-p100-vws
對於這些虛擬工作站,系統會自動將 NVIDIA RTX 虛擬工作站 (vWS) 授權新增至 VM。
- VM 名稱:
my-test-vm-1
、my-test-vm-2
- 在
us-central1
中支援 GPU 的任何可用區建立的 VM - 每個 VM 都會連接兩個 T4 GPU,這可使用加速器類型和加速器計數標記指定
- 每個 VM 都已安裝 GPU 驅動程式
- 每個 VM 都使用深度學習 VM 映像檔
pytorch-latest-gpu-v20211028-debian-10
- VM 名稱:
my-test-vm-1
、my-test-vm-2
- 在
us-central1
中支援 GPU 的任何可用區建立的 VM - 每個 VM 都會連接兩個 T4 GPU,這可使用加速器類型和加速器計數標記指定
- 每個 VM 都已安裝 GPU 驅動程式
- 每個 VM 都使用深度學習 VM 映像檔
pytorch-latest-gpu-v20211028-debian-10
瞭解如何監控 GPU 效能。
瞭解如何使用更高的網路頻寬。
瞭解如何處理 GPU 主機維護事件。
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 驗證說明文件中的「驗證以使用 REST」。
必要的角色
如要取得建立 VM 所需的權限,請要求管理員為您授予專案的 Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。這個預先定義的角色包含建立 VM 所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要建立 VM,您必須具備下列權限:
總覽
使用大量建立方法建立連結 GPU 的 VM 時,您可以選擇在區域 (例如
us-central1
) 或特定可用區 (例如us-central1-a
) 中建立 VM。如果您選擇指定區域,Compute Engine 會將 VM 放置在支援 GPU 的區域內的任何區域。
機器類型
加速器最佳化機器系列包含多種機器類型。
每個加速器最佳化機型均連接特定型號的 NVIDIA GPU。
建立 A3、A2 和 G2 VM 群組
本節說明如何使用 Google Cloud CLI 或 REST,為 A3 High、A3 Mega、A3 Edge、A2 和 G2 機器系列大量建立執行個體。
gcloud
如要建立一組 VM,請使用
gcloud compute instances bulk create
指令。如要進一步瞭解參數和使用這項指令的方式,請參閱「大量建立 VM」。範例指令中顯示以下可選標記:
示例
本範例會使用下列規格建立兩個已連接 GPU 的 VM:
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]
更改下列內容:
如果成功,輸出結果會與下列內容相似:
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
使用
instances.bulkInsert
方法和必要參數,即可在一個區域中建立多個 VM。如要進一步瞭解參數和使用這項指令的方式,請參閱「大量建立 VM」。示例
本範例會使用下列規格建立兩個已連接 GPU 的 VM:
更改下列內容:
其他設定:
建立 N1 一般用途 VM 群組
您可以使用 Google Cloud CLI 或 REST 建立一組連結 GPU 的 VM。
本節說明如何使用下列 GPU 類型建立多個 VM:
NVIDIA GPU:
NVIDIA RTX 虛擬工作站 (vWS) (舊稱 NVIDIA GRID):
gcloud
如要建立一組 VM,請使用
gcloud compute instances bulk create
指令。如要進一步瞭解參數和使用這項指令的方式,請參閱「大量建立 VM」。示例
以下範例會使用下列規格,建立兩個連結 GPU 的 VM:
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
如果成功,輸出結果會與下列內容相似:
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
使用
instances.bulkInsert
方法搭配必要參數,即可在一個可用區中建立多個 VM。如要進一步瞭解參數和使用這項指令的方式,請參閱「大量建立 VM」。示例
以下範例會使用下列規格,建立兩個連結 GPU 的 VM:
將
PROJECT_ID
替換為您的專案 ID。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/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" } ] } } }
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-06-16 (世界標準時間)。
-