
近存计算芯片怎么选,用一张表从零开始问
周末折腾了一下微纳核芯的 DRAM 三维近存计算,踩了不少坑。我不是芯片出身,做设计系统的,两个月前才开始碰深度学习相关的东西。所以下面这套流程是给跟我一样的外行看的,术语我尽量拆成大白话。
先说目标。你要交付的其实就是一张表。表填完,你能拿着去问硬件同事,而不是被一堆名词按在地上摩擦。
准备阶段先搞懂三个词,不用背定义,记住三句话就够了。
DRAM 就是你电脑里的内存,临时放数据的地方,断电就忘。三维近存计算拆开看是两件事。三维,是把原来平铺的芯片一层层摞起来,像盖楼;近存计算,是把计算单元搬到存储旁边,让数据少走点路。至于为什么非要搬,是因为算力涨得比数据搬运快,数据搬不过来,算得再快也是干等。
行业内也出现了越来越多的概念混淆,很多人把 3D 堆叠、HBM-PIM、近存计算都等同于存算一体。
这条我一开始也栽了。3D 堆叠是封装工艺,近存计算是把两者放近,存算一体是直接在存储单元里算。三层不同的东西,混着说,后面一定翻车。
接着就是那张五行表。打开任意文档工具新建一个表格,行是四个硬指标,带宽、延迟、功耗、成熟度,列留两栏,左边叫「方案宣称」,右边叫「我这个场景够不够用」。第一行填带宽,素材里写同等容量下带宽可以做到 HBM3E 的 5 倍,也有架构宣称能到 30TB/s 这个量级,先别激动,抄进左边那栏就行。第二行填延迟,这一栏最容易空着,我翻了几份材料,带宽数字满屏,延迟几乎没人提,空着就是空着,别自己补。第三行填功耗,近存计算省的是搬运那部分的能耗,不是整颗芯片的能耗,这两栏别混在一起。第四行填成熟度,混合键合这项工艺,2016 年前后用在图像传感器上,2018 年用在闪存上,主战场一直是这两个,搬到大算力芯片上,时间还不长。
看到这里你应该有感觉了,这张表填不满。填不满是正常的,它就是拿来暴露信息缺口的。
再说三个我亲自栽过的坑。
第一个,把峰值带宽当可用带宽。我一开始直接把宣传数字抄进右边那栏,后来被同事一句话问住,这个带宽是在什么访问模式下测出来的。伪通道怎么调度、bank 怎么映射,都会影响你实际拿到多少。宣称和实测,中间隔着一段。
第二个,忽略热。堆叠越密,热越难出去;热一上来刷新策略就得改,改了延迟又变。这三件事是连着的,别拆开看。
第三个,拿它跟 HBM 直接比。我看到一颗国产 14nm+ 的芯片,520 TFLOPS、6.4TB/s,参数很好看。但那是另一家的路线,制程和供应链都不一样。跨方案抄数字,等于没做评估。
我最后那张表,四行里两行半是空的。但不算白干。以前看到「带宽是 HBM 的几倍」我会直接记下来,现在我会先问三句,什么访问模式下测的,延迟多少,失效边界在哪。前几天我写过一篇讲世界模型的,说现在谈能力太早,应该先划失效边界。放到存储这边,逻辑是一样的。
端侧那个场景,有论文做到了 12.77GB/s/mm² 的密度,方向是通的。通不通到我的场景,是另一回事。
这张表你可以换成自己场景的字段重填一遍,比如你的模型多大、要跑多快、能不能接受掉速。填到填不动的地方,就是你要去问人的地方。
物界前沿