Compute Engine 提供了可添加到虚拟机实例的图形处理单元 (GPU)。您可以使用这些 GPU 加速虚拟机上的特定工作负载,例如机器学习和数据处理。
在 Compute Engine 上运行 GPU 时,您只能使用两个机器系列:
- 加速器优化机器家族:A3、A2 和 G2。
- N1 通用机器系列。您可以使用大多数 N1 机器类型,但 N1 共享核心机器类型除外。如果您使用的不是 N1 通用机器,则可以更改为 N1 通用机器,然后添加 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.
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
加速器优化型虚拟机
每种加速器优化机器类型都挂接了特定型号的 NVIDIA GPU。
- 对于 A3 加速器优化机器类型,挂接了 NVIDIA H100 80GB GPU。以下是可用选项:
- A3 High (
a3-highgpu-8g
):此机器类型挂接了 H100 80GB GPU - A3 Mega (
a3-megagpu-8g
):此机器类型挂接了 H100 80GB Mega GPU
- A3 High (
- 对于 A2 加速器优化机器类型,挂接了 NVIDIA A100 GPU。以下是可用选项:
- A2 标准(
a2-highgpu-*
、a2-megagpu-*
):这些机器类型挂接了 A100 40GB GPU - A2 Ultra (
a2-ultragpu-*
):这些机器类型挂接了 A100 80GB GPU
- A2 标准(
- 对于 G2 加速器优化机器类型 (
g2-standard-*
),挂接了 NVIDIA L4 GPU。
您可以按如下方式修改每个加速器优化虚拟机:
对于 A2 Ultra 和所有 A3 虚拟机,您无法修改机器类型。如果您为虚拟机使用上述任何机器类型,并且需要更改机器类型,请创建新的虚拟机。
对于 A2 标准虚拟机,您可以通过从一种 A2 标准机器类型切换到另一种 A2 标准机器类型来修改 GPU 数量。
对于 G2 虚拟机,您可以执行以下操作:
- 您可以通过从一种 G2 机器类型切换到另一种 G2 机器类型来修改 GPU 数量。
- 您可以从 G2 机器类型切换到其他机器家族(例如通用或计算优化)的机器类型。请参阅修改虚拟机的机器类型。
您不能从任何加速器优化机器类型中移除 GPU。如果您不再需要 GPU,请完成以下操作:
- 对于所有 A3 或 A2 虚拟机,创建一个新的虚拟机。
- 对于 G2 虚拟机,请改用其他机器系列中的机器类型。
修改 GPU 数量
您可以使用 Google Cloud 控制台或 REST 修改 A2 标准或 G2 加速器优化型虚拟机的 GPU 数量。
控制台
您可以通过停止虚拟机并修改虚拟机配置来修改虚拟机的 GPU 数量。
确认虚拟机上的所有关键应用都已停止。
在 Google Cloud 控制台中,进入虚拟机实例页面查看虚拟机列表。
点击要为其修改 GPU 数量的虚拟机的名称。系统会打开详细信息页面。
在详细信息页面中完成以下步骤。
如果虚拟机正在运行,请点击工具栏中的
停止。然后,等待虚拟机停止。点击工具栏中的
修改。在机器配置部分中,选择 GPU 机器系列,然后执行以下操作:
在 GPU 数量列表中,增加或减少 GPU 数量。
如需应用更改,请点击保存。
如需重启虚拟机,请点击启动/恢复。
REST
您可以通过停止虚拟机并更改机器类型来修改虚拟机上的 GPU 数量。每种加速器优化机器类型都挂接了特定数量的 GPU。如果您更改机器类型,则会调整挂接到虚拟机的 GPU 数量。
确认虚拟机上的所有关键应用都已停止运行,然后创建 POST 命令来停止该虚拟机,使其可以转移到有可用 GPU 的主机系统。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
虚拟机停止后,创建 POST 请求以修改机器类型。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType { machineType: "zones/ZONE/machineTypes/MACHINE_TYPE" }
启动虚拟机。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
请替换以下内容:
限制
A2 虚拟机
- 使用 A2 标准机器类型的虚拟机不会获得持续使用折扣和灵活承诺使用折扣。
- 只能在某些区域和可用区中使用 A2 标准机器类型。
- 不能在使用 A2 标准机器类型的虚拟机上使用区域级永久性磁盘。
- A2 标准机器类型仅在 Cascade Lake 平台上提供。
- 如果您的虚拟机使用 A2 标准机器类型,您只能从一种 A2 标准机器类型切换到另一种 A2 标准机器类型。您无法切换到任何其他机器类型。如需了解详情,请参阅修改加速器优化虚拟机。
- 不能将 Windows 操作系统与 <codea2-megagpu-16g< code="" dir="ltr" translate="no"> A2 标准机器类型搭配使用。 使用 Windows 操作系统时,请选择其他 A2 标准机器类型。</codea2-megagpu-16g<>
- 不能在使用 A2 标准机器类型的 Windows 虚拟机上快速格式化挂接的本地 SSD。如需设置这些本地 SSD 的格式,您必须使用 diskpart 实用程序并指定
format fs=ntfs label=tmpfs
设置,以进行完整格式化。 - A2 标准机器类型不支持单租户。
G2 虚拟机
- 使用 G2 机器类型的虚拟机不会获得持续使用折扣和灵活承诺使用折扣。
- 只能在某些区域和可用区中使用 G2 机器类型。
- 不能在使用 G2 机器类型的虚拟机上使用区域级永久性磁盘。
- G2 机器类型仅在 Cascade Lake 平台上提供。
- 使用 G2 标准机器类型的虚拟机不支持标准永久性磁盘 (
pd-standard
)。如需了解支持的磁盘类型,请参阅 G2 支持的磁盘类型。 - 不能在 G2 机器类型上创建多实例 GPU。
- 如果您需要更改 G2 虚拟机的机器类型,请查看修改加速器优化虚拟机。
- 不能将 Deep Learning VM Image 映像用作使用 G2 机器类型的虚拟机的启动磁盘。
- Container-Optimized OS 的当前默认驱动程序不支持在 G2 机器类型上运行的 L4 GPU。Container-Optimized OS 也仅支持一组特定的驱动程序。如需在 G2 机器类型上使用 Container-Optimized OS,请查看以下说明:
- 使用支持推荐的最低 NVIDIA 驱动程序版本
525.60.13
或更高版本的 Container-Optimized OS 版本。如需了解详情,请查看 Container-Optimized OS 版本说明。 - 在安装驱动程序时,请指定适用于 L4 GPU 的最新可用版本。
例如
sudo cos-extensions install gpu -- -version=525.60.13
。
- 使用支持推荐的最低 NVIDIA 驱动程序版本
- 在以下情况下,您必须使用 Google Cloud CLI 或 REST 创建 G2 虚拟机:
- 您想要指定自定义内存值。
- 您想要自定义可见 CPU 核心数。
N1 通用虚拟机
本部分介绍如何在 N1 通用机器中添加、修改或移除 GPU。
概括来讲,在现有虚拟机中添加、修改或移除 GPU 的过程如下:
- 检查虚拟机的启动磁盘大小至少为 40 GB。
- 停止虚拟机。
添加、修改或移除 GPU。
如果您的虚拟机之前未挂接 GPU,则需要完成以下步骤:
- 准备虚拟机以进行修改。
- 修改虚拟机的主机维护设置。具有 GPU 的虚拟机无法实时迁移,因为它们已分配给特定的硬件设备。如需了解详情,请参阅 GPU 限制。
- 更改机器类型。仅部分机器类型支持 GPU。
- 在虚拟机上安装 GPU 驱动程序,以便系统可以使用该设备。
准备虚拟机
GPU 添加到虚拟机后,网络接口的顺序可能会改变。
Compute Engine 上的大多数公共映像都没有永久性网络接口名称,并根据新顺序进行调整。
但是,如果您使用的是 SLES 或自定义映像,则必须更新系统设置以防止网络接口存留。如需防止网络接口存留,请在虚拟机上运行以下命令:
rm /etc/udev/rules.d/70-persistent-net.rules
在现有虚拟机上添加 GPU 或修改 GPU 类型
本部分介绍如何在现有 N1 通用虚拟机上添加 GPU 或修改现有 GPU 类型。此过程支持以下 GPU 类型:
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) 许可添加到虚拟机。
控制台
如需添加 GPU 或修改 GPU 类型,请完成以下步骤。
确认虚拟机上的所有关键应用都已停止。
在 Google Cloud 控制台中,进入虚拟机实例页面查看虚拟机列表。
点击要更新的虚拟机的名称。系统会打开详细信息页面。
在详细信息页面中完成以下步骤。
如果虚拟机正在运行,请点击工具栏中的
停止。然后,等待虚拟机停止。点击工具栏中的
修改。在机器配置部分中,选择 GPU 机器系列,然后执行以下操作:
在 GPU 类型列表中,选择或切换到 N1 虚拟机支持的任何 GPU 类型。
在 GPU 数量列表中,选择 GPU 的数量。
如果 GPU 模型支持适用于图形工作负载的 NVIDIA RTX 虚拟工作站 (vWS),并且您计划在此虚拟机上运行图形密集型工作负载,请选择启用虚拟工作站 (NVIDIA GRID)。
如果您的虚拟机之前没有挂接 GPU,请完成以下操作:
如果虚拟机具有共享核心机器类型,则必须更改机器类型。在机器类型列表中,选择一个预设的 N1 机器类型。或者,您可以指定自定义机器类型设置。
在管理部分,完成以下操作:
在主机维护时列表中,选择终止虚拟机实例。挂接 GPU 的虚拟机无法实时迁移。请参阅处理 GPU 主机事件。
在自动重启列表中,选择开启。
如需应用更改,请点击保存。
如需重启虚拟机,请点击启动/恢复。
REST
您可以通过 API 停止虚拟机并更改虚拟机的配置来添加或修改虚拟机上的 GPU。
确认虚拟机上的所有关键应用都已停止运行,然后创建 POST 命令来停止该虚拟机,使其可以转移到有可用 GPU 的主机系统。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
如果您的虚拟机之前没有挂接 GPU,请完成以下步骤:
确定要添加到虚拟机的 GPU 类型。您可以提交
GET
请求,列出在特定可用区中可用于项目的 GPU 类型。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes
如果虚拟机具有共享核心机器类型,则必须更改机器类型,以具有一个或多个 vCPU。您无法将加速器添加到具有共享核心机器类型的虚拟机中。
创建 POST 命令,以设置虚拟机的时间安排选项。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "onHostMaintenance": "TERMINATE", "automaticRestart": true }
创建 POST 请求以添加或修改挂接到虚拟机的 GPU。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineResources { "guestAccelerators": [ { "acceleratorCount": ACCELERATOR_COUNT, "acceleratorType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE" } ] }
启动虚拟机。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
请替换以下内容:
PROJECT_ID
:您的项目 ID。VM_NAME
:要添加 GPU 的虚拟机的名称。ZONE
:该虚拟机所在的可用区。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
本节介绍如何从现有 N1 通用虚拟机中移除以下 GPU 类型。
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) 许可添加到虚拟机。
您可以使用 Google Cloud 控制台从现有虚拟机中移除 GPU。如需移除 GPU,请完成以下步骤:
确认虚拟机上的所有关键应用都已停止。
在 Google Cloud 控制台中,进入虚拟机实例页面以查看虚拟机列表。
点击要从中移除 GPU 的虚拟机的名称。系统会打开详细信息页面。
在详细信息页面中完成以下步骤。
如果虚拟机正在运行,请点击工具栏中的
停止。然后,等待虚拟机停止。点击工具栏中的
修改。在机器配置部分中,选择通用机器系列,然后执行以下操作:
如需查看挂接的 GPU,请展开高级配置。
在 GPU 部分中,使用以下选项之一移除 GPU:
如需移除一些 GPU,请在 GPU 数量列表中,选择一个新数量。
如需移除所有 GPU,请点击
删除 GPU。
可选:修改虚拟机主机维护政策设置。 具有 GPU 的虚拟机必须将主机维护政策设置为终止虚拟机实例。但是,如果您移除了所有 GPU,则可以选择在主机维护期间实时迁移此虚拟机。如需了解详情,请参阅设置虚拟机主机维护政策。
如需应用更改,请点击保存。
如需重启虚拟机,请点击启动/恢复。
后续步骤
- 详细了解 GPU 平台。
- 将本地 SSD 添加到实例。 如果您的应用需要高性能存储空间,本地 SSD 设备和 GPU 是绝佳拍档。
- 使用实例模板创建 GPU 实例组。
- 如需监控 GPU 性能,请参阅监控 GPU 性能。
- 如需提升网络性能,请参阅使用更高的网络带宽。
- 如需处理 GPU 主机维护,请参阅处理 GPU 主机事件。
- 试用使用 TensorRT5 和 NVIDIA T4 GPU 运行大规模 TensorFlow 推理工作负载教程。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-18。
- 对于 A3 加速器优化机器类型,挂接了 NVIDIA H100 80GB GPU。以下是可用选项: