01
算子融合概述
什么是算子融合、为什么需要算子融合、算子融合的分类(水平融合、垂直融合)。
基础概念
02
计算图与IR
计算图的基本概念、中间表示(IR)的作用、常见的IR格式(ONNX、MLIR、TVM Relay)。
IR计算图
03
TVM框架入门
TVM架构概览、Relay IR详解、TVM的编译流程(前端、优化、后端)。
TVM入门
04
TVM算子融合Pass
TVM中的FuseOps Pass、融合规则的定义、融合后的图结构分析。
PassTVM
05
水平融合实战
Element-wise算子融合、如何识别可融合的算子序列、融合后的性能收益分析。
水平融合实战
06
垂直融合实战
Conv-BN-ReLU融合、Conv-Bias-Activation融合、融合后的数值精度问题。
垂直融合精度
07
MLIR框架入门
MLIR核心概念(Operation、Region、Dialect)、Dialect机制、Pass基础设施。
MLIRDialect
08
MLIR算子融合Pass
Pattern Rewrite实现融合、Linalg Dialect融合策略、与TVM融合对比。
MLIRPattern
09
XLA编译器入门
XLA架构设计、HLO与LHLO、XLA的融合策略(Fusion Instruction)。
XLAHLO
10
XLA融合实战
XLA中的循环融合、归约融合、XLA融合的局限性。
XLA循环融合
11
GluonCV中的融合案例
GluonCV模型在TVM上的融合优化、ResNet融合策略、YOLO融合策略。
GluonCVResNet
12
BERT模型融合优化
Multi-Head Attention融合、LayerNorm融合、GELU激活函数融合。
BERTAttention
13
Transformer模型融合优化
Encoder-Decoder结构融合、Feed-Forward Network融合、Cross-Attention融合。
TransformerFFN
14
卷积神经网络融合优化
Conv-BN-ReLU多种变体融合、Depthwise Separable Conv融合、分组卷积融合挑战。
CNN分组卷积
15
循环神经网络融合优化
LSTM/GRU的Cell融合、时间步展开与融合、序列长度对融合的影响。
RNNLSTM
16
内存带宽与计算强度
Roofline模型分析、融合如何减少内存访问、计算密集型vs内存密集型算子。
Roofline内存
17
寄存器分配与缓存优化
融合后的寄存器压力分析、缓存局部性优化、Tile Size选择策略。
寄存器缓存
18
自动融合搜索
基于代价模型的自动融合、AutoTVM/AutoScheduler融合搜索、遗传算法应用。
自动搜索代价模型
19
融合与量化联合优化
融合后的量化感知训练、融合算子的量化实现、混合精度融合策略。
量化混合精度
20
融合与剪枝联合优化
结构化剪枝后的融合策略、非结构化剪枝对融合的影响、稀疏算子融合。
剪枝稀疏
21
多后端融合适配
CPU融合优化(AVX/SSE)、GPU融合优化(CUDA Core/Tensor Core)、NPU融合优化。
CPUGPUNPU
22
融合算子的手动实现
使用CUDA实现Conv-BN-ReLU融合、OpenCL实现Element-wise融合、手写调试技巧。
CUDAOpenCL
23
融合算子的自动生成
TVM Tensor Expression生成融合算子、MLIR Linalg生成融合算子、代码质量评估。
自动生成TE
24
融合算子的正确性验证
数值一致性检查、梯度正确性验证、端到端精度对比。
验证精度
25
融合算子的性能Profiling
NVIDIA Nsight分析融合算子、Intel VTune CPU分析、性能瓶颈定位。
ProfilingNsight
26
编译器中间表示优化
常量折叠与融合、死代码消除与融合、公共子表达式消除与融合。
IR优化DCE
27
循环优化与融合
循环合并、循环分块与融合、循环展开与融合的权衡。
循环分块
28
数据布局优化与融合
NHWC vs NCHW对融合的影响、内存对齐与融合、数据重排开销分析。
数据布局NHWC
29
动态形状与融合
动态形状下的融合挑战、编译优化策略、动态形状融合实践案例。
动态形状挑战
30
算子融合的未来趋势
端侧推理融合挑战、大模型时代融合策略、AI编译器与硬件协同设计。
未来大模型