01
AI芯片编译器概述
AI芯片的发展背景、编译器在AI芯片中的作用、AI编译器与传统编译器的区别。
背景概念
02
深度学习模型基础
神经网络基本概念、常见算子(Conv、Pooling、FC、Activation)、计算图与数据流图。
算子计算图
03
编译器前端设计
模型解析与中间表示(IR)、TensorFlow/PyTorch模型导入、ONNX格式解析。
IRONNX
04
图优化技术
算子融合(Fusion)、常量折叠(Constant Folding)、死代码消除(DCE)、表达式化简。
融合折叠
05
内存规划与数据布局
内存层次结构(Global/Shared/Local)、数据排布优化(NHWC vs NCHW)、内存复用策略。
内存布局
06
算子调度与执行顺序
拓扑排序、贪心调度、基于代价模型的调度、流水线并行调度。
调度流水线
07
算子内核(Kernel)生成
代码生成策略、循环分块(Tiling)、向量化(Vectorization)、展开(Unrolling)。
代码生成循环优化
08
卷积算子优化(上)
Im2Col + GEMM、Winograd算法、FFT卷积、直接卷积(Direct Conv)。
卷积Winograd
09
卷积算子优化(下)
分组卷积(Group Conv)、深度可分离卷积(Depthwise Separable Conv)、转置卷积(Transposed Conv)。
分组卷积深度可分离
10
池化与归一化算子优化
MaxPooling/AvgPooling优化、Batch Normalization融合、Layer Normalization实现。
池化归一化
11
全连接与激活函数优化
FC层的矩阵乘法优化、ReLU/GELU/Sigmoid的近似计算与查表法。
全连接激活函数
12
注意力机制算子优化
Self-Attention计算流程、QKV投影优化、Softmax优化、FlashAttention原理。
注意力FlashAttention
13
循环神经网络算子优化
LSTM/GRU计算模式、时间步展开、双向RNN优化。
RNNLSTM
14
嵌入层与词向量算子优化
Embedding Lookup优化、稀疏梯度更新、混合精度嵌入。
嵌入稀疏
15
张量变形算子优化
Reshape/Transpose/Permute优化、数据搬移最小化、零拷贝技术。
变形零拷贝
16
广播与归约算子优化
Broadcast机制优化、ReduceSum/ReduceMean优化、AllReduce通信优化。
广播归约
17
量化算子设计与优化
对称/非对称量化、量化感知训练(QAT)、整型卷积实现、反量化与重量化。
量化QAT
18
稀疏计算算子优化
结构化稀疏与非结构化稀疏、稀疏矩阵乘法(SpMM)、剪枝后推理加速。
稀疏剪枝
19
动态形状与动态图优化
动态形状处理策略、JIT编译(Tracing vs Scripting)、动态图静态化。
动态图JIT
20
多后端代码生成
CPU(LLVM)、GPU(CUDA)、NPU(自定义指令集)、异构设备代码分发。
多后端CUDA
21
自动调优(Auto-Tuning)
基于搜索的调优(OpenTuner/Ansor)、基于学习的调优(TVM AutoTVM)、代价模型构建。
自动调优代价模型
22
编译时间优化
增量编译、缓存机制、并行编译、预编译模板。
增量编译缓存
23
调试与性能分析工具
编译器日志与IR可视化、Profiling工具(NVIDIA Nsight、Intel VTune)、性能瓶颈定位。
调试Profiling
24
编译器正确性验证
数值一致性检查、随机测试(Fuzz Testing)、回归测试框架。
验证Fuzz
25
端侧推理编译器优化
模型压缩(剪枝/量化/蒸馏)、内存受限优化、电池功耗感知调度。
端侧压缩
26
云侧推理编译器优化
批处理优化、动态Batching、请求级调度、GPU显存管理。
云侧Batching
27
训练编译器优化
自动微分实现、梯度累积、混合精度训练、分布式训练编译。
训练自动微分
28
前沿编译器框架分析
TVM架构详解、MLIR与Dialect机制、XLA与JAX、Glow与ONNX Runtime。
TVMMLIR
29
自定义算子开发与集成
自定义算子的C++/CUDA实现、算子注册与调用、自动微分注册。
自定义算子CUDA
30
综合项目实战
从模型到部署的全流程编译器实现、端到端性能调优、项目总结与展望。
实战全流程