2. GPU硬件与架构选型
在GPU加速项目交付中,选型错误往往不是“性能差一点”,而是“根本跑不起来”或“成本翻三倍”。要做出合理决策,需要把架构代际、计算能力、显存容量与带宽、互联方式、软件栈支持这五个维度放在同一张表里权衡。本节以Ampere、Hopper、Ada Lovelace三代架构为主线,给出可落地的选型判断方法。
一、先看架构代际与计算能力
NVIDIA数据中心GPU的架构代际决定了它支持哪些精度格式、张量核心版本以及互联能力。计算能力(Compute Capability,简称CC)是软件编译时的目标版本,例如Ampere数据中心卡为8.0,Hopper为9.0,Ada Lovelace为8.9。CC决定了CUDA代码能否在该卡上运行,也决定了是否支持FP8、Transformer Engine等新特性。
Ampere(A100/A30/A10)是当前存量最大的一代,支持TF32、BF16、FP16张量核心运算,A100还支持结构化稀疏。Hopper(H100/H200)引入FP8张量核心、Transformer Engine、线程块簇和分布式共享内存,在大模型训练和推理上相比A100有数倍提升。Ada Lovelace(L40S/L4/RTX 6000 Ada)面向图形渲染、视频编解码和中小规模推理,FP8支持完善,但缺少NVLink,互联能力弱于数据中心旗舰。
二、显存容量与带宽决定模型能否装下
显存是选型中最容易踩坑的硬约束。以FP16推理为例,模型权重占用约为参数量×2字节,加上KV Cache、激活值和框架开销,实际需求通常是权重的1.3~1.8倍。一个70B参数模型FP16权重约140GB,单张80GB的A100或H100都装不下,必须多卡张量并行;若改用INT8量化,权重降到约70GB,单张80GB卡可勉强容纳,但KV Cache仍需预留空间。
带宽方面,A100为1555GB/s(40GB版)或2039GB/s(80GB版),H100 SXM为3350GB/s,H200提升到4800GB/s,L40S为864GB/s,L4仅300GB/s。带宽直接影响推理的Token生成速度和训练的数据吞吐。对于访存密集型的推理任务,带宽往往比算力更关键。
三、互联方式决定多卡扩展效率
单卡装不下时,多卡互联方式直接决定扩展效率。NVLink是NVIDIA的高带宽卡间互联,A100提供600GB/s,H100提供900GB/s,配合NVSwitch可构建全互联拓扑。PCIe Gen4 x16单向约32GB/s,双向64GB/s,与NVLink差一个数量级。如果模型需要张量并行(Tensor Parallelism),每层都要做All-Reduce通信,PCIe互联会成为严重瓶颈,此时必须选择支持NVLink的A100/H100。
Ada Lovelace的L40S和L4没有NVLink,只能走PCIe。它们适合单卡可容纳的模型,或使用流水线并行、数据并行等通信量较小的策略。如果强行用L40S做张量并行,通信开销可能吃掉大部分算力收益。
四、软件栈与生态兼容性
选型不能只看硬件。CUDA版本、cuDNN、TensorRT、PyTorch编译版本都需要与CC匹配。Hopper的FP8和Transformer Engine需要CUDA 11.8以上、PyTorch 2.1以上才能发挥;如果项目锁定在旧版CUDA 11.0,H100的许多新特性无法使用,此时A100反而是更稳妥的选择。此外,MIG(多实例GPU)在A100和H100上支持,可将单卡切分为多个隔离实例,适合多租户推理;Ada Lovelace的L4也支持MIG,但L40S不支持。
五、选型决策表与实操建议
下面给出一份可直接对照的选型决策表,按典型场景列出推荐架构与关键判断依据。表中参数为公开规格,实际项目需以具体型号和驱动版本为准。
| 场景 | 推荐架构 | 关键依据 | 需规避 |
|---|---|---|---|
| 70B+大模型训练 | H100/H200 + NVLink | FP8加速、900GB/s互联、80GB+显存 | L40S无NVLink,张量并行效率低 |
| 7B~13B模型推理 | A100 80GB 或 L40S | 单卡可容纳,带宽满足Token生成 | L4显存24GB可能不足 |
| 视频编解码与渲染 | L40S / L4 | NVENC/NVDEC单元、光追核心、能效比 | H100无视频编码单元,性价比低 |
| 多租户推理服务 | A100/H100 开启MIG | 硬件级隔离、QoS保障 | L40S不支持MIG |
| 存量CUDA 11.0项目 | A100 | CC 8.0兼容性好,驱动成熟 | H100新特性无法启用 |
nvidia-smi --query-gpu=name,compute_cap,memory.total --format=csv,输出中compute_cap字段即为CC版本。若输出为8.0,则Ampere;9.0为Hopper;8.9为Ada Lovelace。将此结果与PyTorch的torch.cuda.get_device_capability()交叉验证,避免驱动与运行时不一致。
总结来说,Ampere是成熟稳妥的存量选择,Hopper是面向大模型训练与高吞吐推理的性能旗舰,Ada Lovelace则在图形、视频和边缘推理上具备能效与功能优势。选型的核心动作是:先根据模型规模和精度算出显存需求,再判断是否需要NVLink级互联,然后核对软件栈CC支持,最后在预算内选择架构代际。把这四步做成检查清单,可以避免绝大多数选型返工。