英伟达最新一代黑卡B200被微基准圈老炮儿Aaron Jarmusch与Sunita Chandrasekaran彻底解剖,这份报告揭示了双芯合体、第五代张量核、TMEM专属缓存、硬件解压引擎及FP4/FP6超低精度带来的恐怖提升,实测LLM推理最高达到11.28万token/s,FP64科学计算性能直接翻倍,训练能效提升42%,开发者指南教你榨干B200的每一滴性能。
这篇文章的两位作者,Aaron Jarmusch和Sunita Chandrasekaran,可不是什么泛泛之辈,他们都任教于美国特拉华大学的计算机信息科学系,这个背景听起来就特别硬核,对不对?他们常年干的活儿,说白了就是给全球的超级计算机和人工智能框架做“把脉问诊”,专门用各种极其精密的微基准测试工具,像听诊器一样,去检查GPU的每一个角落,看看它到底是不是真的像官方PPT里说的那样厉害。
他们俩在GPU微基准测试圈子里简直是“老炮儿”级别的存在,之前英伟达的Hopper架构和Ampere架构的显卡,都被他们拆解得一清二楚,所有的性能细节、隐藏的彩蛋、甚至连可能存在的“小脾气”,都被他们摸了个透。
这次,他们直接拿最新的B200黑卡开刀,测试出来的数据和结论,硬核到甚至有人偷偷传言,英伟达总部的工程师都想把这份报告设为“收藏”和“必读”,可见这份报告的含金量有多高,绝对是技术圈的顶级干货。
开场王炸:你以为Hopper是天花板?B200直接掀了屋顶!
姐妹们,兄弟们,先别眨眼,开场咱们直接上结论,保证让你肾上腺素飙升!如果你还觉得英伟达上一代的Hopper架构已经厉害到没朋友,那最新的B200黑卡简直就是来“砸场子”的,它不是摸到天花板,它是直接把屋顶给你掀了!这块卡集成了双芯片,拥有令人咋舌的2080亿个晶体管,搭配了192GB的HBM3e超高速显存,单卡FP4的峰值性能狂飙到7702万亿次浮点运算每秒(TFLOPS),这个数字光是听着就让人头皮发麻。
实际测试中,用它来跑70亿参数的大语言模型(LLM)推理,最高速度能飙到每秒11.28万个token的输出,简直就是秒回中的战斗机,聊天机器人再也不会有丝毫的卡顿。
在科学计算领域,对精度要求最高的FP64浮点运算性能,B200直接干到了36 TFLOPS,性能比上一代直接翻倍!更魔幻的是,在训练GPT-1.3B这样的模型时,能效竟然提升了42%,这意味着你跑得更快,但电费却省了将近一半,用一句话总结老黄这次的操作,那就是:他把“极致性能”和“极致能效”这两个本该是单选题的选项,直接打包塞进了一张卡里,谁要是看到这个数据还不升级,那可真是要尴尬到脚趾抠地了。
为什么我们还要再测一次GPU?官方PPT都是“峰值幻觉”
你可能要问了,英伟达的官方PPT不是已经把B200吹上天了吗?为什么这些大神们还要费这么大力气再测一次GPU?原因很简单,AI模型的发展速度已经快到令人窒息,从最初的百亿参数到现在的万亿参数,中间可能只隔了一个热搜的距离,但是显存带宽却年年都在后面拖后腿,成为了性能提升的“瓶颈”。
对于我们实际应用来说,大语言模型的推理必须要求极低的延迟(latency),用户输入问题必须秒回,训练任务则要求极高的吞吐量,要以最快的速度喂进去最多的数据,而传统的科学计算又对FP64的高精度和稳定性有着不可妥协的要求。
官方PPT上展示的永远都是在最理想、最极限条件下才能达到的“峰值”性能,但在真实的落地应用中,各种复杂的计算模式、数据依赖、访存延迟,全都是需要开发者自己去填的“性能黑洞”和“深坑”。
所以,作者团队这次使用的PTX微基准测试工具,就像是给GPU做了一次精密的“心电图”,他们可以像数拍子一样,一条条指令去核对执行时间,就是要告诉你,英伟卡上哪些“黑科技”是真的能治百病、解决问题的,而哪些可能只是听起来很酷、实际上效果一般的“营销味精”。
黑卡B200长啥样?双芯片被“胶水”粘成一颗“逻辑大核”
B200最震撼的物理设计,就是它采用了“双芯连体婴”的构造。
英伟达没有像以前那样把两颗芯片用慢速的外部总线连接,而是直接把两颗GPU裸片,通过一种叫做NV-HBI(英伟达高带宽互连)的超高速连接技术,用特殊的“胶水”工艺紧密地粘合在一起,在软件的视角里,这块B200看起来就是一颗拥有全部资源的“逻辑大核”,但它的物理结构中却拥有8个图形处理集群(GPC)、148组流式多处理器(SM),以及一个分成4个分区的巨型L2缓存,所有这些硬件共享着192GB的HBM3e显存,显存带宽高达恐怖的8TB/s。
翻译成人话就是,以前你可能需要两张独立的显卡通过NVLink互联才能完成的工作量,现在B200一张卡就全搞定了,而且更重要的是,芯片内部跨越裸片之间的数据传输延迟,比用PCIe或者外部NVLink连接两张卡要低一半以上,可以说,在B200面前,传统的NVLink连接方案都得谦虚地叫一声“老哥”。
TMEM横空出世:专属缓存让共享内存和L2都得靠边站
B200架构里有一个全新的、让开发者兴奋到搓手的“黑科技”,那就是TMEM,全称为张量核专属内存。
以前,每个流式多处理器(SM)里的共享内存(shared memory)需要同时服务于传统的CUDA核心、纹理单元以及张量核,大家都要抢着用,效率自然受到限制。但在B200里,英伟达直接给每个SM塞了256KB的“专属VIP休息室”,也就是TMEM,它只服务于张量核(Tensor Core),专门用来存储矩阵乘法运算的输入和中间结果,它的理论带宽高达16TB/s,比传统的共享内存高了一个数量级。在传统的计算流程中,数据需要从全局显存(global memory)先移动到共享内存(shared memory),再移动到寄存器(register),最后才能进入矩阵乘法累加单元(mma)进行计算,这是一个三步走的流程。
而有了TMEM之后,数据可以直接从全局显存(global memory)进入TMEM,然后一步到位进入矩阵乘法累加单元(mma),中间商直接被砍掉,极大地简化了访存路径。作者们通过“指针追逐”的实验,精确测量出TMEM发生缓存未命中(cache miss)时的延迟只有420个时钟周期,这个数字比Hopper架构的1000个时钟周期直接砍掉了58%,这意味着我们开发者在编写高性能算子的时候,再也不用像以前那样“小心翼翼”地去哄着L2缓存“开心”了,TMEM的高速访问极大地提高了编程的自由度和性能。
硬件解压引擎:CPU这次真的可以原地失业去刷抖音了
在数据中心和AI应用中,数据压缩和解压缩是一个非常耗时的步骤,以前这个工作主要由CPU来承担,CPU忙着解压,GPU就只能在旁边“干等着”,导致整个流水线效率低下。B200这次直接自带了一个DE(解压引擎)硬件解压缩模块,这是一个真正的硬件加速器,支持包括LZ4、Zstd、GZIP在内的七种主流压缩格式。
作者实测的结果简直让人难以置信,100MB的数据块,B200可以在最低0.227毫秒内完成解压,输出带宽高达462GB/s。英
伟达官方自己进行的稀疏矩阵向量乘法(SpMV)的测试中,使用了行程长度编码(RLE)来压缩行指针,结果内存流量减少了35%,而性能反而增长了3.16倍!这个数据意味着什么?以前是CPU先解压数据,然后传给GPU,GPU才能开始计算,整个过程效率低下。
现在,GPU可以直接一边进行解压一边进行计算,双线并行,而CPU因为解压任务被抢走,确实可以“光荣失业”,原地开始刷刷抖音、看看新闻了。
第五代张量核:从“多人同步”到“单线程发射”的巨大飞跃
张量核是英伟达GPU的灵魂所在,B200迎来了第五代张量核,其最重大的改进在于计算发射模式。
在上一代的Hopper架构中,要执行一个wgmma(Warp Group Matrix Multiply Accumulate)指令,需要4个线程束(warp)同步执行才能成功发射,这在一定程度上限制了计算的灵活性和启动延迟。
B200直接将这个机制拆解成了一个全新的warp级指令tcgen05.mma,现在只需要单线程束(warp)就能完成指令的发射和执行。这一改变带来了立竿见影的效果,指令的发射延迟从Hopper的128个时钟周期,直接干到了B200的11.4个时钟周期,降低了近90%!这让调度器空等的时钟周期减少了23%,意味着计算资源的利用率更高。
更重要的是,B200全面支持了FP4和FP6这两种超低精度格式,并且在硬件层面上自带了解量化引擎,直接在硬件上完成了从低精度到高精度的转换。FP4的理论峰值性能达到了7702 TFLOPS,作者实测结果显示,实际性能可以达到理论峰值的96%,这意味着超低精度不再是“玄学”或者需要各种复杂软件技巧来优化的“小把戏”,而是实打实地节省了显存带宽、降低了能耗,是B200提升能效比的秘密武器。
微基准怎么玩?作者亮出“手术刀”教你榨干性能
为了得到这些硬核数据,作者们拿出了他们的“手术刀”,整套微基准测试代码都是直接用PTX(并行线程执行)汇编语言手敲出来的,这种做法的目的是为了绕开CUDA编译器可能进行的各种“聪明”优化,直接对着GPU底层的SASS机器码“数拍子”,确保测量到的是最真实、最原始的硬件性能。比如在测试TMEM带宽时,他们发现使用64x64的矩阵块(tile)大小是最“香”的,可以把TMEM的带宽吃到最满,如果矩阵块小于32x32,那就只能跑到峰值性能的45%左右。
在测试硬件解压引擎的并发能力时,他们发现处理256KB的大块数据时,采用4路并行的方式是最划算的,效率最高;而处理32KB的小块数据时,则需要16路并行才能让解压引擎跑满血。
为了测试张量核的延迟,他们特意构造了依赖链,把计算管线(pipeline)彻底打空,测出最基础的启动时间;而为了测试吞吐量,他们将矩阵乘法的块大小从m64n64k16一直拉到m256n256k16,这个过程就像是给GPU做了一次精密的“胃镜”检查,把所有的性能细节都暴露无遗。
LLM推理实测:11万token/s的恐怖速度直接刷屏
大语言模型(LLM)的推理性能是B200最大的亮点之一。
作者以Mistral-7B模型作为基线测试,在FP16半精度下的推理速度是每秒4.52万个token,这个速度在Hopper上已经算非常不错了。但是当他们将精度切换到FP8时,推理速度立刻飙升到了每秒7.84万个token,这一下性能就有了显著的提升。
最令人震惊的是,切换到FP4超低精度后,推理速度直接狂飙至每秒11.28万个token,这个数字简直就是突破天际。更重要的是,在精度大幅降低的情况下,模型的困惑度(perplexity)仅仅下降了8.2%,这个误差幅度在绝大多数的生产环境中都是完全可以接受的,这意味着开发者可以放心大胆地使用FP4来追求极致的速度。
对于更复杂的Mixtral-8x7B MoE(专家混合模型)来说,性能提升更加夸张,在FP4精度下,模型推理速度提升了2.69倍,因为精度降低省下来的显存带宽,极大地对冲了专家路由的开销,模型的专家缓存命中率也因此暴涨。
即使是在单批次(Batch=1)这种对延迟最苛刻的场景下,B200的响应延迟也只有12.3毫秒,比Hopper快了52%,而P99延迟抖动,也就是最坏情况下延迟的波动幅度,只有老卡的一半,这对于做实时对话、车载AI等对延迟要求极高的应用来说,意味着用户再也不会遇到对话“卡壳”的糟心体验。
科学计算老炮儿:FP64浮点性能直接翻倍的震撼
B200不仅在AI领域大放异彩,在对精度要求最高的科学计算领域,它的表现也是一鸣惊人。
科学计算界的老炮儿们对FP64双精度浮点运算的要求是极高的。作者们测试了一个32768的三维矩阵乘法(DGEMM)运算,B200跑出了36.3 TFLOPS的恐怖成绩,计算单元利用率达到了80.7%,而上一代的Hopper在相同的尺寸下,只能跑出18.9 TFLOPS,利用率只有55.6%。
这种翻倍的性能提升,其中最大的功劳就是TMEM的加入,它允许将大量的中间计算结果留在芯片上,极大地减少了对L2缓存和全局显存的访问流量,让显存带宽的利用率整体提升了45%。
另一个经典的显存带宽测试基准STREAM Triad,B200实测跑出了7.48 TB/s的带宽成绩,这比Hopper的4.38 TB/s高出了整整71%,对于处理大规模数组的科学计算任务来说,B200可以直接跑满93%的理论带宽。
虽然在测试小数组时,由于缓存策略的细微差异,B200略微吃了一点亏,但整体而言,这个性能提升无疑是瑕不掩瑜,将极大地加速气候模拟、流体力学、新药研发等一系列高精度的科学研究。
训练场景:省电42%的提升带来的“真香”体验
除了推理和科学计算,B200在训练场景的能效比提升,可能是数据中心最看重的一点。
在ResNet-50图像识别模型的混合精度训练测试中,B200每秒可以处理2436张图片(img/s),而Hopper只能处理1580张图片/秒,性能提升了54%。
更逆天的是,在性能大幅提升的同时,B200的能耗反而下降了42%,折合下来每瓦功耗可以处理3.77张图片/秒,这个能效比简直是革命性的。
在GPT-1.3B的训练中,B200达到了每秒14.4K token的训练速度,训练时间缩短了33%,能耗却低到了让数据中心可以直接少开一台空调。
这背后有两个核心的技术机制在支撑:
一个是CTA pair机制,它允许相邻的线程块共享操作数,减少重复加载;
另一个是TMEM,它将大量的中间激活值,也就是神经网络层与层之间的计算结果,直接存储在了芯片上的高速缓存中,只有最终的模型权重和梯度才需要回写到慢速的HBM3e显存中,这种设计极大地减少了显存的读写次数,整机效率肉眼可见地往上窜。
对于大型数据中心来说,训练能效提升42%带来的不仅仅是速度的加快,更是实打实的电费节省,这份“真香”体验绝对是致命诱惑。
开发者怎么吃下这份红利?手把手教你“榨汁”新架构
这份报告不仅是测试数据,更是一份实打实的开发者行动指南,教你如何在新架构上吃到最大红利:
首先,在编写矩阵乘法(GEMM)相关的算子时,要优先考虑使用64x64的矩阵块(tile)大小,这是吃满TMEM高速带宽的最佳尺寸。
其次,对于多阶段的计算流程,比如Transformer里的多头注意力机制,要把中间结果扔到TMEM里,绝对不要让它回写到全局显存(global memory)中,这样才能保证低延迟。
第三,在数据压缩选择上,对于模型的权重压缩,推荐使用Bitcomp格式,对于科学计算产生的大规模数据,Zstd是更好的选择,而对于实时流数据,则应选择延迟最低的Snappy格式。
第四,在使用低精度时,最好的策略是将权重进行FP4量化,而将激活值保持在FP8精度,然后逐层进行调整和测试,这样可以在保证模型困惑度(perplexity)可控的情况下,最大限度地节省带宽。
最后,对于批量大小(Batch size)的选择,如果你的应用是追求极致低延迟的,比如实时语音识别,那么应该使用小批量,并开启8到10级的计算管线(pipeline);如果你的目标是追求最高吞吐量,比如离线数据处理,那么就直接从32的批量大小起步,直接把GPU的计算能力拉满。
别高兴太早,B200的几个“槽点”也得说清楚
虽然B200的性能是碾压级别的,但作为一篇硬核评测,几个不得不提的“槽点”也得说清楚,免得大家一头热。
首先,目前CUDA 13.0中的TMEM API仍然处于“预览版”阶段,这意味着编译器对TMEM的自动分配和优化还不够成熟,开发者经常会遇到编译器“抽风”的情况,无法将代码优化到最佳状态,想完全榨干TMEM的性能,可能还需要自己手写一些PTX代码。
其次,FP6这种新的浮点格式,虽然硬件上已经完全就绪,但是目前上层的软件和库还没有完全跟进支持,如果你想第一个尝鲜FP6带来的性能提升,那就得自己撸起袖子,手搓PTX汇编指令。
第三,双芯合体的设计,虽然带来了巨大的性能,但同时也让B200的功耗设计功率(TDP)冲到了1000瓦,这个功耗对于传统的风冷系统来说,简直就是“劝退”级别的存在,想运行B200,你就不得不考虑使用液冷整柜的解决方案,这无疑增加了部署的成本和复杂性。
最后,也是最关键的一点,价格!老黄到目前为止还没有正式公布B200的售价,但参考上一代H100的“黄金价”,B200的定价恐怕是要按“千克黄金”来计价了,对于预算不那么充裕的个人开发者或者小公司来说,可能只能选择“云租赁”的方式来体验这块性能怪兽。
写在最后的暴言:B200重新定义了AI和HPC的性价比公式
B200绝对不是传统意义上的挤牙膏式的新卡,它是一套经过精心设计的“组合拳”,把双芯片集成、专用缓存、硬件解压和超低精度计算这几项技术完美地融合在了一起,直接重塑了人工智能和高性能计算(HPC)领域的性价比公式。
在推理场景,你可以用FP4来大幅节省显存带宽,降低推理成本;在训练场景,你可以用TMEM来降低中间结果的访存延迟,大幅节省能耗;在科学计算领域,FP64性能直接翻倍,极大地加快了科研进度;而硬件解压引擎的加入,更是让CPU在数据预处理环节正式“下岗”。
老黄这次做的,是把过去“性能、能效、成本”三选一的单选题,做成了“我全都要”的多选题。
那些还在观望、还在犹豫的厂商和开发者,我告诉你,早一天把B200上线应用,你就能早一天把因为低能效而产生的电费变成实打实的净利润,晚一步,你就只能眼睁睁地看着隔壁家公司用他们11万token/s的聊天机器人,在实时对话中把你的用户全部抢光。
一句话总结
B200以7702 TFLOPS的FP4峰值性能、36 TFLOPS的FP64科学计算能力、每秒11.28万token的LLM推理速度,以及42%的训练能效提升幅度,把英伟达上一代的Hopper拍在了沙滩上,以绝对实力告诉全世界——GPU还能再疯狂十年。