88 核跑赢 x86,英伟达却把白皮书写砸了

英伟达发布了一份 45 页的白皮书,详细介绍 Vera——这家公司首款围绕自研 Olympus 核心打造的服务器 CPU。硬件规格相当亮眼,但技术分析媒体 Chips and Cheese 的乔治·科兹马(George Cozma)与切斯特·林(Chester Lam)在 8 月 5 日刊出的分析中给出了一个略显尴尬的结论:这份白皮书最有说服力的部分是硬件,最站不住脚的是包在硬件外面的那套说辞。

先说硬件:Olympus 确实够硬

Vera 采用 88 核单片计算裸片。Olympus 是一颗 10 发射宽度的 Arm v9.2 乱序核心,配备值预测、图预取器、每核 2MB 私有二级缓存,全芯片共享 164MB 末级缓存,并通过 8 个 LPDDR5X 内存接口提供 1.2TB/s 带宽。

具体到核心内部:前端每周期可解码 10 条指令,每周期最多处理两个已跳转分支;英伟达还提到了神经分支预测器、内存重命名、大指令窗口、6 条 128 位 SVE 管线、4 条加载管线、2 条存储管线、96KB 一级数据缓存,以及访问 2MB 私有二级缓存约 10 个周期的延迟。88 颗这样的核心挂在一条 3.4TB/s 的一致性总线后面,共享一块分布式的 164MB 系统级缓存。

内存子系统同样激进:8 个 SOCAMM2 LPDDR5X 模块,最高 1.5TB 容量、1.2TB/s 带宽,而英伟达称整套内存子系统功耗仅约 50 瓦。传统的 EPYC 或至强平台可以用容量更大、更换更方便的内存条,但要为这份灵活性付出板卡面积和功耗的代价。

独立测试也支持这一判断。今年 5 月,Phoronix 的迈克尔·拉拉贝尔(Michael Larabel)用一套早期 Vera 系统对比了当下的 Arm 和 x86 服务器。在英伟达允许的测试范围内,Vera 的几何平均成绩比主频 5.0GHz 的 EPYC 9575F 高出 10%,是至强 6980P 的 1.55 倍、上一代 Grace 的 1.63 倍——这是目前公开测试中性能最强的 Arm 服务器处理器。

不过这场测试有几处重要限制:可测的工作负载范围由英伟达指定,不允许监测频率和功耗,被测系统是预生产版本,测试窗口只有一天。真正全面的评估,得等 Vera 流入市场而不只是待在英伟达的实验室里。

争议一:换个名字,SMT 还是 SMT

白皮书的图 5 把「传统 SMT(x86)」与英伟达的空间多线程(Spatial Multithreading)放在一起对比。x86 那一侧被画成分支预测器、解码、执行、访存各级流水线在两个线程之间交替;配图说明称 Vera 通过在两个硬件线程之间划分资源,避免了「机会性的时间分片」。

Chips and Cheese 指出,这张图对 SMT 的通常实现方式给出了误导性的印象。实际的 SMT 实现中,取指、解码、分配等阶段一般是按周期选择服务哪个线程,而执行和访存阶段则与线程无关,同一个周期内可以同时处理两个线程的微操作。只要两个线程都有指令可喂,这些阶段并不会像图里暗示的那样空转。在没有单线程停顿的情况下,静态分区和按周期选择给出的平均吞吐是一样的;一旦出现停顿,按周期选择反而能把闲置的吞吐让给没有停顿的那个线程。反过来,像英伟达建议的那样静态划分资源,可能出现一个线程算力吃紧却用不了另一半执行单元的情况——因为那部分被留给了另一个线程。

英伟达的文字强调空间多线程在「确定性、隔离性和服务质量」上的优势,唯独没有提性能。考虑到目标市场,服务质量可能确实比吞吐更重要,这未必是个糟糕的设计取舍。问题在于配图的纵向布局容易被读成时间轴,让人误以为空间多线程能带来比传统 SMT 更大的性能收益。

还有一个细节值得注意:当同一核心上的同伴线程结束后,Olympus 核心需要约 1 万个周期才能切回单线程模式。这意味着软件在往 Olympus 核心上启动第二个线程时必须格外谨慎,除了分区方案本身的代价之外,还要承担切回单线程的延迟。

争议二:32 个 NUMA 节点是个稻草人

白皮书接着告诉读者,一套双路 x86 大系统可以暴露「多达 32 个 NUMA 域」,而 Vera 每路只有一个。

这个数字并非杜撰。在多小芯片的 EPYC 系统上,管理员确实可以把缓存本地区域作为独立的 NUMA 节点暴露出来,如果把所有局部性相关的开关都调到最细粒度,节点数就会变得很大。

英伟达没说的是,这是可配置的。AMD 的调优指南列出了 NPS4、NPS2、NPS1 乃至 NPS0 等多种模式,可选的「末级缓存即 NUMA」设置能把每个末级缓存域单独暴露出来。换句话说,「32 个 NUMA 节点」不是小芯片架构 CPU 不可避免的用户体验,它只是局部性控制光谱的一个极端。英伟达把一种可选的高粒度配置,说成了 x86 系统的必然现实。

