TPU 的 4x4x4 到底在乘什么?一篇看懂 TPU Slice 与 GPU 设计哲学

TPU 的 4x4x4 到底在乘什么?一篇看懂 TPU Slice 与 GPU 设计哲学

刚开始学习 TPU 架构时,规格中 4x4x4、8x16、16x16 这类 slice(切片)尺寸让我十分困惑。当下冒出一连串疑问:为什么是“几乘几”?这些数字是矩阵乘法的维度吗?为什么 GPU 的世界好像不用管这些,TPU 却要把拓扑搞得这么复杂?

之前在 AI 有意识吗?为什么 ChatGPT 这么好用却常一本正经地出错 1 中拆解过 LLM 的本质:一台用矩阵计算进行概率预测的机器。这篇文章想继续深入硬件层:当矩阵大到一颗芯片装不下时,Google 是怎么把一个数学问题,变成一座机房的接线问题?

结论在前:TPU slice 的“几乘几”(例如 4x4x4 或 8x16)指的是芯片在数据中心网络中的物理排列拓扑,不是矩阵乘法在数学上的切分方式。这两者是两个不同层次的问题,中间由 XLA 编译器负责对应。而 TPU 之所以选择 2D/3D 环面(torus)拓扑,而不是像 GPU 集群那样构建一套昂贵的交换网络,本质上是一个成本与复杂度的取舍:Google 用软件与编译器的复杂度,换取硬件规模化时的极致性价比。

TL;DR:四个核心判断

作为我个人的阅读与消化笔记,本篇讨论以下内容:

  • 深度学习的本质是矩阵乘法:神经网络在前向与反向传播时,多数计算都可化为矩阵计算,这也正是 TPU 把整颗芯片押注在“脉动阵列”上的原因。
  • Slice 的“几乘几”是芯片接线图,不是矩阵切分:4x4x4 描述的是 64 颗芯片的 3D 网格排列;矩阵怎么切、切给谁算,是 XLA 编译器把逻辑网格“贴”到物理拓扑上的结果。
  • TPU 不是“完全没有交换机”:机柜内的 cube 用铜缆直连,cube 之间其实靠 OCS(光学电路交换)串接。真正省下的是昂贵的电子数据包交换机,OCS 与光学元件只占整体系统成本不到 5%。
  • GPU 的复杂拓扑没有消失:GPU 集群把复杂度藏进硬件账单(NVSwitch、InfiniBand 胖树等拓扑结构)里,而这些硬件元件在数据中心往往成本高昂。TPU 则省下这部分硬件开销,把复杂度交给 XLA 编译器与工程师。

为什么深度学习离不开矩阵乘法?

在以神经网络构建的深度学习中,每一层本质上是“一组输入乘上一组权重,再加总”的线性变换,再接一个非线性激活函数:每个神经元把上一层的输出各自乘上权重、相加、过一个非线性函数。当你把一整层神经元、整个批次(batch)数据同时考虑进来,这些成千上万个“乘法加总”就能自然地打包成一个矩阵乘法

---
config:
  layout: dagre
  flowchart:
    curve: linear
    nodeSpacing: 15
    rankSpacing: 110
---
flowchart LR
    subgraph IN["输入层(上一层的输出)"]
        x1(("x1"))
        x2(("x2"))
        x3(("x3"))
    end
    subgraph HID["隐藏层神经元"]
        h1(("h1"))
        h2(("h2"))
        h3(("h3"))
        h4(("h4"))
    end
    subgraph OUT["输出层(传给下一层)"]
        y1(("y1"))
        y2(("y2"))
    end
    x1 --> h1 & h2 & h3 & h4
    x2 --> h1 & h2 & h3 & h4
    x3 --> h1 & h2 & h3 & h4
    h1 --> y1 & y2
    h2 --> y1 & y2
    h3 --> y1 & y2
    h4 --> y1 & y2

图中每一条箭头都代表一次“乘上权重”:一个神经元的输出,就是所有进入箭头的加权总和再过一个非线性函数。把一整层的箭头合起来看,就是输入向量乘上权重矩阵;再把整个批次数据叠起来,就是一个完整的矩阵乘法 X × W。

打包成矩阵有两个巨大的工程好处:

  1. 并行化:矩阵乘法里的大量乘加计算彼此独立,可以交给成千上万个计算单元同时做,完美匹配 GPU / TPU 这类高度并行计算的硬件。
  2. 数据重用:矩阵乘法中同一笔数据会被多次使用,硬件可以让数据在芯片内部流动、重复利用,减少昂贵的内存存取。在现代芯片中,搬动数据的能耗往往远高于计算本身。

