跳到主内容
智客 ZICQ

智客百科 技术术语

CUDA(GPU 编程)

技术术语
别名: CUDA GPU 编程 NVIDIA ·2026-09-14

CUDA(GPU 编程)

CUDA 是 NVIDIA 的 GPU 并行计算 API。深度学习几乎完全依赖 CUDA(虽然 AMD ROCm 和 Apple Metal 在追赶,但生态规模差一个数量级)。

为什么 GPU 适合深度学习

  • 并行度高:一颗 A100 有 6912 个 CUDA core,可同时跑数千个线程。
  • 矩阵乘法极快:Tensor Core 一拍算 16x16x16 的 FP16 matmul。
  • 内存带宽高:HBM3 在 A100 上达 2 TB/s,比 CPU DDR5 高 20 倍。
  • 生态成熟:PyTorch / TensorFlow / JAX 都原生支持 CUDA。

主流 GPU 规格

型号 显存 FP16 TFLOPS 适用
H100 80 GB 989 训练 / 推理旗舰
A100 40/80 GB 312 主力训练
L40S 48 GB 366 推理专用
RTX 4090 24 GB 165 消费级 / 小模型
RTX 5090 32 GB 209 新消费级
B200 192 GB 2250 下一代旗舰

软件栈

  • CUDA Toolkit:编译器(nvcc)、runtime、数学库(cuBLAS、cuDNN)。
  • cuDNN:深度学习原语(conv、attention、layer norm)的高性能实现。
  • NCCL:多 GPU / 多机通信(AllReduce)。
  • TensorRT:推理优化器(kernel fusion、量化、图优化)。
  • Triton:NVIDIA 的 Python-like GPU 编程语言,PyTorch 2.0 集成。

LLM 训练为什么吃 GPU

训练 70B 模型约需 ~1500 张 H100 跑 1 个月。光 forward + backward 每个 token 就要数十次矩阵乘。CPU 完全跑不动。

LLM 推理为什么也吃 GPU

  • 矩阵乘:decode 阶段每个 token 都要算一次 attention / FFN 的 matmul。
  • 大显存:70B FP16 模型 140 GB,KV cache 还要再吃几十 GB。
  • 小 batch 延迟敏感:单用户流式输出,GPU 的低延迟优势无可替代。

AMD / Apple / Intel 的尝试

  • AMD ROCm:CUDA 的开源替代,HIP 翻译层。但生态落后,软硬件问题多。
  • Apple Metal / MLX:Apple Silicon 统一内存有优势(不需要 CPU↔GPU 拷贝),性能不错 但算力上限低(M3 Max 顶配 ~26 TFLOPS,比 H100 弱 40x)。
  • Intel Gaudi / oneAPI:训练可与 A100 掰手腕,生态弱。

实战建议

  • NVIDIA 仍是首选:生态最成熟,vLLM / Triton / Megatron-LM 都默认 NVIDIA。
  • CUDA 版本对齐:PyTorch / vLLM 各自要求的 CUDA 版本不同,混用易踩坑。
  • 显存不够的兜底:CPU offload、量化(INT4/INT8)、ZeRO-3、DeepSpeed。
  • 监控 GPU 利用率:nvidia-smi dmon 或 DCGM,避免 GPU 空转浪费钱。