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 切片由 NodeQueuedResource REST 对象表示。 切片具有以下范围之一:
    • 单宿主机切片:由一台宿主机组成的切片。“单主机切片”是引用单个 TPU 虚拟机的另一种方式。
    • 多主机切片:由多个 TPU 虚拟机组成的切片,这些虚拟机使用高速芯片间互连 (ICI) 互连。
在 Compute Engine 中管理 TPU 资源时,您不会使用以下 Cloud TPU API 对象,但如果您熟悉旧版 Cloud TPU API,这些对象会提供有用的背景信息:

  • 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(NodeQueuedResource 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 文档中的 集合调度

后续步骤