从 Transformer 到今天的 LLM,底层跑的几乎都是同一件事:把 attention、前馈网络全部化约成一连串巨大的矩阵乘法。

flowchart LR
    A["神经网络的一层<br>数千个神经元 × 数千维输入"] --> B["打包成矩阵乘法<br>输入矩阵 X × 权重矩阵 W"]
    B --> C["高度并行的硬件<br>GPU / TPU 一次完成数万个乘加运算"]
    C --> D["数据在芯片内流动重用<br>减少内存搬运与能耗"]

TPU 的核心:脉动阵列 MXU

TPU(Tensor Processing Unit)是 Google 为此打造的专用芯片,主要任务是执行矩阵计算,也就是大量的乘法与累加。它内建数千甚至上万个彼此直连的乘加器,组成一个大型的实体计算阵列。

它的核心是 MXU(Matrix Multiply Unit,矩阵乘法单元),采用一种叫“脉动阵列”(systolic array)的设计 2

可以把脉动阵列想象成一条精心编排的工厂流水线:权重先被“预加载”到一个二维计算单元网格中并保持不动,输入数据则像水流一样从侧面一波波流入。每个计算单元完成“乘法 + 累加”后,再把结果向下传递。数据在网格中规律地“脉动”,无须反复读写内存——这正是它比通用处理器更加节能、高效的原因。

TPU 主机会将数据串流至输入(infeed)队列。TPU 再从输入队列载入数据,并将其储存到高带宽内存(HBM)。计算完成后,TPU 会把结果写入输出(outfeed)队列;接着,TPU 主机从输出队列读取结果,并储存在主机内存中。若要执行矩阵计算,TPU 会将参数从 HBM 载入矩阵乘法单元(MXU)。

各世代 TPU 的 MXU 规格与拓扑如下 2 3 4 5 6 7 8 9

世代 MXU 规格 网络拓扑 规模 定位
v1(2015) 256x256(INT8) 单芯片 推理
v2–v3 128x128(BF16) 2D torus v3 Pod 最多 1024 颗 训练
v4(2021) 128x128,每个 TensorCore 有 4 颗 MXU 3D torus + OCS Pod 4096 颗 旗舰训练芯片
v5e 128x128 2D torus 单一 slice 最多 256 颗 高性价比训练和推理
v5p 128x128 3D torus + OCS Pod 8960 颗,最大 slice 16x16x24 = 6144 颗 旗舰性能
v6e(Trillium) 256x256 2D torus 单一 Pod 256 颗 峰值计算比 v5e 高 4.7 倍
v7(Ironwood / TPU7x,2025) 256x256 3D torus + OCS Superpod 9216 颗(另有 256 颗配置) 推理时代旗舰,FP8 峰值 42.5 ExaFLOPS/superpod
v8(TPU 8t / 8i,2026 发布) 尚未公开 8i 采用新的 Boardfly 拓扑;其余细节尚未完整公开 尚未正式开放 首次拆分:8t 专攻训练、8i 专攻低延迟推理

这张表有两个值得注意的细节:

  • MXU 的边长从 v2 到 v5p 一直维持 128x128,到了第六代 Trillium(v6e)才扩大为 256x256,并由第七代 Ironwood(TPU7x)延续。边长翻倍,意味着每个时钟周期的乘加计算量变成四倍 2 7 10
  • 这个数字对开发者有实际意义:要充分利用 MXU,矩阵维度最好是 128 的倍数(v6e / TPU7x 上是 256),否则硬件会自动补零(padding),等于花同样的时间算一堆零 10 11

再看最新两代的走向:

  • 第七代 Ironwood(TPU7x,2025)延续 v5p 的 3D torus + OCS 路线,单一 superpod 直上 9,216 颗芯片、FP8 峰值算力 42.5 ExaFLOPS,更大规模则交给数据中心网络(DCN)串接多个 superpod 8 12 13
  • 2026 年 Cloud Next 发布的第八代则首次拆分为两颗专用芯片:用于训练的 TPU 8t 与用于低延迟推理的 TPU 8i。其中,8i 针对 AI 智能体工作负载引入新的“Boardfly”拓扑,通过直连光路把芯片间通信的最大跳数从 16 跳降到 7 跳 9 14