每路一个域确实简化了调度和内存放置,而多个域则让调优过的软件可以利用物理局部性。Vera 选择了更简单的呈现方式,英伟达完全有理由主张这更贴合自家软件栈。但操作系统看到的 NUMA 节点只是一层抽象,不是虫洞。Vera 依然有 88 个核心、分布式的缓存与归属节点、环绕大裸片布置的内存控制器,以及一条包交换的一致性总线。扁平的软件拓扑可以让这些距离更加一致,却无法让它们消失。

白皮书里的核对核延迟热力图本该是量化这项优势的好地方,结果给出的只是一堆彩色方块:没有核心编号、没有最小/中位/最大值表格、没有分布、没有测量方法。「最高降低 50%」记录的是英伟达拿到的最好成绩,而不是 Vera 的典型表现。

争议三:把 SPEC 测试说成「智能体基准」

到了跑分环节,这份本该讲 CPU 的白皮书开始戴上一枚不知从哪儿捡来的 AI 会议胸牌。

英伟达从 SPEC CPU 2026 整数测试中挑出四个子项——CPython、GCC、LLVM 和 Cppcheck——称之为「智能体基准」。而 SPEC 官方对它们的描述是:一个 Python 解释器、两个优化编译器和一个 C/C++ 静态分析器。

这些都是正经的 CPU 程序,会给指令占用、分支密集代码、内存分配和依赖链带来压力,智能体当然也可能调用这类程序。但它们本身不是智能体:没有模型在输出 token,没有智能体运行时在挑选工具,没有沙盒启动、没有 I/O 阻塞、没有检索上下文、没有评估答案、也没有把观测结果反馈进策略。把它们叫作「智能体基准」,等于把一部分重叠说成了完整的端到端负载。

争议四:归一化数字放大了优势

白皮书正确地把 SPEC 结果标注为估计值,因为运行时 Vera 参考硬件尚未普遍上市。图 15 显示,在满载双路系统下按物理核心归一化后,这四个选定子项有 1.7 到 1.8 倍的优势。

但翻到配置页会看到另一组数字:完整的 SPECrate 2026 Integer Base 估计总分,双路 Vera 为 925,双路 EPYC 9755 为 898——系统吞吐优势只有 3.0%。

两个数字都成立。Vera 双路共 176 个物理核心,EPYC 系统则是 256 个。用各自的物理核心数一除,Vera 在整套整数速率测试中每核约快 50%,而在选出的那几个子项上达到 70% 到 80%。Vera 的单核性能确实很强,但把这些测试包装成智能体负载、再着重展示归一化数字,会让优势显得比已披露的结果所能支撑的更宽泛。

还有一处术语打架:英伟达把图 19 称为「单线程 IPC」,描述的却是一套满载系统——公开的配置是在 176 个 Vera 核心上跑 352 个副本,在 256 个 EPYC 核心上跑 512 个副本,每个物理核心两个。到底是在同伴线程活跃时采样了一个逻辑线程,还是把计数器聚合后做了除法,白皮书没有交代。

至于 IPC 领先的归因,英伟达列出了四组计数器:视工作负载而定,Vera 号称每周期多出最高 2.3 倍的分支预测、3.5 倍的已跳转分支、2.4 倍的取指操作和 4.3 倍的后端操作。问题是这些比值都没有定义,却被当成因果证据来用。

那些「独门技术」其实都有前例

值预测确实是 Olympus 较为独特的一处加法:如果核心正确预测出某个结果,依赖它的指令就能继续推进,而不必堆在一条长延迟操作后面排队。这个方向学术界研究已久,有研究者发现苹果在自家核心中用了值预测,AMD 也谈过 Family 17h(Zen 1 和 Zen 2)能预测部分浮点指令的结果——只是 AMD 那次的实现相当受限,Olympus 看起来更接近苹果的广度。

图预取器则算不上英伟达独有。英特尔有一套类似机制叫数据依赖预取器,至少从 2022 年起就在量产芯片中出现;其最新的数据中心处理器 Granite Rapids 还有一个「指针数组」预取器,会「把为固定步长加载预取的数据当作指针,并向该指针值对应的内存地址发出预取请求」。这与英伟达描述的图预取器在生产者—消费者思路上如出一辙。英特尔的实现较为受限,英伟达的版本或许能处理更复杂的依赖链,但这个想法本身并不新。

神经分支预测器同样有前例。早在 2012 年,AMD 就在推土机改进版 Piledriver 微架构中实现了感知机分支预测器,并在 Zen 1 上延续使用。但从 Zen 2 开始,AMD 只让感知机负责初始方向预测,再由 TAGE 预测器覆盖——因为后者带来了 30% 的误预测降幅。到了 Zen 5,AMD 很可能已经全面转向 TAGE,甚至在 Zen 3 或 Zen 4 时代就完成了这一转变。

Chips and Cheese 的落点很清楚:Vera 本不需要这些额外的包装,早期的独立测试已经证明 Olympus 是一颗真正强悍的核心。硬件说得通,故事讲过了头。

来源:Chips and Cheese、Phoronix、英伟达开发者博客