openTPU 是一个完全由 AI 智能体设计的开源 AI 推理加速器,Apache 2.0。很多人看到 FPGA 就劝退了,其实它设计了一条不需要硬件的上手路径。
先搞清楚它包含什么 一个仓库里包含了完整的栈:SystemVerilog RTL、自定义指令集、位精确的 Python 模拟器、kernel 编译器、profiler,以及主机端工具。
第一步:软件模拟器(不需要任何硬件) 克隆仓库,装 Python 3 加 PyTorch 和 Transformers,直接跑软件模拟器。
这一步能让你理解数据流:kernel 用 Python DSL 写,加 @ol.jit 装饰器,编译成硬件指令。指令集是 8 个 32 位字,一个周期一条指令。
模拟器是这套系统的可执行规范——后面所有硬件结果都要和它逐位对齐。
第二步:RTL 仿真(Verilator 5) 装 Verilator 5 之后可以跑 RTL 仿真。这一步验证的是 RTL 和模拟器的位精确等价性。
项目的验证思路值得学:它不假设 CPU golden 能和硬件一样舍入,而是测量一个 floor(golden 自身在 1 ulp 扰动后与自己的距离),然后要求设备与量化 golden 的距离在这个 floor 的合理倍数内。通过标准是 top-1 一致率至少 80%,平均 KL 不超过 floor 的三倍。
第三步:真板(可选,约 300 美元) 需要 Vivado license 和 Kintex-7 板子,测试目标是 Inspur YPCB-00338,二手约 300 美元。
它的架构为什么容易读懂 没有 cache,没有隐藏调度。每一次数据移动都是一条显式指令,所以性能 trace 能精确显示每个周期花在哪。
四个单元:矩阵单元(4 列脉动阵列,int8 权重乘法)、向量单元(fp32 归一化和激活)、DMA 引擎(显式数据传输)、量化器(fp32 结果转回 int8)。
性能瓶颈在哪 实测 DRAM 利用率 82% 到 94%,瓶颈是内存带宽不是算力。板子 4 GiB DDR3,峰值带宽 17.1 GB/s。
这意味着性能随内存带宽扩展,而不是随时钟频率。优化方向应该是减少数据搬运,不是超频。
参考性能(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
实用建议 如果只是想理解 AI 加速器怎么工作,停在第一步就够了。模拟器的输出和硬件是位精确的,学到的东西一样,成本为零。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。