训练与推理的通信模式不同,最佳拓扑也开始分道扬镳。拓扑不是教条,而是跟随工作负载演进的成本工程,这正是本文主线最好的注脚。

Slice 是什么?芯片的“座位表”,不是矩阵的切法

理解了单颗芯片,接下来就是本文最容易搞混的地方。当你在 Google Cloud 租用一个 TPU slice,例如 v5e 的 8x16,这个“8x16”的意思是:128 颗芯片在机房里排成 8 行 16 列的二维网格,每颗芯片只和上下左右的邻居用高速通道(ICI,芯片间高速互连)直连 5

(实际工作负载示例可参考 GKE AI 系列:在 TPU 上用 JAX 跑第一个训练任务 15。)

2D Torus 拓扑示意:以 4×4 slice 为例,每个方块是一颗 TPU 芯片;实线是和上下左右邻居的 ICI 直连,虚线是每行每列头尾相接的“环绕”连线(8×16 同理,只是网格更大)

2D Torus 拓扑示意:以 4×4 slice 为例,每个方块是一颗 TPU 芯片;实线是和上下左右邻居的 ICI 直连,虚线是每行每列头尾相接的“环绕”连线(8×16 同理,只是网格更大)

上图用 4x4 缩小示意:每颗芯片只和上下左右的邻居直连,而每一行、每一列的头尾再用环绕连线相接,这就是下一段要讲的“环面”(torus)。

这条芯片间的高速通道叫 ICI(Inter-Chip Interconnect)。3D 拓扑的芯片(v4、v5p)有 6 个 ICI 端口,朝 ±X、±Y、±Z 六个方向各接一个邻居;2D 拓扑的芯片(v5e、v6e)则有 4 个,接上下左右 4 11。网格的头尾再绕回来相接,就成了“环面”(torus),像把一张棋盘卷成甜甜圈,让最边缘的芯片也不会变成孤岛。

这样设计的首要考量是降低延迟,但也连带几个好处:

  • 每颗芯片的“出入口”固定,布线成本可控:每颗芯片只需要几个 ICI 端口(2D 是 4 个、3D 是 6 个),硬件设计可以标准化量产;扩展到更大规模时,不必把每颗芯片都接到昂贵的交换机。例如,NVIDIA 使用 NVSwitch 与专用 NVLink 链路实现 GPU 之间的高速通信。
  • 通信距离随维度增加而缩短:在环面上,任意两点之间的最远距离大约等于各维度长度的一半之和。将狭长的 1D 拓扑改为 2D 或 3D 后,最坏情况下的跳数(hop)会显著下降,集合通信(collectives)也更容易获得稳定的带宽和低延迟。
  • 集合通信有“天然路径”:All-Reduce、All-Gather 这类操作可以沿环面执行 ring / mesh 算法,让数据像接力一样绕行一圈或多圈即可完成同步,非常适合通信模式规律的深度学习工作负载。

但这样的设计也意味着软件层通常需要管理 TPU 复杂的拓扑网络。在 GPU 胖树(Fat-Tree)或全连接网络中,开发者通常不必过多关注哪些 GPU 彼此相邻。但在 TPU slice 的 torus 上,并行切分必须与芯片的物理邻接关系对齐。一旦没有对齐,大量通信就会被挤入长距离路径,导致任务无法同步,甚至出现死锁(deadlock);最直接的表现就是任务卡住。

按照规模从小到大,整个层级如下:

flowchart TD
    A["TPU 芯片<br>内含 TensorCore 与 MXU"] --> B["Tray 主板<br>4 颗芯片配 1 台 CPU 主机"]
    B --> C["机柜 Rack<br>4x4x4 Cube = 64 颗芯片<br>铜缆直连成 3D 网格"]
    C --> D["OCS 光学电路交换<br>把多个 Cube 接成任意大小的 Slice"]
    D --> E["Pod<br>v4: 4096 颗 / v5p: 8960 颗 / v7: 9216 颗"]
    E --> F["跨 Pod:数据中心网络 DCN<br>Multislice 训练"]

以 TPU v4 为例:基本单位是一个机柜里的 4x4x4 cube(64 颗芯片),cube 内部全部使用成本较低的铜缆直连;需要组成更大的 slice 时,再由 OCS 通过光纤连接多个 cube。slice 的形状可以采用各维度为 4 的倍数的多种组合,例如 4x4x12、4x8x8,甚至不必是 2 的幂 4 16

顺带一提,v4 的命名如 v4-128 指的是 128 个 TensorCore(每颗芯片有 2 个),实际上就是 64 颗芯片、正好一个 cube。

