VIP20
本课程属于:024-训练加速 AI算力与GPU工程 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

CUDA算子融合原理解析

📚 共计 30 章节
01
CUDA编程模型与GPU架构基础
理解GPU并行计算核心思想,掌握核函数、线程层次结构与内存管理。
编程模型GPU架构
02
GPU内存层次结构详解
全局/共享/寄存器/常量/纹理内存特性、延迟与访存模式影响。
内存层次性能
03
算子融合的核心动机与收益分析
访存减少、内核启动开销降低、并行度提升等收益。
收益分析效率
04
水平融合与垂直融合策略
合并相同类型算子 vs 合并流水线连续算子,典型场景。
融合策略水平/垂直
05
逐元素算子融合
ReLU、Sigmoid、加法乘法等合并为一个核函数。
Element-wise激活函数
06
Reduce(归约)算子融合
求和/最大值归约实现,多步骤融合与归一化挑战。
归约并行
07
Softmax算子融合
一个核函数内完成最大值、指数、求和、归一化。
Softmax融合
08
LayerNorm与BatchNorm算子融合
均值方差计算与归一化、缩放平移融合。
归一化LayerNorm
09
矩阵乘法(GEMM)与融合
BiasAdd、ReLU融合到GEMM,计算密度与寄存器影响。
GEMMBiasAdd
10
Convolution与融合
BatchNorm/ReLU/BiasAdd融合到卷积核函数。
卷积访存优化
11
FlashAttention中的算子融合
Tiling与融合技术减少HBM访问,高效注意力计算。
FlashAttentionTiling
12
FusedGELU与FusedSoftmax
常见融合算子实现原理,GELU/Softmax融合。
FusedGELUFusedSoftmax
13
编译器驱动的算子融合
TVM、XLA、Triton编译器自动调度与融合。
编译器TVMXLA
14
手动算子融合与自动算子融合的权衡
手动编写 vs 编译器自动融合,场景选择策略。
手动融合自动融合
15
CUDA Graph与算子融合
捕获内核启动与内存操作,减少启动开销。
CUDA Graph启动开销
16
Warp级编程与Shuffle指令在融合中的应用
__shfl_down_sync高效归约、Scan,避免共享内存。
ShuffleWarp
17
共享内存与寄存器在算子融合中的关键作用
片上缓存暂存中间结果,寄存器分配减少溢出。
共享内存寄存器
18
算子融合中的Bank Conflict避免策略
Padding、改变访问模式避免共享内存Bank冲突。
Bank ConflictPadding
19
算子融合中的Occupancy与资源权衡
寄存器/共享内存消耗对Occupancy影响与平衡。
Occupancy资源
20
动态形状与算子融合的挑战
变长序列、动态Padding、编译时优化策略。
动态形状NLP
21
算子融合的数值精度问题
中间精度丢失、FMA顺序、Kahan求和与混合精度。
数值精度混合精度
22
CUDA Kernel Launch Overhead与融合优化
量化启动开销(5-15μs),小Batch场景收益显著。
启动开销小Batch
23
计算密集型与访存密集型算子融合策略
GEMM vs Element-wise,不同特性融合重点。
计算密集访存密集
24
多算子融合的代码生成与模板技术
C++模板、宏定义、代码生成编写灵活融合算子。
模板代码生成
25
NVIDIA cuBLAS与cuDNN中的融合算子
cublasGemmEx with epilogue,库函数高效融合。
cuBLAScuDNN
26
PyTorch与TensorFlow中的算子融合机制
TorchScript/FX Graph、XLA自动融合与手动控制。
PyTorchTensorFlow
27
算子融合的性能Profiling与调优工具
Nsight Compute、Nsight Systems、nvprof分析瓶颈。
ProfilingNsight
28
真实案例:BERT模型中的算子融合实践
LayerNorm+Add+Residual、QKV投影+Transpose融合。
BERT案例
29
真实案例:Stable Diffusion模型中的算子融合实践
UNet、Cross-Attention融合机会与推理加速。
Stable DiffusionUNet
30
算子融合的未来趋势与前沿技术
CUTLASS、Triton、动态编译、硬件级融合支持。
前沿CUTLASSTriton