Compute Engine 上的 GPU

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

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

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

亲自尝试

如果您是 Google Cloud 新手,请创建一个帐号来评估 Compute Engine 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。

免费试用 Compute Engine

简介

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

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

  • NVIDIA® A100:正式版
  • NVIDIA® T4:nvidia-tesla-t4正式版
  • NVIDIA® V100:nvidia-tesla-v100正式版
  • NVIDIA® P100:nvidia-tesla-p100正式版
  • NVIDIA® P4:nvidia-tesla-p4正式版
  • NVIDIA® K80:nvidia-tesla-k80正式版

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

  • NVIDIA® T4 虚拟工作站:nvidia-tesla-t4-vws正式版
  • NVIDIA® P100 虚拟工作站:nvidia-tesla-p100-vws正式版
  • NVIDIA® P4 虚拟工作站:nvidia-tesla-p4-vws正式版

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

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

您还可以向 GPU 添加本地 SSD。如需不同 GPU 类型和区域的本地 SSD 支持列表,请参阅 GPU 区域和可用区的本地 SSD 可用性

价格

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

GPU 型号

NVIDIA® A100 GPU

要运行 NVIDIA® A100 GPU,您必须使用加速器优化 (A2) 机器类型。

每种 A2 机器类型都有固定的 GPU 数量、vCPU 数量和内存大小。

GPU 模型 机器类型 GPU GPU 内存 可用 vCPU 数量 可用内存
NVIDIA® A100 a2-highgpu-1g 1 个 GPU 40 GB HBM2 12 个 vCPU 85 GB
a2-highgpu-2g 2 个 GPU 80 GB HBM2 24 个 vCPU 170 GB
a2-highgpu-4g 4 个 GPU 160 GB HBM2 48 个 vCPU 340 GB
a2-highgpu-8g 8 个 GPU 320 GB HBM2 96 个 vCPU 680 GB
a2-megagpu-16g 16 个 GPU 640 GB HBM2 96 个 vCPU 1360 GB

其他可用的 NVIDIA® GPU 型号

GPU 数量较少的虚拟机会有 vCPU 数量上限的限制。通常情况下,如果 GPU 数量较多,您可以创建具有较多 vCPU 和内存的实例。

GPU 模型 GPU 数量 GPU 内存 可用 vCPU 数量 可用内存
NVIDIA® T4 1 个 GPU 16 GB GDDR6 1 - 24 个 vCPU 1 - 156 GB
2 个 GPU 32 GB GDDR6 1 - 48 个 vCPU 1 - 312 GB
4 个 GPU 64 GB GDDR6 1 - 96 个 vCPU 1 - 624 GB
NVIDIA® P4 1 个 GPU 8 GB GDDR5 1 - 24 个 vCPU 1 - 156 GB
2 个 GPU 16 GB GDDR5 1 - 48 个 vCPU 1 - 312 GB
4 个 GPU 32 GB GDDR5 1 - 96 个 vCPU 1 - 624 GB
NVIDIA® V100 1 个 GPU 16 GB HBM2 1 - 12 个 vCPU 1 - 78 GB
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® P100 1 个 GPU 16 GB HBM2 1 - 16 个 vCPU 1 - 104 GB
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
(所有 P100 可用区)

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

1 - 624 GB
(所有 P100 可用区)

NVIDIA® K80 1 个 GPU 12 GB GDDR5 1 - 8 个 vCPU 1 - 52 GB
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
(所有 K80 可用区)

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

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

如果您的工作负载属于图形密集型(例如 3D 可视化),您可以创建使用 NVIDIA GRID® 平台的虚拟工作站。如需了解 NVIDIA® GRID® 的背景信息,请参阅 GRID 概览

当您为虚拟工作站选择 GPU 时,系统会为您的虚拟机添加 NVIDIA® GRID® 许可。如需详细了解价格,请参阅 GPU 价格页面

如需设置 NVIDIA® GRID® 虚拟工作站,您需要创建启用虚拟工作站的虚拟机,然后安装 GRID 驱动程序

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