TPU v4 常见的 slice 拓扑形状:从 2×2×1(4 颗芯片)到一整个 4×4×4 cube(64 颗芯片) TPU v4 常见的 slice 拓扑形状:从 2×2×1(4 颗芯片)到一整个 4×4×4 cube(64 颗芯片)

所以,回到开头的问题:slice 的“几乘几”是实际矩阵乘法的分布吗?

不是。它比较像是芯片的物理座位表。

逻辑网格 vs 物理拓扑:XLA 如何把矩阵映射到芯片上

训练大模型时,我们会在逻辑层把计算切分成不同的并行维度,最常见的两种:

  • 数据并行(Data Parallelism):不同芯片处理不同批次的数据,每轮结束后同步梯度。
  • 模型/张量并行(Tensor Parallelism):单一权重矩阵太大,切成好几块分给不同芯片,各算一部分。

在 JAX 中,这通常表示为一个逻辑网格(mesh)。例如,可以把 128 颗芯片声明为 Mesh(('data', 'model'), (8, 16)):8 路数据并行 × 16 路张量并行 17

关键在于:逻辑网格和物理拓扑是两张不同的图,由 XLA 编译器负责把前者“映射”到后者上。因为 ICI 只连接相邻芯片,距离较远的芯片必须通过中间芯片逐跳通信 11。编译器会尽量把“通信最频繁的逻辑维度”映射到“物理上相邻的芯片轴”:

flowchart LR
    subgraph L["逻辑层(数学问题)"]
        A["巨大的矩阵乘法"] --> B["切分成并行维度<br>data = 8, model = 16"]
    end
    subgraph P["物理层(机房接线)"]
        C["8x16 芯片网格<br>ICI 只连上下左右邻居"]
    end
    B -->|XLA 编译器对应| C
    C --> D["每颗芯片内部<br>仍由 128x128 或 256x256 的 MXU 计算"]

以 8x16 的 v5e slice 配合 data = 8, model = 16 的逻辑网格为例:编译器会把 8 路数据并行映射到物理网格的一条轴,16 路张量并行映射到另一条轴。这样一来,张量并行所需的高带宽通信(每层前向和反向传播都要交换部分结果)会发生在物理相邻的芯片之间,而数据并行中频率相对较低的梯度同步(All-Reduce)也能沿环面高效执行。

总结这一段:

  • Slice 的尺寸(如 8x16):芯片网络的物理互连结构。
  • 矩阵的切分:数学上的张量分片(sharding)维度。
  • 实际运行:XLA 把数学切分映射到物理拓扑上,尽量缩短通信路径;无论外层如何切分,每颗芯片内部最终仍由 MXU 的脉动阵列完成计算。

为什么不排成一条线就好?1D 拓扑的物理极限

看到这里你可能会想:2D、3D 拓扑还要求工程师考虑芯片的“座位表”,未免太复杂,为什么不简化成一条线(1D)?

答案很直接:一维拓扑在物理上无法高效支撑数千颗芯片。设想把 4096 颗芯片排成一条直线:头尾两颗芯片通信时,数据必须穿过中间几千颗芯片;即使首尾相连成环,最远仍要经过 2048 跳。如果改排成 16x16x16 的 3D 环面,任意两颗芯片之间的最远距离会立刻缩短到 24 跳(每个维度最多 8 跳)。维度越高,芯片间的平均通信距离越短。TPU 正是利用这一几何特性,在计算性能与成本之间取得更好的平衡。

那为什么 GPU 集群“感觉”不用管拓扑?因为 GPU 也不是 1D,而是把拓扑藏了起来

以常见的 NVIDIA DGX 方案为例,服务器内部使用 NVSwitch 连接 8 颗 GPU,让它们在逻辑上如同一颗巨型 GPU;服务器之间则通过 InfiniBand 交换机构建胖树(Fat-Tree)拓扑。例如,DGX SuperPOD 参考架构使用 Quantum-2 InfiniBand 组成三层胖树 18。对软件而言,所有 GPU 仿佛都连接在同一个大型交换网络中,逻辑拓扑相对“扁平”。

GPU 集群网络简化示意:每台 DGX 服务器内部由 NVSwitch 连接 8 颗 GPU;服务器之间则由 Leaf 和 Spine 层的 InfiniBand 交换机组成胖树(Fat-Tree)拓扑。实际的 SuperPOD 使用三层胖树。

