本文档介绍如何创建挂接 GPU 并使用 N1 机器家族的虚拟机。您可以使用大多数 N1 机器类型,但 N1 shared-core
除外。
准备工作
- 如需查看其他前提条件步骤(例如选择操作系统映像和检查 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.
-
针对项目的
compute.instances.create
权限 -
使用自定义映像创建虚拟机:针对映像的
compute.images.useReadOnly
权限 -
使用快照创建虚拟机:针对快照的
compute.snapshots.useReadOnly
权限 -
使用实例模板创建虚拟机:针对实例模板的
compute.instanceTemplates.useReadOnly
权限 -
为虚拟机分配旧版网络:针对项目的
compute.networks.use
权限 -
为虚拟机指定静态 IP 地址:针对项目的
compute.addresses.use
权限 -
使用旧版网络时为虚拟机分配外部 IP 地址:针对项目的
compute.networks.useExternalIp
权限 -
为虚拟机指定子网:针对项目或所选子网的
compute.subnetworks.use
权限 -
在使用 VPC 网络时为虚拟机分配外部 IP 地址:针对项目或所选子网的
compute.subnetworks.useExternalIp
权限 -
为虚拟机设置虚拟机实例元数据:针对项目的
compute.instances.setMetadata
权限 -
为虚拟机设置标记:针对虚拟机的
compute.instances.setTags
权限 -
为虚拟机设置标签:针对虚拟机的
compute.instances.setLabels
权限 -
为虚拟机设置要使用的服务账号:针对虚拟机的
compute.instances.setServiceAccount
权限 -
为虚拟机创建新磁盘:针对项目的
compute.disks.create
权限 -
以只读或读写模式挂接现有磁盘:针对磁盘的
compute.disks.use
权限 -
以只读模式挂接现有磁盘:针对磁盘的
compute.disks.useReadOnly
权限 - 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) 许可添加到虚拟机。
在 Google Cloud 控制台中,前往创建实例页面。
为您的虚拟机指定名称。请参阅资源命名惯例。
选择 GPU 可用的区域和可用区。查看可用的 GPU 可用区列表。
在机器配置部分中,选择 GPU 机器系列,然后执行以下操作:
- 在 GPU 类型列表中,选择 N1 机器支持的一个 GPU 模型。
- 在 GPU 数量列表中,选择 GPU 的数量。
如果 GPU 模型支持适用于图形工作负载的 NVIDIA RTX 虚拟工作站 (vWS),并且您计划在此虚拟机上运行图形密集型工作负载,请选择启用虚拟工作站 (NVIDIA GRID)。
在机器类型列表中,选择一个预设的 N1 机器类型。或者,您可以指定自定义机器类型设置。
在启动磁盘部分中,点击更改。此时会打开启动磁盘配置页面。
在启动磁盘配置页面上,执行以下操作:
- 在公共映像标签页中,选择支持的 Compute Engine 映像或 Deep Learning VM Image 映像。
- 请指定至少为 40 GB 的启动磁盘大小。
- 如需确认您的启动磁盘选项,请点击选择。
可选:在虚拟机配置模型列表中,选择配置模型。
要创建并启动该虚拟机,请点击创建。
VM_NAME
:新虚拟机的名称。MACHINE_TYPE
:您为虚拟机选择的机器类型。ZONE
:虚拟机的可用区。此可用区必须支持该 GPU 类型。DISK_SIZE
:您的启动磁盘的大小(以 GB 为单位)。 请指定至少为 40 GB 的启动磁盘大小。支持 GPU 的
IMAGE
或IMAGE_FAMILY
。指定以下其中一项:IMAGE
:所需的公共映像版本。例如--image debian-10-buster-v20200309
。IMAGE_FAMILY
:映像系列。此项表示通过最新的未弃用的操作系统映像创建虚拟机。例如,如果您指定--image-family debian-10
,则 Compute Engine 会通过 Debian 10 映像系列中最新版本的操作系统映像创建虚拟机。
您也可以指定自定义映像或 Deep Learning VM Image 映像。
IMAGE_PROJECT
:映像系列所属的 Compute Engine 映像项目。如果使用自定义映像或 Deep Learning VM Image 映像,请指定这些映像所属的项目。ACCELERATOR_COUNT
:要添加到虚拟机的 GPU 数量。如需查看基于虚拟机机器类型的 GPU 限制列表,请参阅 Compute Engine 上的 GPU。ACCELERATOR_TYPE
:您要使用的 GPU 模型。如果您计划在此虚拟机上运行图形密集型工作负载,请使用一个虚拟工作站模型。请选择以下某个值:
NVIDIA GPU:
- NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- NVIDIA T4:
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) 许可添加到虚拟机。
- NVIDIA T4 虚拟工作站:
PROJECT_ID
:项目 ID。ZONE
:要列出其提供的 GPU 类型的可用区。VM_NAME
:虚拟机的名称。PROJECT_ID
:您的项目 ID。ZONE
:虚拟机的可用区。此可用区必须支持该 GPU 类型。MACHINE_TYPE
:您为虚拟机选择的机器类型。如需查看基于您所需的 GPU 数量适用的机器类型,请参阅 Compute Engine 上的 GPUIMAGE
或IMAGE_FAMILY
:指定以下其中一项:IMAGE
:所需的公共映像版本。例如"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
:映像系列。此项表示通过最新的未弃用的操作系统映像创建虚拟机。例如,如果您指定"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
,则 Compute Engine 会通过 Debian 10 映像系列中最新版本的操作系统映像创建虚拟机。
您也可以指定自定义映像或 Deep Learning VM Image 映像。
IMAGE_PROJECT
:映像系列所属的 Compute Engine 映像项目。如果使用自定义映像或 Deep Learning VM Image 映像,请指定这些映像所属的项目。DISK_SIZE
:您的启动磁盘的大小(以 GB 为单位)。 请指定至少为 40 GB 的启动磁盘大小。NETWORK
:您要用于虚拟机的 VPC 网络。您可以指定default
来使用默认网络。ACCELERATOR_COUNT
:要添加到虚拟机的 GPU 数量。如需查看基于虚拟机机器类型的 GPU 限制列表,请参阅 Compute Engine 上的 GPU。ACCELERATOR_TYPE
:您要使用的 GPU 模型。如果您计划在此虚拟机上运行图形密集型工作负载,请使用一个虚拟工作站模型。请选择以下某个值:
NVIDIA GPU:
- NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- NVIDIA T4:
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) 许可添加到虚拟机。
- NVIDIA T4 虚拟工作站:
- 如果您计划运行图形密集型工作负载(例如用于游戏和可视化的工作负载),请为 NVIDIA RTX 虚拟工作站安装驱动程序。
- 对于大多数工作负载,请安装 GPU 驱动程序。
- 详细了解 GPU 平台。
- 将本地 SSD 添加到实例。 如果您的应用需要高性能存储空间,本地 SSD 设备和 GPU 是绝佳拍档。
- 安装 GPU 驱动程序。 如果您启用了 NVIDIA RTX 虚拟工作站,请为虚拟工作站安装驱动程序。
- 如需处理 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 时进行身份验证。
所需的角色
如需获得创建虚拟机所需的权限,请让您的管理员为您授予项目的 Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。此预定义角色可提供创建虚拟机所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
创建虚拟机需要以下权限:
概览
以下 GPU 型号可以挂接到使用 N1 机器家族的虚拟机。
NVIDIA GPU:
NVIDIA RTX 虚拟工作站 (vWS)(以前称为 NVIDIA GRID):
创建挂接了 GPU 的虚拟机
您可以使用Google Cloud 控制台、Google Cloud CLI 或 REST 创建挂接 GPU 的 N1 虚拟机。
控制台
gcloud
要创建并启动虚拟机,请使用带有以下标志的
gcloud compute instances create
命令。如果您的工作负载具有容错能力,并且可以承受可能的虚拟机抢占,请考虑使用 Spot 虚拟机来降低虚拟机和挂接的 GPU 的费用。如需了解详情,请参阅Spot 虚拟机上的 GPU。
--provisioning-model=SPOT
是一个可选标志,用于将虚拟机配置为抢占式虚拟机。对于 Spot 虚拟机,自动重启和主机维护选项标志处于停用状态。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]
替换以下内容:
示例
例如,您可以使用以下
gcloud
命令在us-east1-d
可用区中启动配备 1 个 NVIDIA T4 GPU 和 2 个 vCPU 的 Ubuntu 22.04 虚拟机。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
确定要添加到虚拟机的 GPU 类型。提交 GET 请求,列出在特定区域中可用于项目的 GPU 类型。
如果您的工作负载具有容错能力,并且可以承受可能的虚拟机抢占,请考虑使用 Spot 虚拟机来降低虚拟机和挂接的 GPU 的费用。如需了解详情,请参阅Spot 虚拟机上的 GPU。
"provisioningModel": "SPOT"
是一个可选参数,用于将虚拟机配置为抢占式虚拟机。对于 Spot 虚拟机,自动重启和主机维护选项标志处于停用状态。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes
替换以下内容:
向
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"] }, }
请替换以下内容:
安装驱动程序
如需安装驱动程序,请选择以下选项之一:
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-06-20。
-