Compute Engine 中的 Cloud TPU 资源
您可以使用 Compute Engine 资源创建和管理 TPU。本页面从概念上大致介绍了如何将 TPU 与 Compute Engine 搭配使用。它将 Cloud TPU 概念映射到 Compute Engine 资源,并概述了迁移到 Compute Engine 的过程。
主要 Cloud TPU 概念
如需在 Compute Engine 中管理 TPU 资源,了解以下主要 TPU 概念会很有帮助:
- TPU 虚拟机:直接连接到 TPU 硬件的虚拟机。单个 TPU 虚拟机与单主机切片相同。
- TPU 切片:一组互连的 TPU 芯片,可通过
一个或多个 TPU 虚拟机访问。
在 TPU API 中,单个 TPU 切片由
Node或QueuedResourceREST 对象表示。 切片具有以下范围之一:- 单宿主机切片:由一台宿主机组成的切片。“单主机切片”是引用单个 TPU 虚拟机的另一种方式。
- 多主机切片:由多个 TPU 虚拟机组成的切片,这些虚拟机使用高速芯片间互连 (ICI) 互连。
Node:旧版 Cloud TPU API 中的 REST 对象,表示单个 TPU 切片。在 Compute Engine 中,此对象映射到虚拟机实例或托管式实例组 (MIG)。QueuedResource:旧版 Cloud TPU API 中的 REST 对象,表示一个或多个 TPU 切片。排队资源用于通过队列请求和管理 TPU 容量。在 Compute Engine 中,灵活启动虚拟机提供类似的功能。
TPU 和 Compute Engine 概念图
下表介绍了 TPU 概念如何映射到 Compute Engine 资源:
| Cloud TPU 概念 | Compute Engine 资源 | 资源详情 | 使用场景 |
|---|---|---|---|
| TPU 虚拟机 | 虚拟机实例 | 可直接访问 TPU 硬件的 Compute Engine 虚拟机。 | 单个虚拟机任务、SSH 命令执行或调试 |
| TPU 单主机或子主机切片 | 具有单个虚拟机的虚拟机实例或 MIG | 由一台物理宿主机组成的配置。 | 使用自动扩缩进行推理 |
| TPU 多主机切片 | 在工作负载政策中指定了加速器拓扑的 MIG | 一组使用 ICI 互连的 TPU 虚拟机,作为单个逻辑单元进行管理。 | 需要原子预配的大规模分布式训练 |
从 Cloud TPU API 迁移
Cloud TPU API 不再处于积极开发阶段。这包括 Cloud TPU API 的 Google Cloud CLI 和 Cloud TPU API 的 Cloud 客户端库。Cloud TPU API 将仅接收 bug 修复和安全更新。从 TPU7x (Ironwood) 开始的新硬件代系仅通过 Compute Engine 或 Google Kubernetes Engine (GKE) 提供支持。如需使用最新功能并获得对最新 TPU 版本的支持,请将旧版 Cloud TPU API 调用替换为 Compute Engine 或 GKE 中的等效调用,以进行迁移。
根据您的编排和工作负载要求,选择以下路径之一:
- Compute Engine:建议需要直接虚拟机级 控制或自定义操作系统映像的用户使用。如需开始在 Compute Engine 中预配 TPU,请参阅 快速入门:创建 TPU 虚拟机。
- GKE:建议用于容器化工作负载、自动 伸缩和大规模编排。如需详细了解如何将 TPU 与 GKE 搭配使用,请参阅 GKE 中的 TPU 简介。
现有 TPU 资源
使用 Cloud TPU API(Node 或 QueuedResource REST 对象)创建的 TPU 资源与 Compute Engine 和 GKE 不兼容。如需开始使用 Compute Engine 或 GKE,请执行以下操作:
- 重写使用 Cloud TPU API 的所有脚本,以使用 Compute Engine 或 GKE API。
- 使用 Cloud TPU API 删除资源,然后使用 Compute Engine 或 GKE API 重新创建这些资源。
限制
Compute Engine 中的 TPU 具有以下限制:
- TPU 版本:Compute Engine 支持 v5p、v6e 和 TPU7x。
- 容量模式:Compute Engine 不提供 TPU 的“所有容量”模式 。
- 多切片:Compute Engine 不支持创建互连的多主机 TPU 切片组 。如需使用多切片,您必须使用 Google Kubernetes Engine (GKE)。如需了解详情,请参阅 在 GKE 中部署 TPU 多切片。
- 集合:Compute Engine 不支持集合调度。如需使用集合调度,您必须使用 GKE。如需了解详情,请参阅 GKE 文档中的 集合调度 。