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

算子融合 · 突破内存带宽瓶颈实战课

📚 共计 30 章节
01
内存墙:为什么你的GPU算力跑不满?
理解带宽与计算强度的关系,定位算力瓶颈根源。
带宽计算强度
02
Roofline模型
用Roofline模型定位性能瓶颈,判断是计算受限还是带宽受限。
性能分析瓶颈定位
03
算子融合初探
什么是算子融合?为什么它能解决带宽瓶颈?
融合基础访存优化
04
Element-wise融合
将多个逐元素操作合并为一个kernel,减少访存次数。
逐元素Kernel合并
05
Reduce融合
将多个归约操作合并,利用共享内存减少全局内存访问。
归约共享内存
06
Conv-BN-ReLU融合
经典案例,将卷积、批归一化、ReLU合并为一个算子。
CNN经典融合
07
MatMul+Add+ReLU融合
Transformer中的常见融合模式。
Transformer矩阵乘法
08
FlashAttention原理
通过分块和重计算,减少对HBM的读写。
Attention分块
09
FlashAttention实现
Tiling策略与Online Softmax详解。
TilingOnline Softmax
10
Horizontal Fusion
将同一层中不同通道的算子合并。
通道合并水平融合
11
Vertical Fusion
将不同层中相邻的算子合并。
层间融合垂直融合
12
TVM Ansor自动融合
基于AutoTVM的算子融合与代码生成。
TVM自动调优
13
XLA编译器融合
Google XLA如何自动进行算子融合。
XLA编译器
14
TensorRT融合策略
NVIDIA TensorRT的图优化与层融合。
TensorRT图优化
15
手动融合实战
手写一个融合后的CUDA Kernel。
CUDA手写Kernel
16
Shared Memory优化
利用共享内存减少全局内存访问次数。
共享内存访存优化
17
Register重用来减少访存
通过循环展开和寄存器缓存。
寄存器循环展开
18
Vectorized Memory Access
使用float4/int4等向量化加载。
向量化带宽
19
Bank Conflict避免
共享内存访问模式优化。
Bank Conflict共享内存
20
Occupancy与带宽利用率
如何设置block size和grid size。
Occupancy线程配置
21
Profiling工具
使用Nsight Compute分析带宽瓶颈。
NsightProfiling
22
带宽瓶颈的数学建模
计算理论带宽与实际带宽的差距。
建模带宽分析
23
L2 Cache命中率优化
通过数据布局提高缓存利用率。
L2 Cache数据布局
24
Prefetching技术
使用软件预取隐藏内存延迟。
预取延迟隐藏
25
异步拷贝
使用CUDA Async Copy减少同步开销。
异步拷贝CUDA
26
Warp级编程
利用Warp Shuffle减少共享内存使用。
WarpShuffle
27
多流水线并行
通过Stream实现计算与数据传输重叠。
流水线Stream
28
算子融合在LLM推理中的应用
KV Cache融合与PageAttention。
LLMKV Cache
29
算子融合在CNN推理中的应用
Conv+BN+ReLU的端到端优化。
CNN推理端到端
30
总结与展望
算子融合的未来趋势与硬件协同设计。
趋势硬件协同