第一百四十二章 通知
五月十七日,周一,早上九点出头,方宇明手机上出现了一条通知。
台积电的合作门户推送:「您的项目 LHFIRE-1 当前状态:最终封装,预计出货日期:2021年6月25日–7月3日。」
他截图发到 B207 的工作群:「台积电通知,芯片预计六月二十五到七月三号出货,大家准备好。」
群里很快出现了几条回复。贺志明:「好。」颜天磊:「收到,杜工那边板子已经可以接芯片了。」孟思远什么都没说,但过了几分钟发来一张截图,是他更新后的 bringup checklist,前两层被标成了绿色,「第三层起,等芯片。」
沈默在当天下午来了 B207。
这是他第一次来。他戴着棒球帽,进来的时候扫了一眼整个房间——几张桌子,几台电脑,两块绿色的 PCB 板子放在一个防静电垫上,一台示波器,几叠文件,以及贺志明的那本一直翻开着的手账。
「你就是沈默,」许静远说。
「嗯,」沈默说,「久仰。」

他在一张椅子上坐下来,看了看那两块 PCB,「这是验证板?」
「对,」颜天磊说,「空板调通了,等芯片焊上去。」
沈默点了点头,没有再说什么,等着方宇明过来。
方宇明来了之后,沈默和他坐在 B207 靠窗的那边谈了一会儿。
沈默问的第一个问题是:「一块砺火一号的芯片,稳定跑起来之后,能抗多少路推理任务?」
方宇明说:「取决于模型大小和 KV-cache 的配置。按照我们现在的设计,如果目标模型的 KV-cache 大小在 512MB 以内,一块砺火一号可以同时维护四到六路长上下文的推理请求,减少主机内存搬运的延迟——延迟改善预计在 30% 到 50%,取决于请求序列的长度。」
「四到六路,」沈默重复了一下,「我现在张江的集群跑的是十六路并发,需要几块?」
「三到四块,」方宇明说,「加上 PCIe 接口,可以并联。」

「功耗呢?」
「一块功耗大约 1.8W,」方宇明说,「对比原来的做法,总功耗应该是降低的,因为减少了主机端频繁的内存带宽消耗。」
沈默把这些数字记在手机备忘录里,然后说,「你觉得,芯片回来之后,bringup 顺利的话,什么时候可以进张江的集群?」
方宇明想了一下,「如果七月初芯片回来,bringup 顺利的话两到三个月,」他说,「九月、十月之间有可能。」
「九月,」沈默说,「我记下来了。」
陆衍一直站在 B207 里听完了这段对话。
他注意到沈默和方宇明问的事情完全不在同一个维度。沈默问的是「能抗多少路」「需要几块」「功耗多少」「什么时候进集群」——每一个问题都落在部署和运营上,落在那个芯片在他的集群里工作的那一刻;方宇明回答这些问题的时候,措辞里始终有一个隐含的前提:「如果 bringup 顺利」——对他来说,「bringup 顺利」本身,是他现在最大的问题。

两个人谈的是同一块芯片,但各自在心里的那个芯片,不在同一个时间点上。
沈默走了之后,颜天磊在方宇明旁边说,「他问那些问题的时候,感觉芯片好像已经跑起来了。」
方宇明笑了一下,「对他来说,」他说,「跑起来是默认前提,他在想的是之后。」
「你在想的是,」颜天磊说,「能不能跑起来。」
「对,」方宇明说,「两件事的顺序没有办法换。」
陆衍后来把这个观察发给了豆包:「沈默和方宇明今天谈砺火一号,我发现他们各自心里的那个芯片不在同一个时间点上。沈默的芯片在九月,方宇明的芯片在七月。」
豆包:「这是工程师和用户之间的经典视角差异。工程师必须先解决「能不能」,用户已经在规划「如何用」——这两个问题顺序不能换,但同时存在是正常的。沈默提前规划,是因为他需要为集群采购和部署做准备;方宇明还在工程阶段,对他来说所有的规划都是有条件的。」
陆衍:「条件是 bringup。」

豆包:「是的。六月底到七月初,砺火一号出货,那时候两个人的时间线会合到同一个时间点。」
陆衍:「如果一切顺利。」
豆包:「如果一切顺利。这句话现在大家都说。」
那天晚上,B207 的灯一直开着。
许静远在整理最终的 bringup 测试脚本,把孟思远的 checklist 里每一条测试场景对应的 OpenOCD 和 Python 命令整理成可以直接运行的脚本文件;杜磊在检查焊接工具,确认 BGA 返修台的温度曲线设置正确;颜天磊在更新芯片手册,把试生产版本的一些接口细节补全。
「六月底,」贺志明在快离开的时候说,「不管怎样,它会来。」
没有人回答,但每个人都知道这句话是什么意思。