GPU 集群网络简化示意:每台 DGX 服务器内部由 NVSwitch 连接 8 颗 GPU;服务器之间则由 Leaf 和 Spine 层的 InfiniBand 交换机组成胖树(Fat-Tree)拓扑。实际的 SuperPOD 使用三层胖树。

当然,每种架构都有取舍。这类设计最直接的代价就是成本。胖树拓扑若要维持任意两点之间的无阻塞带宽,所需交换机、光模块和线缆的数量会随规模快速增加。据估计,网络设备往往占 GPU 集群总成本的 15–20%,而且规模越大,这一比例越值得关注 19

TPU 的省钱哲学:ICI + OCS

如果你以为 TPU 完全不用交换机,只要把芯片绑在一起就能扩充,那并不完全正确。更精确的说法是 4

  1. Cube 内部(64 颗芯片):芯片通过 ICI 和无源铜缆直连,组成 4x4x4 的 3D 网格;这一层确实没有交换机,也就是所谓的 glueless 设计。
  2. Cube 之间:靠 OCS(Optical Circuit Switch,光学电路交换)串接;一个 v4 Pod 会用 48 台 OCS 把 64 个 cube(共 4096 颗芯片)连成完整系统。

OCS 与 InfiniBand 这类“电子数据包交换机”有本质区别。普通交换机就像邮件分拣中心:每个经过的数据包都要检查目标地址,才能决定转发方向。这需要交换芯片参与处理,也会增加延迟与功耗。

OCS 则简单得多:其内部是一组可以调整角度的微型镜面阵列(MEMS),工作原理就是把光反射到另一条光纤上,类似老式电话交换台将 A 端线路直接接到 B 端。光路一旦建立,数据穿过 OCS 时就像沿一条直通光纤传输,全程不解析数据包,也不检查内容。这带来三个关键优势 4

  • 便宜省电:OCS 与底层光学元件占整体系统成本不到 5%、功耗不到 3%。
  • 拓扑可重组:无须重新布线,只要重新配置光路,就能将 slice 组成不同形状,甚至支持“twisted torus”这类变形拓扑。通过“扭转”环面的连接方式,可减少远距离芯片之间的跳数,更适合 all-to-all 通信;用户需要 4x4x12,就可以配置为 4x4x12。
  • 容错与调度:某个 cube 故障时,光路可以绕过它并连接备用 cube。调度器也不必寻找物理位置连续的空闲芯片,只需选择若干可用 cube,即可组合成一个 slice。

把两种设计哲学放在一起看:

