乘法比加法快12倍。

说实话,我第一次看到这句话的时候,以为是写错了。

在座各位但凡学过一点计算机组成原理,都知道加法是CPU里最基础的操作,一个周期搞定。乘法呢?通常要慢一些,流水线深一些,硬件复杂一些。

但这个叫nCPU的项目,它把整个CPU的ALU换成了神经网络。

然后——

乘法21微秒,加法248微秒。

倒过来了。

一个GPU程序,假装自己是CPU

先说清楚这玩意儿到底是干嘛的。

nCPU,全称Neural CPU。它不是一个用Python写的模拟器,不是那种"在GPU上跑x86指令"的仿真层。

AI配图

它是一个彻头彻尾的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微秒。

AI配图

加法用进位前瞻算法(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上引发了一些有意思的争论。

AI配图

第一条热门评论说:

"每个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