扫码打开虎嗅APP
本文来自微信公众号: 歪睿老哥 ,作者:歪睿老哥
当芯片行业的传奇人物Jim Keller——那位曾缔造了AMD K8、Apple A4/A5、Zen架构、特斯拉自动驾驶芯片的“硅仙人”——选择加入一家名为Tenstorrent的初创公司时,整个半导体圈都在问:是什么吸引了他?
答案就藏在这家公司的芯片里。
当所有人都沿着GPU的老路,拼命堆核心、堆显存,在SIMT的赛道上内卷时,Tenstorrent带着Jim Keller对计算架构的深刻理解,直接掀了桌子:
谁说AI芯片必须长得像GPU?
今天,我们就深度拆解,来聊聊这款由架构宗师加持的“异类”芯片,到底凭什么另立山头。
跟大家说,Tenstorrent的思路真的是颠覆式的。
开局先来一张系统图,芯片采用了NOC的架构。
D=DRAM,T=Tensix,E=Ethernet,A=ARC/management,P=PCIe

Tenstorrent Wormhole芯片NoC网格结构
我们熟悉的GPU,就是搞几千个小核心堆一起,靠SIMT并行。
SIMT说白了就是单指令多线程,通俗讲就是让一个指令指挥一堆线程干活,说白了就是拼数量。
但Tenstorrent不搞这个,它把芯片做成一张网格,每个格子放一个叫Tensix的计算单元,通俗说就是Tenstorrent自家设计的计算核心,然后配点内存、以太网节点,拼起来一整张网。
每个Tensix里头有啥:
-5个小型RISC-V CPU,只负责发指令,不参与计算
-2个NoC接口,NoC就是片上网络,负责各个节点之间传数据
-向量单元+矩阵/张量单元干活计算
-自带1.5MB SRAM存数据

Tensix核心大致框图
典型数据流啥样?其实就是流水线:
1.NoC从DRAM读数据
2.解包器解包成计算单元认得格式
3.矩阵单元干计算
4.打包器把结果打包装好
5.NoC把结果发回DRAM

Tensix内部数据流
两个NoC都是单向跑,方向还相反,走2D环面拓扑,好处就是功耗低,还保证你任何节点都能摸到。
玩得野一点,你能同时用两个接口读数据,直接带宽翻倍,就看你敢不敢玩。

双NoC方向相反
不同内核之间怎么同步?
用循环缓冲区,基于硬件互斥锁和SRAM做的,本质就是个硬件加速队列,数据准备好了自然能通知到,比软件同步靠谱多了。

循环缓冲区跨内核传数据
1.SRAM随便存,告别缓存置换玄学
传统CPU/GPU靠缓存层次结构,自动置换,你不知道啥时候数据就被踢出去了,性能全看脸。
Tenstorrent直接不搞缓存,所有SRAM你程序员自己管,要啥数据自己手动搬进来,好处就是性能百分百确定,没有意外,当然对你要求也更高了。
而且每个核心1.5MB SRAM,中间张量直接放SRAM,不用动不动去DRAM,性能能效都上来了。默认交错访问,合适就分片存,能把NoC拥塞降下去。

分片存储下NoC无拥塞
2.原生32x32分块计算,天生为深度学习准备
现在深度学习不就是矩阵乘法堆出来的吗?Tenstorrent直接硬件原生支持32x32分块,你不用像GPU那样折腾半天喂tensor核心,人家里头就给你做好了。
说白了,分块就是把大矩阵切成小块放SRAM里算,这么搞计算密度比你一行一行读高太多了。

分块存储示意图
虽然现在GPU也学乖了,知道要分块,但都是软件折腾,Tenstorrent直接硬件搞定,这就是差距。

摆脱传统软件束缚
现在大模型越来越大,单芯片肯定放不下,要多芯片拼。
别人都搞私有互连,什么NVLink,死贵死贵。
Tenstorrent直接用现成以太网,400Gbps现在数据中心都铺开了,成本不知道低多少,性能还不弱。
更绝的是,Tenstorrent芯片自己就能当交换用,计算交换一体化,你说会玩不会玩?

N300卡连接框图
从卡到机箱到机架,随便扩,8颗、32颗、多主机都能拼,拓扑就是网格,想扩多少扩多少。

QuietBox 8芯片拓扑

机架级扩展
现在官方主推的SDK叫tt-Metalium,风格类似OpenCL,C++接口,从单核心到多芯片都能搞。
软件的流程大概就是:开设备→分缓存→传数据→编内核→分配循环缓冲区→设参数→执行→等待完成→回读结果。
里头有个东西叫LLK,也就是低层内核,挺聪明的设计,因为不同代硬件向量单元宽度不一样,Grayskull是64位,到Wormhole砍成32位了,你用LLK写代码,它自动找对应实现,不用你改代码重新编译,向前兼容做好了。
TTNN是建在Metal之上的神经网络库,给你PyTorch风格API用,写起来快,但记住,它是「泄漏抽象」,硬件特性你还是得知道,不然踩坑都不知道怎么死的。
比如转置、切片这些操作,在分块维度上特别慢,因为真得搬内存重新排序,不是GPU上那种假操作,这个一定要注意。
Python用完SRAM记得手动释放,不然GC来不及你就OOM了。
最后唠两句
Tenstorrent这个路子,确实是跳出了GPU几十年的思维定势,用确定性换性能,要求程序员更操心数据搬来搬去,但换来的是效率更高,性能更稳。
现在AI芯片百花齐放,不一定堆核心就是对的,这种另辟蹊径的设计,反而说不定能走出新路。
参考文章:https://clehaxze.tw/gemlog/2025/04-21-programming-tensotrrent-processors.gmi