AI Infra Foundation

GPU 硬件与资源共享

硬件架构 · CUDA 执行模型 · 性能指标 · 利用率诊断 · 性能预测 · MIG/MPS · K8S 共享 · CUDA VMM

gpuhardwarecudautilizationsharingperformanceprediction
当前模块
学习进度0 / 15
Module Switcher
GPU 内容模块
总览与硬件直觉3
CUDA 执行与内存模型5
资源共享与 K8S 隔离2
性能诊断与瓶颈判断4
面试收束与关联1
内容模块

CPU vs GPU

基础★☆☆⏱ 8 min

一句话结论

CPU 和 GPU 的根本区别不是“核心多少”,而是设计目标不同:CPU 追求单线程低延迟和复杂控制能力,GPU 追求大规模数据并行吞吐。深度学习的核心计算以矩阵乘法、批量并行和高带宽访存为主,所以天然更匹配 GPU。

核心概念

CPU 适合处理复杂、分支多、依赖强、低延迟要求高的通用任务,例如操作系统调度、业务逻辑、IO 编排、控制流判断和少量线程的快速响应。

GPU 适合处理可拆成大量相似小任务的数据并行计算,例如矩阵乘、卷积、Attention、batch 内样本并行、多 token 或多请求并发。它牺牲复杂控制能力,把更多芯片面积留给计算单元、高带宽显存和并发调度。

在 AI Infra 里,CPU 和 GPU 通常是协作关系:

  • CPU 负责数据准备、控制逻辑、任务调度、kernel launch、网络和存储 IO。
  • GPU 负责大规模数值计算、模型参数和激活的高带宽读写、Tensor Core 加速。
  • 性能瓶颈经常出现在 CPU-GPU 之间的数据搬运、GPU 显存带宽、kernel 并行度或多 GPU 通信链路上。

对比表

维度CPUGPU
设计目标低延迟、强控制流、通用计算高吞吐、数据并行、数值计算
核心形态少量复杂核心,每个核心能力强大量轻量执行单元,组织在 SM 内
控制逻辑分支预测、乱序执行、复杂流水线、大缓存控制逻辑更简单,依赖大量线程隐藏延迟
时钟频率通常更高,强调单线程响应通常较低,强调整体吞吐
并行方式线程或进程级并行,规模相对小SPMD 模型,同一 kernel 映射到大量 thread
内存体系DDR 容量大,带宽相对中等HBM 容量较小但带宽极高
延迟隐藏靠缓存、预测、乱序执行降低单线程等待靠大量 warp 切换隐藏访存和执行延迟
适合任务控制流复杂、依赖强、低延迟、IO 密集矩阵乘、卷积、Attention、向量化和批量计算
不适合任务海量规则数值计算吞吐不足串行依赖强、分支复杂、OS/IO 控制任务

为什么 GPU 适合深度学习

深度学习特征GPU 匹配点面试表达
大量 GEMM / 卷积 / AttentionTensor Core 和 CUDA Core 能并行执行大量乘加模型主要算子可转成高吞吐矩阵计算
数据并行度高batch、token、矩阵 tile 可以拆给大量线程单个线程不强,但整体并发规模很大
显存带宽需求高HBM 带宽远高于普通 DDR参数、激活、KV cache 的读写需要高带宽
算法结构规则同一 kernel 可在大量元素上执行类似逻辑GPU 喜欢规则、可向量化、分支少的工作
可容忍单线程延迟吞吐比单线程响应更关键训练和批量推理更关心单位时间完成多少计算

可以把 GPU 的优势概括成三点:

  1. 算子形态匹配:深度学习核心算子大多是矩阵乘和张量运算。
  2. 并行粒度匹配:样本、token、矩阵块都能拆成大量相似任务。
  3. 资源需求匹配:模型参数、激活和 KV cache 对显存带宽要求高。

常见误区

误区正确理解
GPU core 等于 CPU coreGPU 的 CUDA Core 更像 SM 内的轻量执行单元,不是独立运行复杂程序的通用核心。
GPU 一定比 CPU 快只有任务有足够并行度、访存模式合理、数据搬运成本可控时,GPU 才有优势。
GPU 可以替代 CPUGPU 不擅长 OS 调度、复杂控制流、IO 编排和低延迟串行任务,仍需要 CPU 作为 Host。
显存越大性能越强显存容量决定能不能放下模型和数据,性能还要看带宽、SM、Tensor Core、互联和算子效率。
GPU 利用率高就代表训练快GPU-Util 只是粗指标,还要看 SM Active、Tensor Core 利用率、显存带宽、通信和数据加载。

关联模块

  • 硬件基础:继续看 SM、Tensor Core、HBM、NVLink/NVSwitch 等硬件组件。
  • CUDA 执行模型:理解 kernel launch、grid、block、thread、warp 和 SM 的执行关系。
  • Host-Device 数据拷贝:理解 CPU-GPU 数据路径、pinned memory 和 H2D/D2H 开销。
  • 性能指标:用 TFLOPS、显存带宽、Roofline 和利用率指标判断 GPU 是否真的被用好。