围绕FP64,英伟达和AMD正在竞争

作者:

CBINEWS

责任编辑:

邹大斌

来源:

电脑商情在线

时间:

2026-01-19 12:08

关键字:

英伟达 AMD HPC 仿真

双精度浮点运算(即FP64)是维系现代飞机飞行、火箭升空、疫苗有效乃至核武器正常运作的关键。然而,英伟达并未选择构建专门在硬件中处理这种关键数据类型的芯片,而是转而依赖仿真(emulation)来提升其在高性能计算和科学计算应用中的性能——而这一领域近年来一直由AMD占据领先地位。

需要指出的是,这种仿真并未取代英伟达GPU中的硬件FP64单元。英伟达最新发布的Rubin GPU仍可提供约33 teraFLOPS的峰值FP64性能,但实际上比四年前推出的H100还要低1 teraFLOPS。

不过,如果你在英伟达的CUDA库中启用软件仿真功能,据称该芯片可实现高达200 teraFLOPS的FP64矩阵性能——这是上一代Blackwell加速器在纯硬件模式下所能达到性能的4.4倍。

从纸面参数看,Rubin不仅是英伟达有史以来最强大的AI加速器,也是多年来用于科学计算的最强GPU。

英伟达超级计算产品高级总监Dan Ernst表示:“通过与合作伙伴的大量研究以及我们内部的深入调查,我们发现仿真所获得的精度至少不逊于专用张量核心硬件所能提供的结果。”

FP64仿真并非英伟达独有,它有望显著提升现代GPU的吞吐量和效率。但并非所有人都信服这一点。

AMD院士Nicholas Malaya告诉我们:“在某些基准测试中表现相当不错,但在真实的物理科学模拟中是否同样有效,目前还不明确。”他认为,尽管FP64仿真确实值得进一步研究和实验,但尚不具备大规模部署的成熟度。

为何在AI时代FP64依然重要?

尽管芯片设计正不断转向更低精度的数据类型,FP64在科学计算中仍是黄金标准,原因充分:FP64拥有无与伦比的动态范围,能够表达超过18.44 quintillion(即2⁶⁴)个唯一数值。

做个对比:像DeepSeek R1这样的现代AI模型通常使用FP8进行训练,仅能表达区区256个唯一值。得益于神经网络内在的高度同质性,业界还开发了如MXFP8或MXFP4等块浮点(block-floating-point)数据类型来扩展其动态范围。

这对大语言模型所依赖的“模糊数学”来说已足够,但绝不能替代FP64——尤其是在关乎生死的场景中。

与高度容错的AI工作负载不同,高性能计算(HPC)模拟依赖于质量守恒、能量守恒等基本物理原理。“一旦开始引入误差,这些有限误差会不断传播,最终导致模拟‘爆炸’(blow ups),”Malaya解释道。

FP64仿真与Ozaki方案

利用低精度(通常是整数)数据类型来仿真FP64的想法并非新事物。“仿真这东西老得不能再老了,”Ernst说,“早在1950年代中期,我们就在没有浮点硬件的情况下用软件做浮点运算了。”

这种方法需要执行更多操作,通常带来显著的性能损失,但使得即便在缺乏专用浮点单元(FPU)的硬件上也能进行浮点计算。

到1980年代,FPU已普及,仿真需求大幅减少。然而,2024年初,东京工业大学和芝浦工业大学的研究人员发表了一篇论文,重新激活了这一概念:他们证明FP64矩阵运算可以被分解为多个INT8操作,当在英伟达的张量核心上运行时,其性能甚至超过原生FP64硬件。

这种方法通常被称为Ozaki方案,也是英伟达去年底发布的FP64仿真库的技术基础。Ernst强调:“这仍然是FP64,不是混合精度,只是从硬件角度看,其实现方式不同而已。”

现代GPU堆满了低精度张量核心。即使不考虑Rubin张量核心中更先进的自适应压缩技术,这些芯片也能实现35 petaFLOPS的密集FP4计算性能。相比之下,在FP64下,其速度慢了1000多倍。

这些低精度张量核心制造和运行效率极高,因此问题就变成了:为什么不利用它们来做FP64?Ernst解释道:“我们有这些硬件,何不尝试用起来?这正是超级计算的发展史。”

但它真的准确吗?

尽管英伟达热衷于宣传其Rubin乃至旧款Blackwell GPU通过FP64仿真所实现的能力,竞争对手AMD却认为这种方法尚未成熟。

