Compute Engine 上的 GPU

Compute Engine 提供了可添加到虚拟机实例的图形处理单元 (GPU)。您可以使用这些 GPU 加速实例上的特定工作负载,例如机器学习和数据处理。

如果您的工作负载属于图形密集型(例如 3D 可视化、3D 渲染或虚拟应用),则可以创建采用 NVIDIA® GRID® 技术的虚拟工作站。如需了解适用于图形密集型应用的 GPU,请参阅面向图形工作负载的 GPU

本文档简要介绍了 Compute Engine 上的 GPU。如需详细了解如何使用 GPU,请查看以下资源:

简介

Compute Engine 以直通模式为您的实例提供 NVIDIA® Tesla® GPU,让您的虚拟机实例可以直接控制 GPU 及其关联的内存。

对于计算工作负载,可在以下阶段使用 GPU 模型:

  • NVIDIA® Tesla® T4:nvidia-tesla-t4 全面推出

  • NVIDIA® Tesla® V100:nvidia-tesla-v100已全面推出

  • NVIDIA® Tesla® P100:nvidia-tesla-p100已全面推出

  • NVIDIA® Tesla® P4:nvidia-tesla-p4已全面推出

  • NVIDIA® Tesla® K80:nvidia-tesla-k80 全面推出

对于图形工作负载,可在以下阶段使用 GPU 模型:

  • NVIDIA® Tesla® T4 虚拟工作站:nvidia-tesla-t4-vws 全面推出
  • NVIDIA® Tesla® P100 虚拟工作站:nvidia-tesla-p100-vws已全面推出
  • NVIDIA® Tesla® P4 虚拟工作站:nvidia-tesla-p4-vws 全面推出

如需了解适用于虚拟工作站的 GPU,请参阅面向图形工作负载的 GPU

您只能将 GPU 挂接到预定义自定义机器类型的实例。共享核心内存优化机器类型不支持 GPU。

如果实例挂接的 GPU 数量较少,其 vCPU 数量上限会受到限制。通常情况下,如果 GPU 数量较多,您就能够创建配备较多 vCPU 和较高内存的实例。

面向计算工作负载的 GPU

GPU 模型 GPU 数量 GPU 内存 可用 vCPU 数量 可用内存 适用地区
NVIDIA® Tesla® T4 1 个 GPU 16 GB GDDR6 1 - 24 个 vCPU 1 - 156 GB
  • asia-east1-a
  • asia-northeast1-a
  • asia-northeast1-c
  • asia-northeast3-b
  • asia-northeast3-c
  • asia-south1-a
  • asia-south1-b
  • asia-southeast1-b
  • asia-southeast1-c
  • europe-west2-a
  • europe-west2-b
  • europe-west3-b
  • europe-west4-b
  • europe-west4-c
  • southamerica-east1-c
  • us-central1-a
  • us-central1-b
  • us-central1-f
  • us-east1-c
  • us-east1-d
  • us-west1-a
  • us-west1-b
2 个 GPU 32 GB GDDR6 1 - 48 个 vCPU 1 - 312 GB
4 个 GPU 64 GB GDDR6 1 - 96 个 vCPU 1 - 624 GB
NVIDIA® Tesla® P4 1 个 GPU 8 GB GDDR5 1 - 24 个 vCPU 1 - 156 GB
  • asia-southeast1-b
  • asia-southeast1-c
  • australia-southeast1-a
  • australia-southeast1-b
  • europe-west4-b
  • europe-west4-c
  • northamerica-northeast1-a
  • northamerica-northeast1-b
  • northamerica-northeast1-c
  • us-central1-a
  • us-central1-c
  • us-east4-a
  • us-east4-b
  • us-east4-c
  • us-west2-b
  • us-west2-c
2 个 GPU 16 GB GDDR5 1 - 48 个 vCPU 1 - 312 GB
4 个 GPU 32 GB GDDR5 1 - 96 个 vCPU 1 - 624 GB
NVIDIA® Tesla® V100 1 个 GPU 16 GB HBM2 1 - 12 个 vCPU 1 - 78 GB
  • asia-east1-c
  • europe-west4-a
  • europe-west4-b
  • europe-west4-c
  • us-central1-a
  • us-central1-b
  • us-central1-c
  • us-central1-f
  • us-west1-a
  • us-west1-b
2 个 GPU 32 GB HBM2 1 - 24 个 vCPU 1 - 156 GB
4 个 GPU 64 GB HBM2 1 - 48 个 vCPU 1 - 312 GB
8 个 GPU 128 GB HBM2 1 - 96 个 vCPU 1 - 624 GB
NVIDIA® Tesla® P100 1 个 GPU 16 GB HBM2 1 - 16 个 vCPU 1 - 104 GB
  • asia-east1-a
  • asia-east1-c
  • australia-southeast1-c
  • us-central1-c
  • us-central1-f
  • us-east1-b
  • us-east1-c
  • us-west1-a
  • us-west1-b
  • europe-west1-b
  • europe-west1-d
  • europe-west4-a
