🎮 GPU指令流水线
深度剖析与优化
📚 30章 · 从架构到前沿
📅
2025 春季
⚡
含实战 & 工具链
🧩
适合 · 高性能计算 / GPU 开发
01
GPU架构演进史
从固定功能管线到统一着色器架构,GPU如何一步步变成今天的并行计算巨兽。
02
指令流水线基础
取指、译码、发射、执行、写回——五级经典流水线在GPU中的变体。
03
Warp与Wavefront
NVIDIA与AMD的线程调度单元,SIMT模型的本质是什么。
04
取指阶段深度剖析
指令缓存(I-Cache)设计、分支预测在GPU中的尴尬处境。
05
译码阶段
指令格式解析、VLIW与标量指令的对比、译码器硬件开销。
06
发射阶段
Scoreboarding与Tomasulo算法在GPU中的简化实现,发射队列管理。
07
执行阶段(上)
整数与浮点运算单元(ALU/FPU)的流水线设计,吞吐量与延迟的权衡。
08
执行阶段(下)
特殊函数单元(SFU)、张量核心(Tensor Core)的流水线集成。
09
访存指令流水线
Load/Store单元、访存请求合并(Coalescing)的原理与优化。
10
写回阶段
寄存器文件(Register File)的读写端口冲突,写回仲裁策略。
11
流水线停顿与气泡
数据冒险、结构冒险、控制冒险在GPU中的表现形式。
12
线程束发散(Warp Divergence)
本质、代价、以及如何通过代码重构避免。
13
同步与屏障
__syncthreads()的硬件实现,流水线中的同步开销。
14
指令级并行(ILP)
如何在一个线程内挖掘ILP,软件流水线技术。
15
线程级并行(TLP)
Occupancy计算,如何平衡寄存器压力与并行度。
16
内存级并行(MLP)
隐藏访存延迟,并发内存请求的调度。
17
编译器优化(上)
指令重排、循环展开、常量折叠对流水线的影响。
18
编译器优化(下)
PTX指令集优化,内联PTX汇编实战。
19
Profiling工具使用
NVIDIA Nsight Compute/AMD ROCProfiler的流水线分析功能。
20
流水线瓶颈定位
通过性能计数器识别前端/后端瓶颈,实战案例分析。
21
Occupancy与延迟隐藏
理论Occupancy vs 实际Occupancy,寄存器压力调优。
22
Shared Memory优化
Bank Conflict对流水线的影响,Padding技术。
23
全局内存访问模式
对齐与合并访问,如何让流水线不空转。
24
指令缓存优化
代码布局、循环对齐、减少I-Cache Miss。
25
分支预测与谓词执行
GPU如何用谓词代替分支,性能收益与代价。
26
异步并发与流水线
CUDA Stream与流水线重叠,异步拷贝与计算重叠。
27
动态并行(Dynamic Parallelism)
子内核启动对流水线的影响,适用场景。
28
多GPU流水线
跨设备流水线设计,NVLink与PCIe的影响。
29
AI加速器对比
GPU流水线 vs TPU脉动阵列 vs 华为昇腾Da Vinci架构。
30
未来趋势
Chiplet架构对流水线的影响,光互连、存内计算等前沿技术。