第1章
算子优化全景
为什么需要优化算子?性能瓶颈分析、优化方法论总览。
全景瓶颈
第2章
硬件基础
GPU架构概览(SM、Warp、Memory Hierarchy)、CPU与GPU协同。
GPU架构
第3章
CUDA编程模型
Kernel启动、Grid-Block-Thread映射、线程束执行。
CUDA线程
第4章
内存层次优化
全局内存、共享内存、寄存器、本地内存、常量内存、纹理内存。
内存层次
第5章
全局内存访问优化
合并访问(Coalesced Access)、对齐、跨步访问。
合并对齐
第6章
共享内存与Bank Conflict
共享内存布局、Bank冲突原理、Padding技术。
BankPadding
第7章
寄存器优化
寄存器压力、溢出(Spill)、Occupancy与性能权衡。
寄存器Occupancy
第8章
Warp级别优化
Warp Divergence、Warp Shuffle、Warp Reduce。
WarpShuffle
第9章
Occupancy与Launch Configuration
Block大小选择、Grid大小、SM利用率。
配置SM
第10章
指令级并行
ILP、流水线、循环展开、FMA融合。
ILP流水线
第11章
算子融合(Kernel Fusion)
原理、常见模式(Element-wise + Reduce)、实践案例。
融合Kernel
第12章
计算与访存重叠
Stream、异步拷贝、双缓冲(Double Buffering)。
重叠双缓冲
第13章
Tensor Core编程
WMMA API、mma指令、混合精度训练。
Tensor Core混合精度
第14章
cuBLAS与cuDNN最佳实践
选择合适的API、算法选择、Workspace管理。
cuBLAScuDNN
第15章
自定义算子开发
C++ Extension、PyTorch自定义算子、JIT编译。
自定义PyTorch
第16章
算子性能Profiling
Nsight Systems、Nsight Compute、ncu指标解读。
ProfilingNsight
第17章
Roofline模型
计算强度、带宽上限、计算上限、瓶颈定位。
Roofline瓶颈
第18章
矩阵乘法优化(上)
Naive实现、Tiling、向量化加载。
Tiling向量化
第19章
矩阵乘法优化(下)
Bank Conflict消除、双缓冲、Tensor Core实现。
BankTensor Core
第20章
卷积算子优化
im2col、Winograd、Direct Convolution、FFT。
卷积Winograd
第21章
Reduce算子优化
Warp Reduce、Block Reduce、多阶段Reduce。
Reduce多阶段
第22章
Softmax算子优化
Online Softmax、Safe Softmax、融合实现。
SoftmaxOnline
第23章
LayerNorm与BatchNorm优化
融合Kernel、半精度优化、反向传播。
LayerNorm半精度
第24章
Attention算子优化
FlashAttention原理、分块策略、IO感知。
AttentionFlash
第25章
Embedding算子优化
哈希表、稀疏访问、预取与缓存。
Embedding稀疏
第26章
Activation算子优化
ReLU、GELU、SwiGLU的融合与量化。
激活量化
第27章
混合精度训练
FP16/BF16/FP8原理、Loss Scaling、Master Weights。
混合精度FP8
第28章
分布式训练算子
AllReduce、Ring AllReduce、NCCL优化。
分布式NCCL
第29章
编译器优化
TVM、Triton、XLA的自动调优与代码生成。
TVMTriton
第30章
端到端案例
从PyTorch模型到高性能算子的完整优化流程。
案例流程