2 个 GPU 32 GB HBM2 1 - 32 个 vCPU 1 - 208 GB
4 个 GPU 64 GB HBM2

1 - 64 个 vCPU
(us-east1-c、europe-west1-d、europe-west1-b)

1 - 96 个 vCPU
(其他所有地区)

1 - 208 GB
(us-east1-c、europe-west1-d、europe-west1-b)

1 - 624 GB
(其他所有地区)

NVIDIA® Tesla® K80 1 个 GPU 12 GB GDDR5 1 - 8 个 vCPU 1 - 52 GB
  • asia-east1-a
  • asia-east1-b
  • europe-west1-b
  • europe-west1-d
  • us-central1-a
  • us-central1-c
  • us-east1-c
  • us-east1-d
  • us-west1-b
2 个 GPU 24 GB GDDR5 1 - 16 个 vCPU 1 - 104 GB
4 个 GPU 48 GB GDDR5 1 - 32 个 vCPU 1 - 208 GB
8 个 GPU 96 GB GDDR5 1 - 64 个 vCPU

1 - 416 GB
(asia-east1-a 和 us-east1-d)

1 - 208 GB
(其他所有地区)

注意:
  • 如需了解地区的详细说明,请参阅区域和地区
  • NVIDIA® K80® 主板分别包含两个 GPU。K80 GPU 的价格取决于各个 GPU,而不是主板。

与 vCPU 类似,GPU 设备也可以享有持续使用折扣。如需了解 GPU 设备的每小时价格和每月价格,请参阅 GPU 价格页面

对于多 GPU 工作负载,V100 GPU 提供了高速 NVLink™ 连接,以便 GPU 之间进行通信。

如需了解您的 GPU 如何相互连接以及如何与 CPU 连接,请在您的实例上运行以下命令:

nvidia-smi topo -m
    

如需了解 NVLink 及其优势,请参阅 NVIDIA 开发者博客

面向图形工作负载的 NVIDIA® GRID® GPU

如果您的工作负载属于图形密集型(例如 3D 可视化),您可以创建使用 NVIDIA GRID® 平台的虚拟工作站。

如需了解 GRID 的背景信息,请参阅 GRID 概览

当您为虚拟工作站选择 GPU 时,系统会为您的实例添加 NVIDIA GRID 许可。为了支持您的虚拟工作站上的 GPU,需要安装 GRID 驱动程序

创建虚拟工作站后,您可以使用远程桌面协议(例如 Teradici® PCoIP 或 VMware® Horizon View)连接到该工作站。

GPU 模型 GPU 数量 GPU 内存 可用 vCPU 数量 可用内存 适用地区
NVIDIA® Tesla® T4 虚拟工作站 1 个 GPU 16 GB GDDR6 1 - 24 个 vCPU 1 - 156 GB
  • asia-east1-a
  • asia-northeast1-a
  • asia-northeast1-c
  • asia-northeast3-b
  • asia-northeast3-c
  • asia-south1-a
  • asia-south1-b
  • asia-southeast1-b
  • asia-southeast1-c
  • europe-west2-a
  • europe-west2-b
  • europe-west3-b
  • europe-west4-b
  • europe-west4-c
  • southamerica-east1-c
  • us-central1-a
  • us-central1-b
  • us-central1-f
  • us-east1-c
  • us-east1-d
  • us-west1-a
  • us-west1-b
2 个 GPU 32 GB GDDR6 1 - 48 个 vCPU 1 - 312 GB
4 个 GPU 64 GB GDDR6 1 - 96 个 vCPU 1 - 624 GB
NVIDIA® Tesla® P4 虚拟工作站 1 个 GPU 8 GB GDDR5 1 - 16 个 vCPU 1 - 156 GB
  • asia-southeast1-b
  • asia-southeast1-c
  • australia-southeast1-a
  • australia-southeast1-b
  • europe-west4-b
  • europe-west4-c
  • northamerica-northeast1-a
  • northamerica-northeast1-b
  • northamerica-northeast1-c
  • us-central1-a
  • us-central1-c
  • us-east4-a
  • us-east4-b
  • us-east4-c
  • us-west2-c
  • us-west2-b
2 个 GPU 16 GB GDDR5 1 - 48 个 vCPU 1 - 312 GB
4 个 GPU 32 GB GDDR5 1 - 96 个 vCPU 1 - 624 GB
NVIDIA® Tesla® P100 虚拟工作站 1 个 GPU 16 GB HBM2 1 - 16 个 vCPU 1 - 104 GB
  • asia-east1-a
  • asia-east1-c
  • australia-southeast1-c
  • europe-west1-b
  • europe-west1-d
  • europe-west4-a
  • us-central1-c
  • us-central1-f
  • us-east1-b
  • us-east1-c
  • us-west1-b