GPU 模型 GPU 数量 GPU 内存 可用 vCPU 数量 可用内存
NVIDIA® T4 虚拟工作站 1 个 GPU 16 GB GDDR6 1 - 24 个 vCPU 1 - 156 GB
2 个 GPU 32 GB GDDR6 1 - 48 个 vCPU 1 - 312 GB
4 个 GPU 64 GB GDDR6 1 - 96 个 vCPU 1 - 624 GB
NVIDIA® P4 虚拟工作站 1 个 GPU 8 GB GDDR5 1 - 16 个 vCPU 1 - 156 GB
2 个 GPU 16 GB GDDR5 1 - 48 个 vCPU 1 - 312 GB
4 个 GPU 32 GB GDDR5 1 - 96 个 vCPU 1 - 624 GB
NVIDIA® P100 虚拟工作站 1 个 GPU 16 GB HBM2 1 - 16 个 vCPU 1 - 104 GB
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
(所有 P100 可用区)

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

1 - 624 GB
(所有 P100 可用区)

网络带宽和 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 列表

常规比较

指标 A100 T4 V100 P4 P100 K80
内存 40 GB HBM2 @ 1.6 TB/s 16 GB GDDR6 @ 320 GB/s 16 GB HBM2 @ 900 GB/s 8 GB GDDR5 @ 192 GB/s 16 GB HBM2 @ 732 GB/s 12 GB GDDR5 @ 240 GB/s
互连 NVLink Full Mesh @ 600 GB/s 不适用 NVLink Ring @ 300 GB/s 不适用 不适用 不适用
GRID 远程工作站支持
最佳用途 机器学习训练、推理、HPC 机器学习推理、训练、远程可视化工作站、视频转码 机器学习训练、推理、HPC 远程可视化工作站、机器学习推理和视频转码 机器学习推理、HPC、远程可视化工作站 机器学习推理、训练、HPC
价格 如要比较 Compute Engine 上的各种 GPU 型号的价格和适用区域,请参阅 GPU 价格

性能比较

指标 A100 T4 V100 P4 P100 K80
计算性能
FP64 9.7 TFLOPS 0.25 TFLOPS1 7.8 TFLOPS 0.2 TFLOPS1 4.7 TFLOPS 1.46 TFLOPS
FP32 19.5 TFLOPS 8.1 TFLOPS 15.7 TFLOPS 5.5 TFLOPS 9.3 TFLOPS 4.37 TFLOPS
FP16 18.7 TFLOPS
INT8 22 TOPS2
Tensor 核心性能
FP64 19.5 TFLOPS
TF32 156 TFLOPS
混合精度 FP16/FP32 312 TFLOPS3 65 TFLOPS 125 TFLOPS
INT8 624 TOPS2 180 TOPS2
INT4 1248 TOPS2 260 TOPS2

1为了让 FP64 代码正常运行,T4 和 P4 GPU 架构中包含少量的 FP64 硬件单元。

2每秒太拉次运算。

3 对于混合精度训练,NVIDIA A100 还支持 bfloat16 数据类型。

限制

挂接 GPU 的虚拟机需遵循以下限制:

  • 如果要将 NVIDIA® K80 GPU 与虚拟机搭配使用,虚拟机不能使用 Intel Skylake 或更高版本的 CPU 平台。

  • GPU 目前仅受通用 N1 或加速器优化 A2 机器类型支持。

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

  • 在系统进行主机维护事件时,挂接 GPU 的虚拟机必须停止,但可以自动重启。在 Compute Engine 上,主机维护事件的频率为每两周一次,但有时候频率可能会更高。您必须配置您的工作负载以彻底处理这些维护事件。具体而言,机器学习和高性能计算 (HPC) 等长时间运行的工作负载必须处理主机维护事件引起的中断情况。 如需了解详情,请参阅处理 GPU 主机维护事件

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

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

  • GPU 需要设备驱动程序才能正常工作。在 Compute Engine 上运行的 NVIDIA GPU 有最低驱动程序版本的限制。如需详细了解驱动程序版本,请参阅所需的 NVIDIA 驱动程序版本

  • 对于挂接了特定 GPU 型号的虚拟机,仅当挂接的 GPU 型号为正式版并且同一区域中的多个可用区都支持该 GPU 型号时,该虚拟机才在 Compute Engine 服务等级协议 (SLA) 的涵盖范围内。Compute Engine 服务等级协议 (SLA) 未涵盖以下可用区的 GPU 型号:

      • NVIDIA® A100
      • asia-southeast1-c
    • NVIDIA® T4:
      • australia-southeast1-a
      • europe-west3-b
      • southamerica-east1-c
    • NVIDIA® V100:
      • asia-east1-c
      • us-east1-c
    • NVIDIA® P100:
      • australia-southeast1-c
      • europe-west4-a
    • NVIDIA® K80:
      • us-west1-b
  • Compute Engine 支持在每个 GPU 上运行 1 个并发用户。

后续步骤