NPU的Tenstorrent:数据流架构的AI芯片去年冬天调试一块基于Tenstorrent Grayskull的板子,遇到了一个让我抓狂的问题:模型推理结果每隔几次就会跳出一个NaN,但同样的模型在GPU上跑得好好的。查了三天,最后发现是数据流图中一个节点没有正确配置“张量广播”模式——Tenstorrent的编译器默认不会像GPU那样自动做广播,你得显式告诉它“这里要复制一份数据到所有计算单元”。这个坑让我意识到,Tenstorrent的架构思维和传统SIMT/SIMD完全不同,它更像是在设计一个“数据管道工厂”,而不是“计算指令序列”。数据流架构的基因:从“取指执行”到“数据驱动”传统CPU/GPU的核心是“指令驱动”——程序计数器告诉硬件下一步该做什么。Tenstorrent走的是另一条路:数据流架构。每个计算单元(他们叫“Tensix Core”)内部有一个小型的“数据流控制器”,它不关心全局指令顺序,只关心“输入数据到了没有”。数据到了,计算自动触发;结果出来了,自动沿着预设的路径流向下一个单元。这种设计在AI推理场景下有个天然优势:消除了指令取指和发射的开销。想象一下,一个卷积层需要做100次乘加,在GPU上你得发射100条指令(或者用SIMD一条指令处理多个数据),但Tenstorrent只需要在数据流图中定义好“输入张量→乘加器→累加器→输出张量”的路径,数据自己流过去,硬件自动完成所有操作。实测下来,对于大尺寸卷积(比如224x224x64),数据流架构的能效比同制程GPU高3-5倍。Tensix Cor