如果你想搞懂 AI 加速器到底怎么工作,openTPU 是个不错的入口。它是 Apache 2.0 开源的全栈实现。
为什么说「能从头读到尾」 整个加速器是一个小的 monorepo。从 Python 里的 matmul 一直读到导线,全部可读。
这一点在加速器领域非常罕见。商业加速器的设计文档往往只有架构框图,真正的实现细节藏在 NDA 后面。
包含什么 SystemVerilog RTL、自定义指令集、位精确 Python 模拟器、kernel 编译器、profiler、主机工具,全在一个仓库。
架构刻意简单 一个 sequencer 每周期发一条指令给几个单元:
- DMA 搬数据。
- 矩阵单元做 int8 权重乘法,权重从 DRAM 流式送入。
- 向量单元做 fp32 运算。
- 量化器把结果转回 int8。
没有 cache,没有隐藏调度。每次数据移动都是一条指令,所以一次运行的 trace 能显示周期到底花在哪。
指令集是每条指令 8 个 32 位字。
验证思路值得学 kernel 编译成 ISA,Python ISA 模拟器就是规范,RTL(Verilator 下)和物理板卡必须各自复现模拟器的输出,逐位。
有一个叫 Lens 的 profiler,能把 RTL、模拟器或者板卡的一次运行重放进浏览器,带 roofline 图、时间线和逐指令表格。
能跑什么 在 Inspur YPCB-00338(Xilinx Kintex-7 xc7k480t,双 DDR3 通道)上,用真实权重跑十个现代模型。
4-bit 量化解码速度:LFM2.5-230M 85.8 tok/s,Qwen3-0.6B 30.7 tok/s,Qwen3.5-2B 12.0 tok/s,Phi-4-mini 3.8B 6.6 tok/s。
也支持 Gemma 4 变体、SmolLM3-3B 和两种 MoE 配置,超出板载内存的模型用 expert streaming。
上手路径
- 不需要硬件。克隆仓库,装 Python 3 加 PyTorch 和 Transformers,跑软件模拟器。
- Verilator 5 可以加 RTL 仿真。
- 完整 FPGA 体验需要 Vivado license 和 Kintex-7 板子,测试目标二手约 300 美元。
诚实的局限 它不是硅片验证过的,不和商业加速器竞争,验证流程也需要大量加固才能靠近晶圆厂。
但它的目的本来就不是这些——它是用来读懂的。对想理解脉动阵列、数据流、量化路径的人来说,这个价值已经足够。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。