01
驱动适配概述
GPU驱动架构、CUDA与ROCm生态对比、驱动适配的核心挑战。
驱动生态
02
算子性能调优基础
计算强度与带宽、Roofline模型、性能分析工具(nsys/ncu/rocprof)。
Roofline工具
03
内存访问优化
全局内存合并访问、共享内存bank conflict、寄存器溢出与本地内存。
共享内存合并
04
计算优化
指令级并行(ILP)、线程束级并行(Warp Level)、Tensor Core与Matrix Core使用。
ILPTensor Core
05
算子融合策略
Elementwise融合、Reduce融合、访存密集型算子融合实战。
融合访存
06
卷积算子优化
Im2Col+GEMM、Winograd算法、cuDNN与MIOpen原理。
卷积Winograd
07
矩阵乘法优化
Tiling策略、分块矩阵乘法、SGEMM与HGEMM实现。
GEMMTiling
08
归一化算子优化
BatchNorm、LayerNorm、RMSNorm的CUDA实现与优化。
归一化LayerNorm
09
激活函数优化
ReLU、GELU、SiLU的算子实现与融合技巧。
激活函数GELU
10
Attention机制优化
FlashAttention原理、分块Softmax、Online Softmax实现。
AttentionFlash
11
Reduce算子优化
Warp Shuffle、Block Reduce、全局Reduce策略。
ReduceShuffle
12
Gather与Scatter优化
索引访存优化、原子操作优化、Shared Memory缓存。
Gather原子操作
13
Padding与Mask优化
动态Padding、变长序列处理、Masked Softmax。
PaddingMask
14
数据类型优化
FP16/BF16/INT8量化、混合精度训练、类型转换开销。
量化混合精度
15
算子自动调优
AutoTVM、Ansor、Triton编译器原理与使用。
AutoTVMTriton
16
驱动层内存管理
cudaMalloc/cudaFree优化、内存池、统一内存。
内存池统一内存
17
驱动层流与并发
CUDA Stream、CUDA Graph、多流并发与同步。
StreamGraph
18
驱动层错误处理
CUDA Error Handling、异步错误、设备端断言。
错误处理断言
19
驱动层调试技巧
cuda-gdb、NVIDIA Nsight、ROCm ROCgdb。
调试Nsight
20
算子性能基准测试
Benchmark框架搭建、性能对比、回归测试。
Benchmark回归
21
卷积算子手写实现
从零实现Im2Col+GEMM卷积,性能对比cuDNN。
手写Im2Col
22
矩阵乘法手写实现
从零实现分块矩阵乘法,优化Shared Memory使用。
手写Shared Memory
23
FlashAttention手写实现
从零实现分块Attention,理解Online Softmax。
FlashAttentionOnline Softmax
24
LayerNorm手写实现
从零实现LayerNorm,优化Reduce与Broadcast。
手写LayerNorm
25
GELU激活函数手写实现
从零实现GELU,融合Elementwise操作。
GELU融合
26
Softmax手写实现
从零实现Safe Softmax,优化Warp级别Reduce。
SoftmaxWarp
27
ResNet50算子性能分析
使用nsys/ncu分析ResNet50热点算子。
ResNet50nsys
28
BERT算子性能分析
使用rocprof分析BERT模型算子瓶颈。
BERTrocprof
29
LLM推理算子优化
KV Cache优化、Prefill与Decode分离、Continuous Batching。
LLMKV Cache
30
算子性能调优总结
调优方法论、常见陷阱、未来趋势(CUTLASS 3.x、Triton)。
方法论CUTLASS