今天咱们来聊聊显卡界的"巨无霸汉堡"——Nvidia家的Blackwell架构!
【Blackwell:英伟达的最新“大杀器”】
老黄家祖传手艺就是造"显卡巨无霸",这次Blackwell架构直接整了个狠活!GB202芯片有多大呢?(比划)相当于把750个1毫米见方的小方块拼在一起,里面塞了922亿个晶体管!什么概念?相当于给全校同学每人发10万颗芝麻还要多!
GB202里面有192个流式多处理器(SM)。你可以把这些SM理解成显卡上的“小CPU核心”,每个核心都能独立处理任务。而且,英伟达还给它们配了超大的内存系统,保证这些小核心能吃得饱饱的,尽情地工作。
目前,英伟达最新、最强的显卡,叫做RTX PRO 6000 Blackwell,它用的就是最完整的GB202芯片。它和另一款显卡RTX 5090一起,是英伟达的“顶配组合”。虽然RTX 5090也用了GB202,但为了拉开档次,它把一些SM给“阉割”了,没那么完整。
【英伟达和AMD的“肌肉秀”】
英伟达的Blackwell到底有多强?我们来跟他们的老对手AMD(超微)的显卡比一比。AMD最新的RDNA4系列显卡,最厉害的是RX 9070和RX 9070XT。我们拿RX 9070来比较一下,因为它稍微“削弱”了一点点,更能看出整体的实力差距。
特别感谢Will Killian,是他让我们能用RTX PRO 6000 Blackwell系统来做测试,所以这篇“揭秘”文章才得以诞生!
【显卡的工作方式:就像高效的流水线】
电脑CPU(中央处理器)处理任务,就像是先排队,然后一个一个来。但显卡(GPU)不一样,它有自己独特的“工作分配”方式。它会用专门的硬件来启动任务,就像是直接给每个工人分配任务,不用等待操作系统来安排。这种方式特别适合显卡那种又短又多的任务。
Nvidia显卡最基本的“工人”就是流式多处理器(SM),就像前面说的,你可以把它看作一个个小CPU核心。这些SM又被分组到图形处理集群(GPC)里面,每个GPC都有一个“光栅化器”和一套负责分配任务的硬件。
GPU有个神奇技能叫"硬件线程调度"!(举例子)就像课代表发试卷:CPU是老师一个个点名发(OS调度),GPU是课代表直接天女散花!Blackwell的192个SM单元相当于192个学习小组,但班主任(GPC)只有12个,管起来有点手忙脚乱~
Blackwell的秘密武器:1个GPC管16个SM。而以前的Ada Lovelace架构,1个GPC只能管12个SM。这意味着什么呢?打个比方,以前一个“工头”只能管12个工人,现在能管16个了,这样英伟达就能更“省钱”地增加SM的数量,也就是提高显卡的计算能力,而不用增加更多的“工头”和配套设备。
但是!凡事有利有弊。如果任务特别短,还没来得及分配出去就被SM干完了,那效率就会受影响。因为分配任务的速度,可能会成为瓶颈,而不是SM干活的速度。
AMD的RDNA4架构有点不一样,它是一个“着色器引擎”管8个“工作组处理器(WGP)”。AMD的WGP就相当于Nvidia的SM,它们处理任务的能力差不多。
AMD的这种设计,在处理那些“短平快”的任务时,会更顺手。但话说回来,英伟达的Blackwell也不是什么“异类”,这种“只增加核心数量,不增加配套硬件”的设计,其实是造大型显卡常用的“套路”。比如AMD以前的RX 6900XT显卡,也是这种套路。甚至再往前,AMD更老的显卡,也是一个“着色器引擎”管16个“计算单元”。
虽然Blackwell和那些老旧的AMD显卡有着相同的比例,但Blackwell的时钟频率更高(干活更快),而且它发射任务的速度也更快。所以,它不会像10年前的那些老显卡一样,被“短任务”给卡住。不过,GB202这种巨无霸,确实比小显卡更难“喂饱”,需要更多、更稳定的任务才能发挥最大威力。
Blackwell的新技能:多任务并行
英伟达虽然没有增加“工作分配”的硬件,但他们给Blackwell增加了新功能!以前的英伟达显卡,在处理不同类型的任务时,比如图形任务和计算任务,需要“暂停”切换,这就好比你写作业写到一半,要等所有题目都做完了,才能开始下一个科目。这样会浪费很多时间,即使游戏并不需要这种严格的顺序。
Blackwell取消了这个“暂停切换”! 现在,如果你的游戏经常在同一个任务队列里混合不同类型的任务,Blackwell就能更高效地把这些任务塞给SM去处理,不再有那种“等候空闲”的情况了。
SM的“大脑”:指令处理
SM在接到任务后,会先“阅读”程序指令,然后把它们发给执行单元去处理。Blackwell的指令是固定长度的,就像是所有的指令都写在相同大小的纸条上,而且SM还有两级指令缓存(L0和L1),就像有两个“速查手册”。
这些指令比较长,所以需要很大的“带宽”来传输。L0和L1指令缓存就是为了解决这个问题。L0缓存离SM更近,小而快,可以保证每个周期都能提供一条指令。而L1缓存更大,可以储存更多的指令,就像是SM的“图书馆”。
Blackwell的L1指令缓存可能有128 KB那么大,可以储存大约8000条指令,比以前的英伟达显卡大了很多。
L0缓存是32 KB,也比以前大。理论上,L1缓存可以支持一个SM的所有分区,并且可以过滤掉重复的指令请求。但如果两个任务同时运行不同的代码,L1缓存的带宽可能会成为瓶颈,导致每个任务的效率下降一半。
AMD的指令长度是可变的,就像指令可以写在不同大小的纸条上,这样就节省了缓存空间和带宽。RDNA4有一个32 KB的指令缓存,由一个WGP共享。每个SIMD(AMD WGP的子单元)每个周期可以获取32字节的指令,考虑到AMD指令更紧凑,这个带宽非常巨大。这可能是为了确保每个SIMD都能持续地向它的向量和标量单元发送指令。在测试中,RDNA4的L1指令缓存可以完美地支持两个任务同时运行不同的代码,而且它的L2缓存读取带宽也更好。
显卡的“肌肉”:执行单元
每个Blackwell SM分区最多可以同时处理12个任务,用来隐藏延迟。这比RDNA 4上每个SIMD能处理的16个任务要少一些。实际能处理多少任务,还受到“寄存器文件容量”的限制,寄存器就像是SM的“小黑板”,用来临时存放数据。
自从Ampere架构以来,英伟达就没有改变过理论上能处理的任务数量和寄存器文件容量。这意味着,如果一个任务想使用所有12个任务槽,那它使用的寄存器就不能超过40个。
而AMD的RDNA 3/4系列显卡的SIMD,有192 KB的向量寄存器文件,可以让任务使用多达96个寄存器,同时保持最大效率。这意味着AMD的“小黑板”更大,能记更多的信息。
Blackwell的主要FP32(浮点)和INT32(整数)执行流水线进行了重新设计,内部被安排成一个32宽的执行流水线。这有点像AMD的RDNA显卡,也像英伟达以前的Pascal显卡。这意味着Blackwell在处理相同类型的长时间操作时,就不需要停下来等待。Blackwell还继承了Turing架构的优势,每个分区每个周期能进行16次INT32乘法运算。而Pascal和RDNA显卡的速度只有它的四分之一左右。
AMD的RDNA4在每个SIMD中塞入了大量的向量计算能力。就像RDNA3一样,RDNA4可以通过“VOPD双发射指令”或“wave64模式”,每个分区每个周期完成64次FP32操作。AMD的SIMD还可以同时处理来自不同任务的不同类型指令,而英伟达的调度单元每个周期只能处理一条指令。RDNA4的SIMD还包含了8个特殊功能单元(SFU),而英伟达只有4个。这些单元处理更复杂的运算,比如开方、倒数和三角函数。
尽管Blackwell和AMD在执行单元的布局和数量上有所不同,但Blackwell庞大的SM数量,足以弥补这些差异。即使RX 9070能利用双重发射,它那28个WGP也无法与英伟达的188个SM相提并论。英伟达在每个方面都保持着巨大的领先优势。
SM的“小金库”:内存子系统
像Ada Lovelace和Ampere一样,Blackwell有一个SM级别的128 KB存储块,它可以作为L1缓存,也可以作为共享内存。共享内存就是英伟达说的“软件管理的暂存器”,你可以把它想象成SM自己随时能拿到的“小金库”。
AMD的对应叫做“本地数据共享(LDS)”。与数据中心显卡不同,英伟达没有增加L1/共享内存的容量。而且,不同的L1/共享内存分配方式,并不会影响L1的延迟。
AMD的WGP使用更复杂的内存子系统。WGP有一个128 KB的LDS,它里面又分成了两组64 KB的“小金库”,通过一个“交叉开关”连接。还有给SIMD用的L0缓存,以及一个16 KB的标量缓存。所以RDNA4的WGP总共有208 KB的数据端存储,用来做不同的事情。
RDNA4的WGP从它的私有存储中获取数据时,能获得更高的带宽。每个L0向量缓存每个周期能提供128字节的数据,LDS每个周期能向WGP提供总共256字节的数据。混合本地和全局内存流量可以进一步增加可实现的带宽,这说明LDS和L0向量缓存有各自独立的数据总线。
英伟达做同样的事情,每个SM的吞吐量不会超过128 B/周期,这说明它的128 KB的L1/共享内存块到执行单元只有一条128 B的路径。
但是,AMD的优势可能会被它自己的“短板”抵消。RX 9070为了把功耗控制在220W以内,把时钟频率降到了2.6 GHz。而英伟达的功耗限制更高,达到600W,所以它能保持接近最高时钟速度,同时从SM专用的L1/共享内存中提供128 B/周期。
就像计算能力一样,英伟达巨大的规模,再次让那些核心层面的小差异变得无关紧要。RTX PRO 6000 Blackwell上的188个SM,总共拥有超过60 TB/s的带宽!这简直是个天文数字! 高SM数量也意味着英伟达有更多的L1/本地内存。RTX PRO 6000上有24 MB的L1/共享内存,而AMD的RX 9070在它的WGP中只有不到6 MB的一级数据存储。
SM的私有存储通常能提供很低的延迟,Blackwell也不例外。Blackwell在几个方面与AMD不相上下,其中一部分优势归结于“迭代”。英伟达可以用一条指令就把数组索引转换成地址,非常高效。
AMD通过其标量单元也能快速生成64位地址,但只能在编译器确定地址计算在整个任务中是恒定的情况下才能使用。如果每个通道都需要独立生成自己的地址,AMD的向量整数单元只能以32位数据类型进行本地操作,并且必须执行带进位的加法来生成64位地址,这比较麻烦。
由于地址生成和缓存延迟是无法分离的,英伟达在L1向量访问延迟方面享有更好的表现。如果编译器能进行标量优化,AMD可能会稍微快一点。
显卡还可以把地址生成任务转移到纹理单元,纹理单元也能处理数组地址计算。如果纹理单元进行地址计算,AMD能享受更低的延迟,但英伟达不行。
“原子操作”的角逐
显卡通常使用专门的硬件来处理原子操作,比如对本地内存或全局内存的读写。这和CPU不一样,CPU是靠锁定缓存行来保证操作顺序的。英伟达每个SM似乎有16个INT32原子ALU(算术逻辑单元),而AMD每个WGP有32个。
但遵循我们熟悉的趋势,英伟达可以凭借更大的显卡来击败AMD,至少在本地内存原子操作方面是这样。RTX PRO 6000和RX 9070在全局内存中的原子加法吞吐量惊人地相似,这表明英伟达要么拥有更少的L2库,要么每个库的原子单元更少。
RDNA4和Blackwell在任务通过原子比较和交换操作交换数据时具有相似的延迟,尽管AMD稍微快一点。RX 9070是一款更小、时钟频率更高的显卡,两者都有助于降低在显卡上移动数据时的延迟。
整个显卡的“大水库”:内存子系统
Blackwell采用传统的两级数据缓存设置,但它延续了Ada Lovelace增加L2容量的策略,目的是为了达到和AMD的“Infinity Cache”一样的效果。Blackwell的L2延迟回升到略高于130纳秒,而Ada Lovelace是107纳秒。英伟达的L2延迟继续位于AMD的L2和Infinity Cache延迟之间,尽管现在它明显更接近后者。
有测试表明,更小的RTX 5070比RTX 4090也有更高的L2延迟(122纳秒),即使5070有更少的SM和更小的L2。GB202的L2延迟回升,一部分可能来自于它巨大的规模,但5070的结果表明还有其他原因。
RTX PRO 6000 Blackwell的显存(VRAM)延迟控制在329纳秒,比L2命中延迟高约200纳秒。AMD的RDNA4在显存延迟方面表现更好,向量访问是254纳秒,标量路径是229纳秒。奇怪的是,英伟达之前的Ada Lovelace和Ampere架构比Blackwell享有更好的显存延迟,而且和RDNA4及RDNA2在同一个水平。
Blackwell的L2带宽约为8.7 TB/s,略高于RX 9070的8.4 TB/s。英伟达在更大的测试规模上保留了巨大的优势,AMD的Infinity Cache提供的带宽不到它的一半。在显存方面,Blackwell的GDDR7显存和512位内存总线继续领先AMD。
英伟达的L2性能值得我们密切关注,因为这是RX 9070与巨型RTX PRO 6000 Blackwell惊人接近的一个领域。GB202的芯片照片显示有64个缓存块,这表明L2被分成了64个“存储体”。如果是这样的话,每个存储体可能每个周期提供64字节。这比Ada Lovelace最大的AD 102芯片中的48个L2模块有所增加。然而,英伟达的L2作为L1未命中的第一站和大型末级缓存,仍然面临着艰巨的任务。换句话说,它正在做AMD的L2和Infinity Cache级别的工作。减少缓存级别肯定有好处,因为检查缓存级别会增加延迟和功耗。然而,高速缓存还必须在容量、性能和功率/面积成本之间进行权衡。
英伟达可能依靠其灵活的L1/共享内存安排来控制L2带宽需求,并将SM与L2延迟隔离。如果任务不需要本地内存,Blackwell SM可以使用其整个128 KB L1/共享内存块作为L1缓存,而AMD WGP则只能使用两个32 KB向量缓存和一个16 KB标量缓存。然而,如果一个任务受限于本地内存容量,其数据占用量在几兆字节的范围内,这将使英伟达处于不利地位。观察AMD和英伟达在这些权衡中的平衡是相当有趣的,尽管这两款产品在如此不同的细分市场竞争,我们无法得出任何结论。
计算性能:FluidX3D模拟
FluidX3D是一种流体行为模拟,可能需要大量的内存带宽。它使用FP32值进行计算,但可以将其转换为FP16格式进行存储。这样做可以降低显存带宽和容量要求。正如主要计算和内存带宽规格所表明的那样,英伟达的RTX PRO 6000远远领先于AMD的RX 9070。
无论FluidX3D使用什么模式编译,英伟达的领先优势都保持相对稳定。
就像比较两个消防队救火:Nvidia开着100台消防车狂飙,AMD只有30台但车技更好。结果?(展示柱状图)大块头以3倍优势碾压!
总结:巨无霸的胜利
从技术上讲,2025年我们面临的显卡竞争比以往任何时候都要激烈,因为英特尔的显卡工作取得了稳步进展,并将其作为第三个竞争者推出。
在数据中心方面,AMD的MI300已被证明是非常有竞争力的超级计算胜利。
但在高端消费者领域,竞争明显缺乏。英特尔的Battlemage和AMD的RDNA4都停在了中档市场。RX 9070确实比英特尔的Arc B580具有更高的性能水平,但两者都没有接近英伟达最大的GB202显卡。
至于GB202,这又是英伟达为了征服高端市场而尽可能造大显卡的一个例子。750平方毫米的芯片,突破了单片设计的极限! 它那575W或600W的功耗目标,也在挑战消费级PC能承受的极限。通过突破这些限制,英伟达创造了当今最大的消费级显卡。
RTX PRO 6000在向量FP32吞吐量方面,令人难以置信地接近AMD的MI300X,并且远远领先于英伟达自己的B200数据中心显卡。
内存子系统也是一个怪物。 也许英伟达的工程师问他们是否应该像AMD的RDNA2那样强调缓存,或者像Ampere那样依赖显存带宽。显然,答案是两者都要!同样的方法也适用于计算,答案显然是“所有SM都要!”
构建如此大的显卡并不容易,英伟达显然面临着挑战。考虑到它可能必须提供的巨大计算吞吐量,L2性能一般。除了显卡大小之外,与RDNA4相比,AMD使用更少数量的、单独更强的核心的趋势仍在继续。RDNA4的基本工作组处理器构建块,比Blackwell SM具有更高的计算吞吐量和缓存带宽。
总的来说,英伟达的Blackwell,尤其是RTX PRO 6000 Blackwell,就是个不折不扣的性能怪兽,它通过堆料和一些巧妙的设计,在高端显卡市场牢牢占据了霸主地位!