GPU线程调度 · 30章
🎯 从零到架构
1
GPU的前世今生
从图形卡到通用计算 · 三个关键里程碑
2
理解并行计算
Flynn分类法 · 数据/任务并行 · GPU优势
3
GPU核心概念
CUDA核心 · SM · Warp 定义与关系
4
线程层次结构
Grid · Block · Thread 三层模型 & 硬件映射
5
Warp调度机制
Warp创建 · 调度器 · 状态机
6
SIMT执行模型
单指令多线程本质 · 与SIMD区别 · 分支发散
7
Warp发散与收敛
if-else发散 · 优化减少发散技巧
8
线程同步
__syncthreads() · Block内同步代价 · 死锁
9
共享内存 & Bank Conflict
共享内存架构 · Bank冲突产生与避免
10
全局内存访问模式
合并访问原则 · 对齐与步长
11
常量内存 & 纹理内存
广播机制 · 纹理缓存优化
12
寄存器压力 & Local Memory
寄存器溢出 · Local Memory隐藏代价
13
Occupancy (占用率)
定义 · 计算方式 · 高Occupancy一定好?
14
Launch Configuration
Grid/Block尺寸选择 · 硬件限制
15
Stream & 并发执行
CUDA Stream概念 · 默认Stream · 多Stream并发
16
异步操作与回调
异步内存拷贝 · 回调函数 · Event使用
17
动态并行 (Dynamic Parallelism)
GPU从kernel启动kernel · 原理与限制
18
Warp Shuffle指令
寄存器直接交换 · 替代共享内存场景
19
Tensor Core架构
Volta引入 · 混合精度 · 矩阵乘加速
20
内存层级全景图
寄存器 · L1/Shared · L2 · Global延迟/带宽
21
NVIDIA GPU架构演进
Fermi → Hopper 关键变化
22
AMD GPU架构
CDNA/RDNA · Wavefront(64线程) vs Warp
23
Intel GPU架构
Xe架构 · Xe-Core/Subslice · EU调度
24
GPU虚拟化 & MIG
多实例GPU硬件隔离 · vGPU调度挑战
25
CUDA Graph
kernel启动图结构化 · 减少CPU开销
26
持久化线程 (Persistent Threads)
线程长期驻留SM · 动态任务分配
27
GPU功耗 & 频率调度
DVFS · TDP限制下的调度策略
28
调试GPU调度问题
NVIDIA Nsight · Occupancy分析 · Warp监控
29
GPU调度 vs CPU调度
线程切换代价 · 调度粒度 · 上下文保存
30
未来趋势
Chiplet · 光互连 · 存内计算对调度影响