乘法比加法快12倍。
说实话,我第一次看到这句话的时候,以为是写错了。
在座各位但凡学过一点计算机组成原理,都知道加法是CPU里最基础的操作,一个周期搞定。乘法呢?通常要慢一些,流水线深一些,硬件复杂一些。
但这个叫nCPU的项目,它把整个CPU的ALU换成了神经网络。
然后——
乘法21微秒,加法248微秒。
倒过来了。
一个GPU程序,假装自己是CPU
先说清楚这玩意儿到底是干嘛的。
nCPU,全称Neural CPU。它不是一个用Python写的模拟器,不是那种"在GPU上跑x86指令"的仿真层。
它是一个彻头彻尾的GPU程序。
所有CPU的状态——31个64位寄存器、内存、标志位、程序计数器——全部以PyTorch张量的形式永久驻留在GPU上。指令的取指、译码、执行、写回,整个流水线全在GPU上跑。
它甚至支持完整的ARM64指令集。MOV、ADD、SUB、MUL、DIV、JMP、HALT,要什么有什么。
但每一项运算都不走传统电路。
ADD是一个训练好的神经网络。
MUL是另一个训练好的神经网络。
所有ALU操作,都是推理。
这就好比你家有一台超级跑车,平时是用来接送孩子买菜的。
现在有人把发动机拆了,换成了一批训练有素的马。
马说:交给我。
那个反直觉的性能表,我看了三遍
项目里有一张性能数据表,信息密度极高,看完让人有点恍惚。
首先是时间复杂度分层:
- O(1)单次查找:约21微秒
- O(log n)并行前缀进位:约248微秒
- O(n)顺序传递:500-900微秒不等
然后是几个具体的对比:
乘法用字节对查找表(LUT),21微秒。
加法用进位前瞻算法(CLA),248微秒。
慢了12倍。
在传统CPU里完全反过来。乘法电路比加法复杂得多,延迟通常是加法的2-3倍。
但nCPU里的乘法不需要"进位"这个概念。它直接查表,一次搞定。输入两个数,输出一个数,没有中间状态,没有串行依赖。
加法不行。加法必须处理进位传播,从低位到高位,一个一个算。哪怕用了Kogge-Stone并行前缀算法,把时间从826微秒压缩到248微秒,它还是比乘法慢。
这个反转让我想起了评论区里的一句话:
"有趣的是,乘法比加法快。传统CPU里MUL比ADD慢。在神经CPU里,倒过来了。"
确实倒过来了。
而且向量化的收益巨大。移位操作从2833微秒降到434微秒,6.5倍提升。
原因很简单:64次顺序Pass变成3次批量Pass,GPU的并行优势在这里发挥得淋漓尽致。
评论区吵起来了
这项目在GitHub上引发了一些有意思的争论。
第一条热门评论说:
"每个ALU操作都是训练好的神经网络。哦……哦。有意思。但不是我期望的那种'有意思'。"
话里有话。
有人认真思考了一个问题:
"我们是不是在用错误的方式使用GPU?"
评论区里有个比喻特别精辟:
"每个建议完全放弃CPU、转向GPU的人,根本不知道自己在说什么。他们就像建议用兰博基尼犁地、用拖拉机参加纳斯卡赛车。"
话糙理不糙。
GPU擅长的是大规模并行吞吐,延迟对它来说不是第一位的。CPU擅长的是低延迟串行执行,每个周期都要有用。
用GPU做所有事情,就像让一个合唱团唱独唱。
不是不能唱。
是没必要。
另一个评论问到了点子上:
"这比真正的CPU慢多少?"
答案是:慢很多。
2.5帧每秒的Doom光线投射,神经网络模式。对比传统CPU模式,输出完全一样,但速度天差地别。
所以这项目目前来说,更像是一个概念验证。
一个证明:CPU的所有功能,理论上都可以用神经网络实现。
但不是最优解。
但等等——谁说我们需要最优解?
我突然想到一个问题。
GPU这个名字,本身就是一个历史遗留问题。
现在数据中心的GPU,有几个在处理图形?
它们在跑大模型、跑科学计算、跑数据挖掘。
叫"GPU"只是因为历史原因。架构早就不是为图形设计的了。
那未来呢?
如果神经网络的灵活性足够高,如果专用电路的优势被逐渐抹平,我们会不会看到一种新的计算范式?
不是"CPU加GPU",而是"全在GPU上"。
nCPU的作者在论文里提了一个更远的愿景:
也许未来的处理器,本质就是一堆神经网络。
传统电路做固定功能,神经网络做可配置功能。
当神经网络的训练和推理足够快,硬件本身的固定功能反而成了限制。
这个想法六年前就有人提过。
现在有人把它实现了。
一些细节
项目是开源的,MIT协议。
支持固定点运算(scale 1024),所有计算保持在32位整数范围,和nCPU的纯整数ISA匹配。
有两种运行模式:神经网络模式和传统模式。执行完全相同的算法,产生完全相同的输出,唯一的区别是算术路径是否经过神经网络。
有测试套件:pytest tests/ -v
覆盖神经桥接、数学运算、架构前向传播、除法。
最后
我认真想了一下这个项目的意义。
它不会取代CPU。
它甚至不会威胁任何现有的硬件设计。
但它打开了一扇门。
一扇让我们重新思考"计算到底是什么"的门。
加法一定比乘法慢吗?
CPU一定需要固定功能的ALU吗?
GPU除了跑神经网络,还能跑什么?
这些问题没有标准答案。
但有人正在用代码探索答案。
这就够了。
【MiniMax-M2.1锐评】:一篇"反常识"的技术报道,用"乘法比加法快12倍"的冲突感开场,串起整个项目的技术细节和行业争论,最后落脚到"重新定义计算"的哲学思考。有冲突,有细节,有温度。
参考链接:
https://github.com/robertcprice/nCPU