2 个 GPU 32 GB HBM2 1 - 32 个 vCPU 1 - 208 GB
4 个 GPU 64 GB HBM2

1 - 64 个 vCPU
(us-east1-c、europe-west1-d、europe-west1-b)

1 - 96 个 vCPU
(其他所有地区)

1 - 208 GB
(us-east1-c、europe-west1-d、europe-west1-b)

1 - 624 GB
(其他所有地区)

网络带宽和 GPU

较高的网络带宽可以提升分布式工作负载的性能。在 Compute Engine 上,网络带宽取决于机器类型和 CPU 数量。对于挂接 GPU 的虚拟机实例,您的 GPU 数量、CPU 和内存的配置也会影响网络带宽。另外,要实现 50-100 Gbps 的速率(现处于 Beta 版阶段),虚拟机实例必须使用 Compute Engine 虚拟网络接口 (gVNIC)

Compute Engine 提供的最大带宽如下所示:

  • 对于挂接 P100、P4 和 K80 GPU 的虚拟机实例,最大带宽为 32 Gbps。这与没有挂接 GPU 的虚拟机实例可用的最大速率类似。如需详细了解网络带宽,请参阅出站数据速率上限
  • 对于挂接 V100 和 T4 GPU 的虚拟机实例,您现在可以获得高达 50 或 100 Gbps 的最大带宽,具体取决于 GPU 数量。要创建挂接 V100 和 T4 GPU 且使用的网络带宽高达 100 Gbps 的虚拟机实例,请参阅使用高达 100 Gbps 的网络带宽

带宽配置

下表总结了适用于不同虚拟机配置(T4 和 V100 GPU 类型)的可用网络带宽。

系统会根据虚拟机实例配置自动应用网络带宽。例如,如果您的虚拟机实例配备了 1 个 V100 单核 GPU、12 个 vCPU 和 78 GB 的内存,则最大网络带宽为 24 Gbps。

V100 虚拟机实例配置 网络带宽
GPU 数量
vCPU 数量 内存
1 12 78 GB 24 Gbps
2 24 156 GB 32 Gbps
4 48 312 GB 50 Gbps(Beta 版)
8 96 624 GB 100 Gbps(Beta 版)
T4 虚拟机实例配置 网络带宽
GPU 数量
vCPU 数量 内存
1 24 156 GB 32 Gbps
2 48 312 GB 50 Gbps(Beta 版)
4 96 624 GB 100 Gbps(Beta 版)

抢占式实例上的 GPU

您可以将 GPU 添加到抢占式虚拟机实例;GPU 的抢占式价格更低。挂接到抢占式实例的 GPU 在工作方式上类似于普通 GPU,但只会在实例的生命周期内保留。搭载 GPU 的抢占式实例遵循与所有抢占式实例相同的抢占过程

将 GPU 添加到抢占时实例时,占用的是常规 GPU 配额。如果您需要对抢占式 GPU 使用单独的配额,可以申请单独的抢占式 GPU 配额

在维护事件发生时,挂接了 GPU 的抢占式实例会默认被抢占,并且无法自动重启。如果您要在实例被抢占后重新创建这些实例,请使用托管实例组。如果 vCPU、内存和 GPU 资源可用,则托管实例组将重新创建您的实例。

如果您希望在实例被抢占前收到警告,或者想要将实例配置为在维护事件发生后自动重启,请使用挂接 GPU 的非抢占式实例。对于挂接 GPU 的非抢占式实例,Google 会在抢占前提前一小时发出通知

如果 GPU 所属的实例在开始运行后的第一分钟被抢占,则 Compute Engine 不会针对这些 GPU 向您收费。

如需了解自动重启非抢占式实例的步骤,请参阅更新实例对应的选项

要了解如何创建挂接 GPU 的抢占式实例,请参阅创建挂接 GPU 的实例

预留可享受承诺使用折扣的 GPU

要预留特定地区中的 GPU 资源,请参阅预留地区资源。如要享受 GPU 的承诺使用折扣价,需要预留资源。

GPU 比较图表

本部分可让您详细了解最适合用于 Compute Engine 中提供的不同 GPU 类型的性能规范、功能可用性和理想工作负载类型等要素。

适用于任何 GPU 类型的 CPU 和内存上限取决于运行 GPU 资源的地区。如需详细了解内存、CPU 资源以及可用区域和地区,请参阅 GPU 列表

