GPU关键参数:CUDA核心数、显存容量、带宽与算力单位
当我们拿到一块GPU时,产品页上往往列着一串参数:CUDA核心数、显存容量、显存带宽、FP32算力……这些数字到底意味着什么?它们之间如何相互制约?要回答这些问题,需要先理解GPU的工作方式:GPU本质上是大规模并行处理器,它通过数千个简单计算单元同时处理数据。因此,衡量一块GPU的能力,核心就看三件事:有多少计算单元(核心数)、能放多少数据(显存容量)、数据搬运多快(带宽),以及单位时间能完成多少计算(算力)。
核心原理:四个参数如何协同决定GPU性能
CUDA核心是NVIDIA GPU中的基本计算单元,负责执行浮点运算、整数运算等指令。一个GPU包含数千个CUDA核心,它们被组织成多个流式多处理器(SM)。核心数越多,理论上并行执行的计算任务就越多。但核心数并非唯一决定因素——每个核心的时钟频率、指令效率同样重要。
显存容量决定了GPU能“同时握住”多少数据。以训练大语言模型为例,模型参数、梯度、优化器状态、中间激活值都需要驻留在显存中。如果显存不足,就需要将数据分片存储或频繁与CPU内存交换,这会极大拖慢训练速度。
显存带宽则是“数据搬运”的速率,单位通常为GB/s。它决定了GPU每秒能从显存中读取或写入多少数据。即使算力再强,如果带宽不足,计算单元就会因“等数据”而空转——这就是所谓的内存墙问题。
算力(TFLOPS)衡量的是GPU每秒能执行的浮点运算次数(以万亿次为单位)。但需要注意,算力分为不同精度:FP32(单精度)、FP16(半精度)、INT8(整数)等。AI训练常用FP16或BF16,推理则可能用到INT8量化,因此不能只看FP32算力。
关键公式:算力(TFLOPS)= CUDA核心数 × 时钟频率(GHz) × 每时钟周期浮点运算次数 ÷ 10³。例如,一块GPU有4096个核心,频率1.8GHz,每核心每周期执行2次FP32运算,则FP32算力 = 4096 × 1.8 × 2 ÷ 1000 ≈ 14.7 TFLOPS。
方法流程:如何读懂一张GPU规格表
面对一张GPU规格表,建议按以下顺序解读:
- 先看显存容量——判断能否装下目标模型。例如,70B参数模型以FP16加载需要约140GB显存,单张80GB的H100无法容纳,需多卡并行。
- 再看显存带宽——判断数据供给是否充足。带宽 = 显存频率 × 位宽 ÷ 8。例如,H100的HBM3带宽为3.35TB/s,而A100为2TB/s,差距明显。
- 然后看CUDA核心数与架构——核心数多代表并行能力强,但也要看架构代数(如Ampere、Hopper、Ada Lovelace),新架构的单个核心效率更高。
- 最后看算力(TFLOPS)——结合精度判断。训练场景关注FP16/BF16算力,推理场景关注INT8/FP8算力。
实用技巧:计算“算力/带宽”比值(单位:FLOP/Byte),称为运算强度。若该值过高,说明GPU计算能力远超数据供给能力,实际性能会受带宽限制;若过低,则计算单元可能闲置。理想情况下,应根据具体算子选择合适的GPU。
案例:用参数对比选择训练GPU
假设我们要训练一个13B参数的LLM,使用Adam优化器,混合精度训练(FP16)。粗略估算显存需求:
- 模型参数:13B × 2字节(FP16)= 26GB
- 梯度:13B × 2字节 = 26GB
- 优化器状态(Adam需额外存储一阶和二阶动量):13B × 4字节 × 2 = 104GB
- 中间激活值:视batch size而定,通常额外占用10~30GB
总计约需160~190GB显存。因此单张80GB的GPU无法训练,至少需要3~4张。此时对比两张候选卡:
| 参数 | GPU A(如A100 80G) | GPU B(如H100 80G) |
|---|---|---|
| CUDA核心数 | 6912 | 14592 |
| 显存容量 | 80GB HBM2e | 80GB HBM3 |
| 显存带宽 | 2TB/s | 3.35TB/s |
| FP16算力 | 312 TFLOPS | 989 TFLOPS |
| 功耗 | 400W | 700W |
从参数看,GPU B的FP16算力是A的3倍以上,带宽提升67%。但功耗也高出75%。若训练任务以大规模矩阵乘法为主(如Transformer),GPU B能显著缩短训练时间;若任务受带宽限制(如小batch推理),则优势缩小。此外,还需考虑多卡互联带宽(NVLink/NVSwitch),因为跨卡通信可能成为瓶颈。
误区与复盘:参数≠性能的常见陷阱
误区一:只看CUDA核心数。核心数多但架构老、频率低,实际性能可能不如核心数少但新架构的产品。例如,GTX 1080 Ti(3584核心)的FP32算力约11.3 TFLOPS,而RTX 3060(3584核心)因架构更新,算力约12.7 TFLOPS,且功耗更低。
误区二:显存容量越大越好。如果带宽不足,大显存无法发挥效用。例如,某些专业卡配备48GB显存但带宽仅600GB/s,而游戏卡RTX 4090有24GB显存但带宽达1TB/s。在需要频繁读写显存的任务中,后者反而更快。
误区三:混淆不同精度的TFLOPS。厂商常标注“峰值算力”时使用FP16或Tensor Core的稀疏算力,数值可能是FP32的5~10倍。实际训练中,由于算子混合精度、内存布局、通信开销等因素,实测性能通常只能达到峰值的30%~60%。
复盘建议:选卡时,先明确任务类型(训练/推理/混合),再列出模型规模与batch size,估算显存需求;然后对比候选卡的带宽与算力比值;最后参考实际benchmark(如MLPerf)而非仅看纸面参数。记住:参数是必要条件,但不是充分条件——散热、功耗、互联拓扑、软件生态同样影响最终性能。