网上针对昇腾950 NPU的架构白皮书早已经公开,笔者也是早早就拿到了这份资料,但一直没时间好好细看,最近终于有时间细读一下这份文档了。
说实话刚开始看到这份文档的时候还是挺惊讶的,毕竟之前华为一直对鲲鹏、昇腾产品线的信息讳莫如深,甚至都网上但凡有对产品相对详细的描述都会被举报下架, 笔者也因此被下架了好几篇文章。
这次华为居然直接将最新产品的白皮书对外开放,可以认为是华为解决了从研发端到生产端的全流程把控,不再需要像之前那样小心翼翼,生怕调门太高再次被针对了。
下面我们根据这份白皮书,深入了解下这颗昇腾950芯片。关于白皮书原文,文末附上了下载链接。
架构概述
昇腾950PR和昇腾950DT采用相同架构,基于华为自研的第三代达芬奇架构。这一代在支持TF32、 FP16、INT8等精度格式的同时,原生支持MXFP8、HiF8、MXFP4精度,叠加在这一代新增支持SIMD/SIMT 混合编程,使这代产品在客户端实际应用中兼容性和实际性能上都有较大的提升。
下图是昇腾950的芯片架构示意图,芯片采用多Die合封,一颗芯片里集成了2个AI Die、2个IO Die、8个(950PR)或者4个(950DT)片上内存。

AI Core子系统
每个AI Die集成了18个AI Core和2个Linxi816 CPU,两个AI Die共计36个AI Core和4个Linxi816 CPU。
每个AI Core支持1个Cube Core和2个Vector Core,整颗芯片最大支持36个Cube Core和72个Vector Core。
需要注意的是,950PR和950DT之前的口径一直说是同架构,仅内存上的差异,但从白皮书的规格详情中可以看出,950DT最大规格是36个Cube Core和72个Vector Core,而950PR的最大规格则仅仅只有32个Cube Core和64个Vector Core。

也就是说华为其实做了一个筛片处理,同批次芯片中最好的AI Die留给了950DT,而剩下的则屏蔽1到2个AI Core,给950PR或者低规格的950DT。
随着950的逐渐起量,后面应该会推出功耗更低、AI Core更少的产品,毕竟国内制程的良率摆在这里,需要尽可能的消耗这些被筛下来的晶圆。
下图展示了每个AI Core的内部架构,这一代在升级Cube Core和Vector Core的同时,对各级的缓存容量也做了一个升级。

第三代Cube Core新增 MXFP8、HiF8 及MXFP4,在相同频率下,HiF8/MXFP8/FP8 能够提供2倍的FP16 浮点张量计算TFLOPS,MXFP4数据类型能提供4倍TFLOPS。这也是原生支持MXFP4的优势所在,可以实现在不提示晶圆面积的情况下,在实际业务处理中跑出更高的性能。
第三代VECTOR Core单核FP16和FP32的TFLOPS较上一版本提升100%,并新增对BF16的原生支持。这代VECTOR Core最大的变化应该还是支持SIMD/SIMT的混合编程,极大地提升了可编程性与可移植性。
AI CPU子系统
如上文所说,昇腾950内部一共集成了4颗Linx816 CPU Core,用于处理通用控制类任务以及作为AI Core的补充,处理一些计算类任务。
值得注意的是这里集成的CPU Core是基于ARMv8-A 架构,华为手里应该是有更新一代的ARM架构才对,也有可能涉及CPU Core在950中的定位,没有对CPU Core进行升级。
UB灵衢互联系统
昇腾950集成了2个IO Die,每个IO Die支持9个x4的UB Port,整颗芯片支持18个x4 UB Port。

这些Port在支持UB互联的同时,也可以支持UBoE模式或者PCIe模式。
每个IO Die支持1个400G Ethernet Link,整个芯片支持2个,可用于Scale-Out通过以太网互联。
另外芯片可支持1路PCIe x16,用于连接CPU、PCIe Switch或者其他用途。
从白皮书的描述看,UBoE和PCIe应该都是复用UB端口的,使用了这两个功能,对应的UB端口会相应的减少。
UB端口同时支持UB Memory同步访存语义,类似RDMA或者RoCE,可实现直接绕过AI Core或者CPU Core,直接访问对端芯片的内存。

UB端口还支持如下图描述的UB On Chip Switch功能,支持单IO Die 内9个x4Port之间进行流量转发。从每个端口进入的流量在查询路由表后如判断该流量并非本芯片流量且判断得到转发的出端口,此时该流量会经过片上互联网络(Network on Chip,即 NoC)转发至出口端口送出。此转发流量不会进入计算 DIE,也不会占用 DRAM 带宽,在 IO DIE 上即完成数据转发。
需要注意的是这个功能仅支持IO Die内的转发,两颗IO Die之间无法处理这种需求。

超节点互联拓扑
关于昇腾950 SuperPoD的互联拓扑,白皮书没有提供更为详细的拓扑信息,只提供了如下图的非常粗略的拓扑形态,在没有更详细资料的情况下,暂时无法对整机的互联拓扑做进一步的推测。

以上只是简单的罗列了笔者相对感兴趣的一些信息。更详细的信息,可直接获取完整的昇腾950白皮书,有需要的可直接私信回复“超节点”获取。
阿里又双叒调整组织架构,频繁重构背后,阿里 AI 的突围与桎梏
全景拆解超聚变招股书:鲲鹏昇腾占比近半,核心财务、供应链与估值深度解析
摩根士丹利报告:Rubin(VR200)机架物料清单详细拆解

