本文說明如何建立使用 A3 High、A3 Mega、A3 Edge、A2 和 G2 機器系列的機器類型 VM。如要進一步瞭解如何建立連接 GPU 的 VM,請參閱建立附加 GPU 的執行個體總覽。
事前準備
- 如要查看建立附加 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
-
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.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the 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.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
必要的角色
如要取得建立 VM 所需的權限,請要求管理員為您授予專案的 Compute Instance Admin (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 的 VM
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST,建立 A3 High、A3 Mega、A3 Edge、A2 或 G2 加速器最佳化 VM。
如要對 G2 VM 進行部分自訂設定,您可能需要使用 Google Cloud CLI 或 REST。請參閱G2 限制。
主控台
前往 Google Cloud 控制台的「Create an instance」(建立執行個體) 頁面。
指定 VM 的「名稱」。請參閱「資源命名慣例」。
選取提供 GPU 的區域。請參閱可用的GPU 區域和可用區清單。
在「機器設定」專區中,選取「GPU」機器系列。
完成下列任一步驟,即可根據機器系列選取預先定義或自訂機器類型:
針對所有 GPU 機器系列,您可以選取下列預先定義的機器類型:
在「GPU type」清單中,選取 GPU 類型。
- 如果是 A3 High、A3 Mega 或 A3 Edge 加速器最佳化 VM,請選取
NVIDIA H100 80GB
或NVIDIA H100 80GB MEGA
。 - 針對 A2 加速器最佳化 VM,請選取
NVIDIA A100 40GB
或NVIDIA A100 80GB
。 - 針對 G2 加速器最佳化 VM,請選取
NVIDIA L4
。
- 如果是 A3 High、A3 Mega 或 A3 Edge 加速器最佳化 VM,請選取
在「Number of GPUs」(GPU 數量) 清單中,選取 GPU 數量。
針對 G2 機器系列,您可以選取自訂機器類型,如下所示:
- 在「GPU type」清單中,選取
NVIDIA L4
。 - 在「Machine type」(機器類型) 部分中,選取「Custom」(自訂)。
- 如要指定執行個體的 vCPU 數量和記憶體容量,請拖曳滑桿,或在文字方塊中輸入值。當您變更 vCPU 和記憶體的數量時,主控台會顯示執行個體的估計費用。
- 在「GPU type」清單中,選取
選用:G2 機器系列支援用於圖形工作負載的 NVIDIA RTX 虛擬工作站 (vWS)。如果您打算在 G2 VM 上執行需要大量圖形處理能力的工作負載,請選取「啟用虛擬工作站 (NVIDIA GRID)」。
在「Boot disk」(開機磁碟) 部分,按一下「Change」(變更)。系統會開啟「Boot disk configuration」頁面。
在「Boot disk configuration」(開機磁碟設定) 頁面中,執行下列操作:
- 在「Public images」分頁中,選擇支援的 Compute Engine 映像檔或深度學習 VM 映像檔。
- 請指定至少 40 GB 的開機磁碟大小。
- 如要確認開機磁碟選項,請按一下「選取」。
選用步驟:設定佈建模型。舉例來說,如果工作負載具備容錯能力,且能承受 VM 先占的影響,建議您使用 Spot VM 來降低 VM 和附加 GPU 的費用。詳情請參閱「Spot VM 上的 GPU」。如要這樣做,請按照下列步驟進行:
- 在「可用性政策」專區中,從「VM 佈建模型」清單中選取「Spot」。這個設定會停用 VM 的自動重新啟動和主機維護選項。
- 選用:在「On VM termination」清單中,選取 Compute Engine 搶先取得 VM 時的處理方式:
- 如要在先佔期間停止 VM,請選取「停止」 (預設)。
- 如要在優先取得期間刪除 VM,請選取「刪除」。
如要建立並啟動 VM,請按一下 [Create] (建立)。
gcloud
如要建立及啟動 VM,請使用 gcloud compute instances create
指令搭配下列旗標。含 GPU 的 VM 無法進行即時遷移,請務必設定 --maintenance-policy=TERMINATE
標記。
範例指令中顯示的選用標記如下:
--provisioning-model=SPOT
旗標,可將 VM 設為 Spot VM。如果您的工作負載具備容錯能力,且能承受 VM 先占的影響,建議您使用 Spot VM 來降低 VM 和連接 GPU 的費用。詳情請參閱「Spot VM 上的 GPU」。對於 Spot VM,自動重新啟動和主機維護選項標記會停用。--accelerator
標記,用於指定虛擬工作站。NVIDIA RTX 虛擬工作站 (vWS) 僅支援 G2 VM。
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]
VM_NAME
:新 VM 的名稱。MACHINE_TYPE
:您選取的機器類型。請選擇下列其中一個選項:ZONE
:VM 的可用區。這個區域必須支援所選 GPU 型號。DISK_SIZE
:開機磁碟的大小 (以 GB 為單位)。指定至少 40 GB 的開機磁碟大小。IMAGE
: 支援 GPU 的作業系統映像檔。如果您想使用映像檔系列中的最新映像檔,請將--image
標記替換為--image-family
標記,並將其值設為支援 GPU 的映像檔系列。例如:--image-family=rocky-linux-8-optimized-gcp
。
您也可以指定自訂映像檔或 深度學習 VM 映像檔。IMAGE_PROJECT
:OS 映像檔所屬的 Compute Engine 映像檔專案。如果使用自訂映像檔或深度學習 VM 映像檔,請指定這些映像檔所屬的專案。VWS_ACCELERATOR_COUNT
:所需的虛擬 GPU 數量。
REST
將 POST 要求傳送至 instances.insert
方法。含 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
:您選取的機器類型。請選擇下列其中一個選項:- A3 機型。
- A2 機器類型。
- G2 機型。G2 機器類型也支援自訂記憶體。記憶體必須是 1024 MB 的倍數,且須在支援的記憶體範圍內。例如,如要建立具有 4 個 vCPU 和 19 GB 記憶體的 VM,請指定
--machine-type=g2-custom-4-19456
。
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"
DISK_SIZE
:開機磁碟的大小 (以 GB 為單位)。請指定至少 40 GB 的開機磁碟大小。NETWORK
:您要用於 VM 的 VPC 網路。您可以指定 `default` 來使用預設網路。
- 如果工作負載具備容錯能力,且能承受 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" } ]
安裝驅動程式
如要讓 VM 使用 GPU,您必須在 VM 上安裝 GPU 驅動程式。
範例
在這些範例中,大多數的 VM 都是使用 Google Cloud CLI 建立。不過,您也可以使用 Google Cloud 控制台或 REST 建立這些 VM。
以下範例說明如何使用以下映像檔建立 VM:
- 深度學習 VM 映像檔。本範例使用 A2 Standard (
a2-highgpu-1g
) VM。 - Container-optimized (COS) image。本範例使用
a3-highgpu-8g
或a3-edgegpu-8g
VM。 公開圖片:本範例使用 G2 VM。
COS (A3 Edge/High)
您可以使用容器最佳化 (COS) 映像檔,建立已連結 H100 GPU 的 a3-edgegpu-8g
或 a3-highgpu-8g
VM。
如需有關如何建立使用 Container-Optimized OS 的 a3-edgegpu-8g
或 a3-highgpu-8g
VM 的詳細操作說明,請參閱「建立已啟用 GPUDirect-TCPX 的 A3 VM」。
公開 OS 映像檔 (G2)
您可以建立附加 GPU 的 VM,這些 VM 會使用 Compute Engine 提供的公開映像檔或自訂映像檔。
如要使用 Rocky Linux 8 映像檔系列 (已針對 Google Cloud 進行最佳化) 中的最新映像檔 (未淘汰) 建立 VM,並使用 g2-standard-8
機型,以及 NVIDIA RTX 虛擬工作站,請完成下列步驟:
建立 VM。在本例中,也會指定開機磁碟類型和大小等選用標記。
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
更改下列內容:
VM_NAME
:VM 名稱PROJECT_ID
:您的專案 ID。ZONE
:VM 的可用區。
安裝 NVIDIA 驅動程式和 CUDA。NVIDIA L4 GPU 需要 CUDA XX 以上版本。
DLVM 映像檔 (A2)
使用 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 說明文件。
使用
tf2-ent-2-3-cu110
映像檔和a2-highgpu-1g
機器類型建立 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
:您的專案 ID。ZONE
:VM 的可用區
上述範例指令也會為 VM 產生 Vertex AI Workbench 使用者管理型筆記本執行個體。如要存取筆記本,請前往 Google Cloud 控制台的 Vertex AI Workbench >「使用者自行管理的筆記本」頁面。
多執行個體 GPU (僅限 A3 和 A2 VM)
多執行個體 GPU 會將同一個 VM 中的單一 NVIDIA H100 或 A100 GPU 分割成最多七個獨立的 GPU 執行個體。這些處理器會同時執行,每個處理器都有自己的記憶體、快取和串流多處理器。這項設定可讓 NVIDIA H100 或 A100 GPU 提供保證的服務品質 (QoS),且比先前 GPU 型號的使用率高出 7 倍。
您最多可以建立七個多重執行個體 GPU。對於 A100 40GB GPU,每個多重執行個體 GPU 都會分配 5 GB 記憶體。使用 A100 80GB 和 H100 80GB GPU 時,系統會將分配的記憶體加倍至各 10 GB。
如要進一步瞭解如何使用多重實例 GPU,請參閱 NVIDIA 多重實例 GPU 使用者指南。
如要建立多重執行個體 GPU,請完成下列步驟:
建立 A3 High、A3 Mega、A3 Edge 或 A2 加速器最佳化 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.20gb
GPU 執行個體。您也可以指定
-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 平台。
- 為執行個體新增本機 SSD。如果您的應用程式需要高效能的儲存空間,本機 SSD 裝置和 GPU 是絕佳拍檔。
- 安裝 GPU 驅動程式。
- 如果您已啟用 NVIDIA RTX 虛擬工作站,請為虛擬工作站安裝驅動程式。
- 如要處理 GPU 主機維護作業,請參閱「處理 GPU 主機維護事件」。