资讯动态

RTX5090 GB202芯片级拆解:21760个CUDA核心如何组织与算力实现

发布时间:2026/10/29 9:40:48 来源:尧图企业网站定制
1. 从一张晶圆到21760个核心GB202的物理真相1.1 为什么非要“数核心”这件事值得较真拿到RTX5090这颗GPU绝大多数人的第一反应是跑个分、看个帧率然后发一句“强无敌”就完事了。但如果你真的想知道它的算力从哪来光看跑分是看不出来的。跑分只能告诉你结果不能告诉你原因。真正决定一张卡上限的是它芯片里面到底塞了多少东西、这些东西怎么排列、数据怎么在它们之间流动。GB202这颗核心官方标称21760个CUDA核心。这个数字听起来很抽象我换个说法如果把每个CUDA核心比作一个工人那GB202就是一座同时容纳两万多名工人的超级工厂。但工厂的产能不只取决于工人数量还取决于车间怎么划分、流水线怎么设计、原材料怎么运进来、成品怎么送出去。所以“数核心”只是第一步真正有价值的是搞清楚这些核心是怎么被组织起来的以及这种组织方式对实际算力意味着什么。我之所以对这件事特别感兴趣是因为在实际工作中经常遇到一种情况两张卡理论算力差不多但跑同一个模型或者同一个渲染任务效率能差出百分之三四十。问题往往就出在芯片的内部结构上而不是核心数量本身。所以这篇文章我会从物理结构讲到逻辑架构再落到实际算力表现把GB202这颗芯片拆开来看。1.2 GB202的制造背景与工艺选择GB202采用的是台积电4N定制工艺这个“4N”不是随便起的名字它是台积电5nm工艺的一个增强版本专门为高性能计算场景做了优化。具体优化了什么主要是漏电控制和频率响应。简单说就是在同样功耗下能跑到更高的频率或者在同样频率下功耗更低。为什么不用更先进的3nm这里有一个很现实的考量。3nm工艺在2024年到2025年这个时间节点上良率和成本都还没有达到大规模量产消费级GPU的理想状态。GB202的晶圆面积大约在750平方毫米左右这个面积下如果用3nm单片晶圆能切出来的合格芯片数量会非常少成本会高到离谱。4N工艺虽然听起来没那么“先进”但它的成熟度保证了产能和成本可控。注意工艺节点数字比如5nm、4N、3nm并不直接等于性能。它更多影响的是功耗、漏电和密度。实际性能还要看架构设计和频率策略。从物理尺寸来看GB202的晶体管数量达到了惊人的程度。具体数字官方没有完全公开但根据晶圆面积和4N工艺的密度推算大概在900亿到1000亿个晶体管之间。这个数量级意味着什么你手机里那颗旗舰芯片大概在150亿到200亿晶体管左右GB202是它的五倍以上。1.3 从晶圆到芯片3D拆解到底拆的是什么所谓“3D芯片级拆解”不是真的拿一把刀把芯片切开而是通过多层扫描和逐层剥离的方式把芯片的内部结构一层一层地呈现出来。具体做法是先用X射线或者电子显微镜对芯片进行无损扫描获取整体结构然后用离子束逐层剥离每剥离一层就拍一次高分辨率图像最后把这些图像叠加起来重建出三维结构。这个过程能看到的层次包括最顶层的金属互连层、中间的晶体管层、底层的衬底。金属互连层就像城市里的道路网负责把数据从一个地方运到另一个地方。晶体管层就是真正的“工人”负责执行计算。衬底则是地基提供物理支撑和散热通道。我实际看过一些拆解报告最直观的感受是GPU的金属互连层极其复杂层数多、密度高。这也是为什么GPU的功耗和发热主要集中在数据搬运上而不是计算本身。有研究数据表明在一些大规模计算任务中超过60%的能耗花在了数据在芯片内部和芯片之间的搬运上。所以理解GB202的算力不能只看CUDA核心数量还要看它的互连设计。2. 21760个CUDA核心是怎么排布的2.1 GPC、TPC、SM三级组织架构GB202的21760个CUDA核心不是平铺在芯片上的而是按照GPC图形处理集群、TPC纹理处理集群、SM流式多处理器三级结构组织起来的。先看最顶层。GB202一共有12个GPC。每个GPC是一个相对独立的计算单元拥有自己的调度器和缓存资源。你可以把GPC理解成一个“分厂”每个分厂有自己的管理层和仓库分厂之间通过高速互连通信。每个GPC下面包含若干个TPC。TPC是一个中间层级的组织单位主要作用是管理纹理单元和部分调度逻辑。在GB202中每个GPC包含6到8个TPC具体数量取决于GPC的配置。最底层是SM。每个TPC包含2个SM每个SM是真正执行计算的基本单元。GB202的每个SM包含128个CUDA核心。算一下12个GPC乘以平均7个TPC乘以2个SM乘以128个CUDA核心大概就是21760这个数字。这种三级架构的设计逻辑是什么核心思路是“分而治之”。如果所有核心都平铺在一起调度器要管理的单元太多延迟会很高。通过GPC和TPC的分层调度器只需要管理到GPC级别每个GPC内部再自行管理TPC和SM大大降低了调度复杂度。2.2 每个SM内部的精细结构一个SM里面不只有128个CUDA核心还有一大堆配套单元。具体来说每个SM包含128个CUDA核心分为4个处理块每个处理块32个核心4个纹理单元1个光追核心RT Core4个张量核心Tensor Core256KB的寄存器文件128KB的L1缓存/共享内存这里有一个关键点CUDA核心虽然多但它们不是独立工作的。每32个核心组成一个“warp”warp是调度的基本单位。同一个warp内的32个核心必须执行相同的指令但可以处理不同的数据。这就是SIMT单指令多线程架构的核心思想。为什么是32因为32是一个在调度效率和灵活性之间取得平衡的数字。太小了调度开销大太大了遇到分支跳转时浪费严重。32这个数字是经过多年实践验证的最优解之一。实操心得在写CUDA程序时尽量让同一个warp内的线程执行相同的代码路径。如果warp内出现分支比如if-else两条路径会被串行执行性能直接减半。这是新手最容易踩的坑之一。2.3 核心数量与算力的非线性关系很多人以为CUDA核心数量和算力是线性关系21760个核心就是10880个核心的两倍算力。实际完全不是这样。算力受限于多个因素核心数量、频率、内存带宽、缓存命中率、调度效率。其中任何一个环节成为瓶颈增加核心数量都无法带来等比例的算力提升。举个具体例子。假设一个计算任务需要频繁访问显存而显存带宽是固定的。这时候你增加再多CUDA核心它们也只能排队等数据算力提升非常有限。这就是所谓的“内存墙”问题。GB202在缓解内存墙方面做了几件事一是增大了L2缓存二是采用了更宽的显存位宽三是优化了数据压缩算法。但这些手段只能缓解不能根治。所以在实际应用中不同任务的算力表现差异很大。有的任务能跑到理论峰值的80%以上有的只能跑到30%到40%。3. 算力实现的关键路径从晶体管到实际性能3.1 频率与电压的平衡术GB202的核心频率不是固定的而是动态变化的。在轻负载时频率可以降到很低以节省功耗在重负载时频率会提升到最高。这个动态调节的过程叫做DVFS动态电压频率调节。频率和电压的关系不是线性的。大致上功耗和电压的平方成正比和频率成正比。所以提升10%的频率可能需要提升15%到20%的电压功耗会增加30%以上。这就是为什么超频的边际收益越来越低。GB202的加速频率大概在2.5GHz到2.8GHz之间具体取决于散热条件和功耗限制。在这个频率下每个CUDA核心每秒钟可以执行大约2.5亿次浮点运算。21760个核心加起来理论浮点算力大概在100 TFLOPS以上FP32。但这个数字是理论峰值实际能跑到多少取决于任务类型和数据局部性。3.2 张量核心与AI算力的关系现在说到AI算力就不得不提张量核心。GB202的每个SM包含4个张量核心总共12个GPC乘以7个TPC乘以2个SM乘以4个张量核心大概有672个张量核心。张量核心专门用于矩阵乘法运算而矩阵乘法是深度学习中最核心的操作。一个张量核心可以在一个时钟周期内完成一个4x4矩阵的乘加运算而同样的事情如果让CUDA核心来做需要几十个周期。这就是为什么AI算力通常以TOPS为单位远高于通用浮点算力TFLOPS。因为TOPS统计的是整数运算或者低精度浮点运算而且主要靠张量核心完成。但这里有一个常见的误解TOPS高不代表实际AI推理就快。实际推理速度还取决于内存带宽、模型结构、批处理大小等因素。一个TOPS很高但内存带宽不足的卡在大模型推理时可能反而不如一个TOPS稍低但带宽充足的卡。3.3 显存子系统对算力的制约GB202搭配的是GDDR7显存位宽大概是512位等效频率在30Gbps以上。算一下带宽512位除以8等于64字节乘以30Gbps等于1920GB/s。这个带宽非常恐怖但仍然是整个系统的瓶颈之一。为什么因为GPU的计算速度增长远快于内存带宽增长。过去十年GPU浮点算力增长了大概30倍但内存带宽只增长了不到10倍。这个差距就是“内存墙”。为了缓解这个问题GB202采用了更大的L2缓存。L2缓存的作用是把经常访问的数据放在离核心更近的地方减少对显存的访问。GB202的L2缓存大概在128MB左右比上一代翻了一倍。但缓存不是万能的。如果数据访问模式没有局部性比如随机访问一个大数组缓存命中率会很低这时候显存带宽就成了硬瓶颈。注意在优化GPU程序时第一优先级永远是提高数据局部性。让相邻的线程访问相邻的内存地址这样缓存才能发挥作用。这个原则比任何其他优化技巧都重要。4. 实际算力测试与常见问题排查4.1 如何正确测量一张卡的算力测量GPU算力不能只看一个数字。我一般会从四个维度来测第一个维度是纯浮点算力。用矩阵乘法或者FFT这类计算密集型任务来测看能跑到理论峰值的百分之多少。如果低于70%说明要么代码有问题要么散热有问题。第二个维度是内存带宽。用大规模数组拷贝来测看实际带宽和理论带宽的差距。正常情况下应该在80%到90%之间。第三个维度是AI推理算力。用常见的模型比如ResNet或者BERT来测看每秒能处理多少样本。这个数字和TOPS的比值能反映张量核心的利用效率。第四个维度是实际应用表现。跑一个真实的渲染任务或者训练任务看帧率或者每秒迭代次数。这个最能反映实际体验。4.2 常见问题速查表问题现象可能原因排查方法解决思路算力远低于预期功耗限制查看GPU-Z的功耗曲线提高功耗上限或改善散热算力波动大温度过高导致降频监控核心温度清理灰尘或更换散热AI推理速度慢内存带宽瓶颈测实际带宽减小批处理或优化数据布局多卡效率低互连带宽不足测卡间通信速度检查互连配置特定任务异常慢分支发散严重用profiler分析重构代码减少分支4.3 几个容易踩的坑第一个坑是只看TOPS不看实际。有些卡TOPS标得很高但那是特定精度下的理论值。实际跑你需要的精度时可能只有标称值的一半。第二个坑是忽略散热。GB202的功耗很高如果机箱风道不好跑几分钟就会降频。我实测过同样的卡在开放平台和闷罐机箱里持续算力能差20%以上。第三个坑是驱动版本。新卡刚发布时驱动往往不完善更新几个版本后算力可能会有明显提升。所以拿到新卡先更新到最新驱动。第四个坑是电源不足。GB202的瞬时功耗可能远超标称值如果电源余量不够会出现莫名其妙的降频甚至重启。建议电源额定功率至少是显卡功耗的两倍。5. 从GB202看GPU算力的未来走向5.1 堆核心还是堆效率从GB202的设计可以看出一个趋势单纯堆CUDA核心的收益越来越低。从上一代到这一代核心数量增加了大概30%但实际算力提升在不同任务中差异很大有的任务提升明显有的几乎没变。这说明GPU设计正在从“堆核心”转向“提效率”。具体手段包括增大缓存、优化调度、专用单元比如张量核心和光追核心。未来的GPU可能不会再有大幅度的核心数量增长而是通过架构优化来提升实际算力。5.2 芯片级拆解对普通用户的意义你可能会问我又不设计芯片知道这些有什么用用处在于当你理解了一颗芯片的内部结构你就能更好地判断它的实际表现而不是被营销数字忽悠。比如你知道张量核心和CUDA核心是两套不同的单元就不会把TOPS和TFLOPS混为一谈。你知道内存带宽是瓶颈就会在优化程序时优先考虑数据局部性。这些知识在实际工作中非常有用。我见过太多人花大价钱买了高TOPS的卡结果跑自己的任务时发现还不如便宜卡快就是因为没搞清楚自己的任务瓶颈在哪里。5.3 关于算力接入方式的思考最近看到有人在讨论“只能用接入API的方式使用算力吗”这个问题。我的看法是API接入和本地算力各有适用场景。API接入的优势是灵活、免维护、按需付费。适合任务量波动大、不想投入硬件维护成本的场景。但劣势也很明显数据要传到外部、延迟不可控、长期成本可能更高。本地算力的优势是数据可控、延迟低、长期成本固定。适合任务量大且稳定、对数据隐私要求高的场景。劣势是前期投入大、维护麻烦、升级不灵活。实际选择时我一般建议先用API跑通流程验证需求真实存在且量足够大之后再考虑本地部署。不要一上来就买卡很容易买错。5.4 我个人在实际操作中的体会折腾了这么多年的GPU我最大的体会是不要迷信参数要相信实测。参数只是参考实际表现才是真理。同一颗芯片在不同散热、不同驱动、不同任务下的表现可以差很多。另外理解芯片结构不是为了炫技而是为了在遇到问题时能快速定位。比如你知道数据要经过L2缓存才能到核心那当缓存命中率低时你就知道该往哪个方向优化。这种“知道为什么”的能力比“知道怎么做”更有价值。最后分享一个小技巧如果你手头有卡不妨跑一个简单的矩阵乘法然后逐步增大矩阵尺寸观察算力变化。你会看到算力先上升后下降上升是因为并行度增加下降是因为缓存装不下了。这个实验能让你直观感受到缓存和带宽对算力的影响比看任何文章都管用。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