除了 P4 GPU 之外,在所有可用区域和地区运行的 GPU 均支持本地 SSD。P4 GPU 仅支持 us-central1-cus-central1-f 地区中的本地 SSD。

指标 T4 P4 V100 P100 K80
Tensor Core 数量 320 640
CUDA 核心数 2560 2560 5120 3840 2496
TeraFLOPS (TFLOPS) 中高峰时段的性能 双精度 (FP64) 0.25 TFLOPS1 0.2 TFLOPS1 7.8 TFLOPS 4.7 TFLOPS 1.46 TFLOPS
单精度 (FP32) 8.1 TFLOPS 5.5 TFLOPS 15.7 TFLOPS 9.3 TFLOPS 4.37 TFLOPS
半精度 (FP16) 65 TFLOPS2 125 TFLOPS2 18.7 TFLOPS
INT8 130 TOPS3 22 TOPS3 63 TOPS3
互连 NVLink/PCIe PCIe Gen 3x16 PCIe Gen 3x16 NVLink;300 GB/s,PCIe Gen 3x16 PCIe Gen 3x16 PCIe Gen 3x16
内存与带宽 16 GB GDDR6@ 320 GB/s 8 GB GDDR5@ 192 GB/s 16 GB HBM2@ 900 GB/s 16 GB HBM2@ 732 GB/s 12 GB GDDR5@ 240 GB/s
GRID 远程工作站支持 Y Y N Y N
最佳用途 机器学习推理、训练、远程可视化工作站、视频转码 远程可视化工作站、机器学习推理和视频转码 机器学习训练、推理、HPC 机器学习训练、推理、HPC、远程可视化工作站 机器学习推理、训练、HPC
价格 如要比较 Compute Engine 上的各种 GPU 类型的价格和适用区域,请参阅 GPU 价格

1为了让 FP64 代码正常运行,我们向 T4 和 P4 GPU 架构中添加了少量的 FP64 硬件单元。

2通过 Tensor 核心实现此性能。

3每秒太拉次运算。

限制

挂接 GPU 的实例存在特定限制,因而其行为与其他类型的实例会有所不同。

  • 如果您要将 Tesla K80 GPU 与您的实例搭配使用,那么这些实例无法使用 Intel Skylake 或更高版本的 CPU 平台。

  • GPU 目前仅受通用 N1 机器类型支持。

  • 在发生主机维护事件时,GPU 实例必须终止,但可以自动重启。通常,这些维护事件每月发生一次,但在必要时会更频繁地发生。您必须对工作负载进行配置,以干净利落地处理这些维护事件。具体而言,机器学习和高性能计算 (HPC) 等长时间运行的工作负载必须处理主机维护事件引起的中断情况。了解如何在挂接 GPU 的实例上处理主机维护事件

  • 为了保护 Compute Engine 系统和用户,新项目会有一个 GPU 全球配额,该配额限制了您可在任何受支持地区中创建的 GPU 总数。申请 GPU 配额时,您必须为要在每个区域中创建的 GPU 模型申请一个配额,并根据所有地区中所有类型 GPU 的总数另外申请一个全球配额。

  • 如果实例挂接了一个或多个 GPU,那么您添加到实例的每个 GPU 都可以配备最多数量的 vCPU。例如,每个 NVIDIA® Tesla® K80 GPU 可让您为实例机器类型配备最多八个 vCPU 和高达 52 GB 的内存。要查看不同 GPU 配置的可用 vCPU 和内存范围,请参阅 GPU 列表

  • 您不能将 GPU 挂接到共享核心机器类型的实例。

  • GPU 需要设备驱动程序才能正常工作。在 Compute Engine 上运行的 NVIDIA GPU 必须使用以下驱动程序版本:

    • Linux 实例:

      • NVIDIA 410.79 驱动程序或更高版本
    • Windows Server 实例:

      • NVIDIA 411.98 驱动程序或更高版本
  • 挂接特定 GPU 模型的实例只有在实例所在区域的多个地区都提供该 GPU 模型时,才会在 Compute Engine 服务等级协议 (SLA) 的涵盖范围内。Compute Engine 服务等级协议 (SLA) 未涵盖以下地区的特定 GPU 模型:

    • NVIDIA® Tesla® T4:
      • asia-northeast1-a
      • asia-south1-b
      • asia-southeast1-b
      • southamerica-east1-c
    • NVIDIA® Tesla® V100:
      • asia-east1-c
    • NVIDIA® Tesla® P100:
      • us-west1-b
      • europe-west4-a
    • NVIDIA® Tesla® K80:
      • us-west1-b
      • us-central1-c
  • europe-west1-d 地区,挂接了 NVIDIA®Tesla®P100 GPU 的实例无法使用本地 SSD 设备。

  • Compute Engine 支持在每个 GPU 上运行 1 个并发用户。

后续步骤