Malaya指出,FP64仿真在条件良好的数值系统中效果最佳,例如高性能Linpack(HPL)基准测试就是典型例子。“但当你转向材料科学、燃烧模拟、带状线性代数系统等领域时,这些系统条件较差,仿真方法就会迅速失效。”

换句话说,FP64仿真是否适用,高度依赖具体应用场景——对某些应用可行,对另一些则不行。同时,FP64仿真并不完全符合IEEE 754标准。英伟达的算法未处理诸如正零与负零的区别、非数值(NaN)错误或无穷大错误等问题。

Malaya解释,这会导致仿真过程中中间运算的小误差累积成扰动,最终影响结果准确性。

一种应对方法是增加运算次数,但到了某个临界点,所需操作数量之多反而会抵消仿真的性能优势。

此外,这些操作还占用更多内存。“我们的数据显示,使用Ozaki方案仿真FP64矩阵时,内存占用大约是原生实现的两倍,”Malaya说。

正因如此,AMD将重心放在为依赖双精度和单精度的应用开发专用硬件上。其即将推出的MI430X GPU利用AMD的小芯片(chiplet)架构,显著增强了双精度和单精度硬件性能。

弥合差距

Ernst清楚地意识到Ozaki等FP64仿真算法面临的挑战,也承认英伟达当前实现中存在不足。

他辩称,对大多数HPC从业者而言,正负零之类的问题“其实没那么重要”。同时,英伟达已开发出辅助算法,用于检测并缓解非数值、无穷大及低效仿真操作等问题。

至于内存开销,Ernst承认确实略高,但他强调这种开销是相对于具体运算而非整个应用而言的。“大多数情况下,我们处理的矩阵最多也就几个GB大小。”

因此,尽管FP64仿真确实不符合IEEE标准,但Ernst认为这是否构成问题,取决于具体应用。“在矩阵-矩阵乘法(DGEMM)这类场景中,IEEE合规性排序规则几乎从不生效。实际上,DGEMM本身通常就不遵循那些规则。”

对矩阵很友好,对向量却不尽然

即便英伟达能克服FP64仿真的潜在缺陷,也无法改变一个事实:该方法仅适用于依赖稠密通用矩阵乘法(DGEMM)的HPC子集。

Malaya表示,在60%至70%的HPC工作负载中,仿真几乎无法带来任何收益。“我们的分析表明,绝大多数真实HPC负载依赖的是向量融合乘加(vector FMA),而非DGEMM。我不会说这只是市场的一小部分,但它确实属于一个细分领域。”

对于计算流体动力学等向量密集型负载,英伟达的Rubin GPU只能依赖芯片CUDA核心中较慢的FP64向量加速器。

不过,Ernst迅速指出:更高的FLOPS并不总意味着更有用的FLOPS。那些依赖FP64向量引擎的工作负载,往往因内存带宽限制,实际利用率远低于理论峰值。

这一点在TOP500榜单中的向量密集型高性能共轭梯度(HPCG)基准测试中尤为明显——CPU凭借其内存子系统更高的“每FLOP比特数”比例,通常占据主导地位。

Rubin或许无法提供最快的FP64向量性能,但凭借22 TB/s的HBM4内存带宽,其在这些负载中的实际表现很可能远超规格表所暗示的水平。

FP64仿真,无论准备与否,已然到来

未来几年,大量基于英伟达Blackwell和Rubin GPU的新超级计算机将陆续上线,FP64仿真的可行性将很快接受现实检验。

由于这种仿真不依赖特定硬件,相关算法有望随时间推移不断优化——研究人员将逐步识别出该技术表现优异或乏力的具体场景。

尽管Malaya心存疑虑,但他也透露,AMD正在通过软件开关,在MI355X等芯片上探索FP64仿真的适用性。

他表示,若能实现IEEE合规性,将极大增强该方法的可信度,确保仿真结果与专用硅片一致。“如果我能对合作伙伴说:‘运行这两个二进制文件,它们给出相同答案,但这个更快——虽然底层用了某种方案’,那将是一个极具说服力、足以投入主流应用的论据。”

他补充道,某些应用可能比其他应用更适合仿真。“作为整个社区,我们应该构建一套代表性应用组合来进行评估。我认为这才是推动该领域进步的正确方式。”

ToB最前沿

ToB最前沿抖音号

CBI科技在线

地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 商务内容合作QQ:2291221 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除
京ICP备:2022009079号-3
京公网安备:11010502051901号
ICP证:京B2-20230255