特性 NVIDIA GPU 集群(NVLink / InfiniBand) Google TPU Slice(ICI + OCS)
网络拓扑 节点内 NVSwitch 全连接 + 节点间胖树 2D / 3D 环面网格,具方向性
交换设备 大量电子数据包交换机 Cube 内铜缆直连;跨 cube 用 OCS 光路切换
网络成本 常占集群总成本 15–20% 或更高 OCS 与光学元件占系统成本不到 5%
软件复杂度 较低:拓扑在逻辑上近似扁平,CUDA 生态帮你处理 较高:需把并行轴对齐物理拓扑(XLA / shard_map
灵活性 任意两点间的带宽较均匀,通用性强 拓扑可按工作负载重组、绕过故障并支持增量部署

所以,TPU 将拓扑直接呈现在开发者面前,并非刻意增加工程难度,而是一项明确的取舍:以软件和编译器的复杂度,换取硬件规模化时的性价比与灵活性

这项取舍之所以成立,是因为深度学习训练的通信模式高度规律:每一轮计算中,芯片通常都与固定的相邻芯片交换数据,例如同步梯度,像工厂流水线一样重复相同动作。环面拓扑最擅长的正是这种邻居间通信。反过来说,TPU 的设计也因此高度针对深度学习训练进行了优化;如果用于通用计算,通信双方和通信时机都难以预测,数据往往需要在网格中绕行较远的路径,这套设计就未必经济。

结语

回到开头的问题:TPU slice 为什么是 4x4x4?一路分析下来会发现,答案不在数学课本里,而在机房的布线方式与建设成本。本文的重点可以归纳为以下几点:

  • “几乘几”是芯片的座位表,不是矩阵的切法。4x4x4 说的是 64 颗芯片在机柜里如何排列、如何连接;矩阵如何切分、每颗芯片负责哪一部分,则由 XLA 编译器把逻辑网格映射到这张座位表上。
  • TPU 节省的是交换基础设施成本。cube 内部用铜缆直连,cube 之间由 OCS 切换光路。以 v4 为例,OCS 加上光模块、光纤等整套光学组件,只占系统成本不到 5%。据估计,GPU 集群会将 15–20% 的预算投入 InfiniBand 胖树等网络设备(NVSwitch 则计入服务器本身的成本),以硬件投入隐藏拓扑复杂度,降低软件开发难度。
  • 复杂度不会消失,只会转移。Google 节省的硬件成本,转化为编译器与工程师需要处理的问题:矩阵维度应对齐 128(或 256),并行切分也应贴合物理拓扑。否则,轻则 MXU 利用率下降,重则任务直接卡死。

希望这篇文章能帮助你理解 TPU 架构的设计取舍,并在评估 AI 基础设施或阅读规格表时,做出更务实的判断。

参考资源

  1. 延伸阅读:AI 有意识吗?为什么 ChatGPT 这么好用却常一本正经地出错 

  2. TPU architecture (Google Cloud Documentation) - https://docs.cloud.google.com/tpu/docs/system-architecture-tpu-vm  2 3

  3. An in-depth look at Google’s first Tensor Processing Unit (Kaz Sato, Google Cloud Blog, 2017) - https://cloud.google.com/blog/products/ai-machine-learning/an-in-depth-look-at-googles-first-tensor-processing-unit-tpu 

  4. TPU v4: An Optically Reconfigurable Supercomputer for Machine Learning (Jouppi et al., ISCA 2023) - https://arxiv.org/abs/2304.01433  2 3 4 5

  5. TPU v5e (Google Cloud Documentation) - https://docs.cloud.google.com/tpu/docs/v5e  2

  6. TPU v5p (Google Cloud Documentation) - https://docs.cloud.google.com/tpu/docs/v5p 

  7. Introducing Trillium, sixth-generation TPUs (Google Cloud Blog, 2024) - https://cloud.google.com/blog/products/compute/introducing-trillium-6th-gen-tpus  2

  8. TPU7x (Ironwood) (Google Cloud Documentation) - https://docs.cloud.google.com/tpu/docs/tpu7x  2

  9. Our eighth generation TPUs: two chips for the agentic era (Google Blog, 2026) - https://blog.google/innovation-and-ai/infrastructure-and-cloud/google-cloud/eighth-generation-tpu-agentic-era/  2

  10. Cloud TPU performance guide (Google Cloud Documentation) - https://docs.cloud.google.com/tpu/docs/performance-guide  2

  11. How to Think About TPUs — How To Scale Your Model (Google DeepMind) - https://jax-ml.github.io/scaling-book/tpus/  2 3

  12. Ironwood: The first Google TPU for the age of inference (Google Blog, 2025) - https://blog.google/innovation-and-ai/infrastructure-and-cloud/google-cloud/ironwood-tpu-age-of-inference/ 

  13. From silicon to softmax: Inside the Ironwood AI stack (Google Cloud Blog, 2025) - https://cloud.google.com/blog/products/compute/inside-the-ironwood-tpu-codesigned-ai-stack 

  14. Inside the eighth-generation TPU: An architecture deep dive (Google Cloud Blog, 2026) - https://cloud.google.com/blog/products/compute/tpu-8t-and-tpu-8i-technical-deep-dive 

  15. 延伸阅读:GKE AI 系列:在 TPU 上用 JAX 跑第一个训练任务 

  16. TPU v4 (Google Cloud Documentation) - https://docs.cloud.google.com/tpu/docs/v4 

  17. Manual parallelism with shard_map (JAX documentation) - https://docs.jax.dev/en/latest/notebooks/shard_map.html 

  18. GPU Cluster Network Topology Design: Fat-Tree, Dragonfly, and Rail-Optimized Architectures (Introl, 2025) - https://introl.com/blog/gpu-cluster-network-topology-fat-tree-dragonfly-rail-optimized-2025 

  19. Network Bandwidth — The Hidden Bottleneck in AI Infrastructure (Medium) - https://medium.com/@indiai/network-bandwidth-the-hidden-bottleneck-in-ai-infrastructure-e60e4d17093a 

Eason Cao
Eason Cao Eason is an engineer working at FANNG and living in Europe. He was accredited as AWS Professional Solution Architect, AWS Professional DevOps Engineer and CNCF Certified Kubernetes Administrator. He started his Kubernetes journey in 2017 and enjoys solving real-world business problems.
comments powered by Disqus