学霸的模拟器系统 第482节
下午三点。
正值大退潮。
游艇停靠在了一片无人沙洲(Sandbar)旁。
原本淹没在海面下的白色沙滩露了出来,像一条白色的鲸鱼脊背,把海水劈成了两半。
克莱尔和方雪若还在船上享受空调和下午茶。
程新竹和方佩妮蹲在沙洲的一头,正在进行一项浩大的工程——堆沙堡。
或者说,是在挖水渠。
程新竹拿着一个小塑料铲子,指挥若定:“Penny,这边的护城河要挖深一点,引海水进来,不然城堡太干了会塌。”
方佩妮老老实实地用手刨着沙子,挖出一条弯弯曲曲的沟槽,连通了海水。
海水顺着沟槽流进来,灌满了那个所谓的“护城河”。
林允宁坐在不远处的一块礁石上,手里拿着一瓶科罗娜啤酒,已经温了。
他没喝。
他的视线死死地盯着那条水渠。
水在流。
沙子不动。
水流经过沙子构成的弯道时,被沙壁阻挡,改变了方向,流速也发生了变化。
“不动……”
林允宁喃喃自语。
他的脑子里,昨天那个“脉动阵列”的概念正在疯狂生长,但遇到了一个巨大的工程障碍——能耗。
如果你要让几百万个数据在芯片里跑来跑去,就像是一群人在搬砖。
每次从内存(DRAM)里读取数据,消耗的能量是从本地缓存(SRAM)读取的几百倍。
如果每个时钟周期,都要把权重(Weights,神经网络的参数)搬进搬出,那这块芯片还没算完第一层网络,就会因为过热而烧毁。
热力学定律,就是这样冷酷。
他盯着方佩妮手里的动作。
她把一堆湿沙子堆在水渠中间,做成了一个阻挡块。
水流冲过来,漫过沙堆,继续流向下一个坑。
沙堆没动。
只有水在动。
“权重……驻留(Weight Stationary)。”
林允宁的瞳孔猛地收缩。
为什么要把权重搬来搬去?
如果把权重当成这些固定的沙子呢?
把权重数据预先加载到每一个计算单元(PE)里,锁死。
然后让输入数据(Inputs)像这股海水一样,从左边流进去,流过这一个个固定的“沙堆”。
在流动的过程中,数据和权重完成乘法运算。
算出来的结果(部分和,Partial Sums),再像接力棒一样,流向下游的单元。
这样,权重数据只需要读取一次!
内存访问量瞬间降低了一个数量级!
“系统。”
林允宁扔掉手里的啤酒瓶,瓶子落在沙地上,发出一声闷响。
【启动模拟科研】
【课题:基于权重驻留(Weight Stationary)机制的脉动阵列能效分析。】
【注入模拟时长:500小时。】
周围的欢笑声、海浪声瞬间消失。
意识沉入那个纯白的逻辑空间。
【第10小时:你构建了一个16x16的二维阵列。每个单元包含一个乘加器(MAC)和本地寄存器。】
【第50小时:你尝试了“输出驻留”和“输入驻留”,发现都不如“权重驻留”节能。因为在卷积神经网络中,权重矩阵的复用率最高。】
【第150小时:你模拟了数据流。输入数据从左向右流动,部分和(Partial Sums)从上向下流动。每个时钟周期,所有单元同时工作。像心脏泵血一样,数据在阵列中有节奏地“脉动”。】
【第300小时:能耗分析。相比传统的冯·诺依曼架构(CPU/GPU),这种架构减少了90%的内存访问。能效比(TOPS/W)提升了30倍!】
【第480小时:你发现了一个问题。数据流动的时序必须极其精准。你需要设计一套复杂的FIFO(先进先出队列)缓冲机制,来保证数据在正确的时间到达正确的位置。这就好比几百列火车同时进站,不能撞车。】
【模拟结束。】
林允宁猛地眨眼。
现实世界的阳光重新刺入视网膜。
他跳下礁石,冲到方佩妮挖的那条水沟旁。
“老板?你也要玩沙子吗?”
方佩妮举着沾满沙子的小手,一脸茫然。
林允宁没理她。
他直接伸手,抓起一把湿润的沙子,在手里用力一捏,捏成一个结实的方块,拍在地上。
“这是乘法器。”
他又抓了一把,拍在旁边。
“这是寄存器。”
他眼神狂热,自言自语:
“不动如山,动如流水……这就是张量处理单元的灵魂。”
……
黄昏。
潮水开始上涨。
海水一点点吞噬着白色的沙洲,留给他们的领地越来越小。
其他人已经回到了游艇上准备晚餐。
只有林允宁还在沙滩上。
他找了一根漂流木,在一块尚未被海水浸湿的平整沙地上,疯狂地画着图。
那不再是小孩子的涂鸦。
那是精密的工程蓝图。
一个个方块代表着PE(处理单元),箭头代表着数据流向。
Data_in ->[ MAC | W ]->[ MAC | W ]->...
他在旁边标注着密密麻麻的算式:
Latency = 3N - 2
Buffer_Size = N
他完全沉浸在自己的世界里,连海水已经打湿了脚背都没感觉到。
这就是他要找的答案。
专门为AI生的芯片。
抛弃通用性,追求极致的矩阵计算效率。
“给。”
一个声音在头顶响起。
沈知夏光着脚站在他身边,手里拎着两瓶冰啤酒。
她换了一件宽松的白T恤和牛仔短裤,长发被海风吹得乱糟糟的。
林允宁停下笔,抬起头。
眼神还有点发直,像是刚从另一个维度穿越回来。
“喝口水吧,嘴唇都起皮了。”
沈知夏把啤酒递给他,然后盘腿坐在他旁边的沙地上。
她看了一眼地上那幅鬼画符一样的图,虽然看不懂,但她知道这东西对林允宁很重要。
“快涨潮了。”
她指了指不远处正在逼近的浪线。
“再给我十分钟。”
林允宁喝了一口啤酒,又迅速趴回去,“还有一个数据对齐的问题没解开。”
沈知夏没催他。
她放下啤酒瓶,站起身。
她走到图纸的外围,也就是浪水涌来的方向。
她蹲下身,开始用手刨沙子。
她在林允宁的图纸外围,筑起了一道半米高的沙坝。
动作很快,很有力。
上一篇:影视:开局从同过窗开始进步!
下一篇:返回列表
