添加或移除 GPU


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
  • 对于 A2 加速器优化机器类型,挂接了 NVIDIA A100 GPU。以下是可用选项:
    • A2 标准a2-highgpu-*a2-megagpu-*):这些机器类型挂接了 A100 40GB GPU
    • A2 Ultra (a2-ultragpu-*):这些机器类型挂接了 A100 80GB GPU
  • 对于 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 数量。

  1. 确认虚拟机上的所有关键应用都已停止。

  2. 在 Google Cloud 控制台中,进入虚拟机实例页面查看虚拟机列表。

    转到虚拟机实例

  3. 点击要为其修改 GPU 数量的虚拟机的名称。系统会打开详细信息页面。

  4. 详细信息页面中完成以下步骤。

    1. 如果虚拟机正在运行,请点击工具栏中的 停止。然后,等待虚拟机停止。

    2. 点击工具栏中的 修改

    3. 机器配置部分中,选择 GPU 机器系列,然后执行以下操作:

      1. GPU 数量列表中,增加或减少 GPU 数量。

    4. 如需应用更改,请点击保存

    5. 如需重启虚拟机,请点击启动/恢复

REST

您可以通过停止虚拟机并更改机器类型来修改虚拟机上的 GPU 数量。每种加速器优化机器类型都挂接了特定数量的 GPU。如果您更改机器类型,则会调整挂接到虚拟机的 GPU 数量。

  1. 确认虚拟机上的所有关键应用都已停止运行,然后创建 POST 命令来停止该虚拟机,使其可以转移到有可用 GPU 的主机系统。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    
  2. 虚拟机停止后,创建 POST 请求以修改机器类型。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType
    
    {
       machineType: "zones/ZONE/machineTypes/MACHINE_TYPE"
    }
    
  3. 启动虚拟机。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

请替换以下内容:

  • PROJECT_ID:您的项目 ID。
  • VM_NAME:要添加 GPU 的虚拟机的名称。
  • ZONE:该虚拟机所在的可用区。此可用区必须支持 GPU
  • MACHINE_TYPE:您要使用的机器类型。必须是以下类型之一:

    • 如果您的虚拟机使用 A2 标准机器,请选择其他 A2 机器类型
    • 如果您的虚拟机使用 G2 机器类型,请选择其他 G2 机器类型。G2 机器类型还支持自定义内存。内存必须是 1024 MB 的倍数且在支持的内存范围内。例如,如需创建具有 4 个 vCPU 和 19 GB 内存的虚拟机,请指定 --machine-type=g2-custom-4-19456

限制

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
  • 在以下情况下,您必须使用 Google Cloud CLI 或 REST 创建 G2 虚拟机
    • 您想要指定自定义内存值。
    • 您想要自定义可见 CPU 核心数。

N1 通用虚拟机

本部分介绍如何在 N1 通用机器中添加、修改或移除 GPU。

概括来讲,在现有虚拟机中添加、修改或移除 GPU 的过程如下:

  1. 检查虚拟机的启动磁盘大小至少为 40 GB。
  2. 停止虚拟机。
  3. 添加、修改或移除 GPU。

    如果您的虚拟机之前未挂接 GPU,则需要完成以下步骤:

    1. 准备虚拟机以进行修改。
    2. 修改虚拟机的主机维护设置。具有 GPU 的虚拟机无法实时迁移,因为它们已分配给特定的硬件设备。如需了解详情,请参阅 GPU 限制
    3. 更改机器类型。仅部分机器类型支持 GPU。
    4. 在虚拟机上安装 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 类型,请完成以下步骤。

  1. 确认虚拟机上的所有关键应用都已停止。

  2. 在 Google Cloud 控制台中,进入虚拟机实例页面查看虚拟机列表。

    转到虚拟机实例

  3. 点击要更新的虚拟机的名称。系统会打开详细信息页面。

  4. 详细信息页面中完成以下步骤。

    1. 如果虚拟机正在运行,请点击工具栏中的 停止。然后,等待虚拟机停止。

    2. 点击工具栏中的 修改

    3. 机器配置部分中,选择 GPU 机器系列,然后执行以下操作:

      1. GPU 类型列表中,选择或切换到 N1 虚拟机支持的任何 GPU 类型。

      2. GPU 数量列表中,选择 GPU 的数量。

      3. 如果 GPU 模型支持适用于图形工作负载的 NVIDIA RTX 虚拟工作站 (vWS),并且您计划在此虚拟机上运行图形密集型工作负载,请选择启用虚拟工作站 (NVIDIA GRID)

    4. 如果您的虚拟机之前没有挂接 GPU,请完成以下操作:

      1. 如果虚拟机具有共享核心机器类型,则必须更改机器类型。在机器类型列表中,选择一个预设的 N1 机器类型。或者,您可以指定自定义机器类型设置。

      2. 管理部分,完成以下操作:

        1. 主机维护时列表中,选择终止虚拟机实例。挂接 GPU 的虚拟机无法实时迁移。请参阅处理 GPU 主机事件

        2. 自动重启列表中,选择开启

    5. 如需应用更改,请点击保存

    6. 如需重启虚拟机,请点击启动/恢复

REST

您可以通过 API 停止虚拟机并更改虚拟机的配置来添加或修改虚拟机上的 GPU。

  1. 确认虚拟机上的所有关键应用都已停止运行,然后创建 POST 命令来停止该虚拟机,使其可以转移到有可用 GPU 的主机系统。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    
  2. 如果您的虚拟机之前没有挂接 GPU,请完成以下步骤:

    1. 确定要添加到虚拟机的 GPU 类型。您可以提交 GET 请求,列出在特定可用区中可用于项目的 GPU 类型。

      GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes
      
    2. 如果虚拟机具有共享核心机器类型,则必须更改机器类型,以具有一个或多个 vCPU。您无法将加速器添加到具有共享核心机器类型的虚拟机中。

    3. 创建 POST 命令,以设置虚拟机的时间安排选项。

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      
      {
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": true
      }
      
  3. 创建 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"
          }
         ]
        }
    
  4. 启动虚拟机。

    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 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

本节介绍如何从现有 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,请完成以下步骤:

  1. 确认虚拟机上的所有关键应用都已停止。

  2. 在 Google Cloud 控制台中,进入虚拟机实例页面以查看虚拟机列表。

    转到虚拟机实例

  3. 点击要从中移除 GPU 的虚拟机的名称。系统会打开详细信息页面。

  4. 详细信息页面中完成以下步骤。

    1. 如果虚拟机正在运行,请点击工具栏中的 停止。然后,等待虚拟机停止。

    2. 点击工具栏中的 修改

    3. 机器配置部分中,选择通用机器系列,然后执行以下操作:

      1. 如需查看挂接的 GPU,请展开高级配置

      2. GPU 部分中,使用以下选项之一移除 GPU:

        • 如需移除一些 GPU,请在 GPU 数量列表中,选择一个新数量。

        • 如需移除所有 GPU,请点击 删除 GPU

    4. 可选:修改虚拟机主机维护政策设置。 具有 GPU 的虚拟机必须将主机维护政策设置为终止虚拟机实例。但是,如果您移除了所有 GPU,则可以选择在主机维护期间实时迁移此虚拟机。如需了解详情,请参阅设置虚拟机主机维护政策

    5. 如需应用更改,请点击保存

    6. 如需重启虚拟机,请点击启动/恢复

后续步骤