01
编译器概述
什么是模型编译器,为什么需要模型编译器,编译器在AI部署中的位置。
基础概念
02
计算图基础
静态图与动态图的区别,计算图的数据结构,拓扑排序与执行顺序。
图核心
03
前端解析
ONNX模型格式解析,Protobuf序列化与反序列化,模型导入与校验。
ONNX解析
04
中间表示(IR)
多层IR设计哲学,Graph IR与Linear IR,TVM的Relay IR与TIR。
IRTVM
05
算子映射与注册
算子识别与匹配,自定义算子注册机制,算子库的组织方式。
算子注册
06
图优化(上)
常量折叠、死代码消除、公共子表达式消除。
优化编译
07
图优化(下)
算子融合(Conv+BN+ReLU)、算子替换、数据布局转换。
融合布局
08
内存规划
静态内存分配算法,内存复用与共享,liveness分析。
内存分配
09
调度与执行
单线程调度,多线程任务调度,异构设备调度策略。
调度异构
10
代码生成(Codegen)
目标代码生成流程,LLVM后端集成,内联汇编与intrinsic。
CodegenLLVM
11
AutoTVM与自动调优
基于模板的调优,代价模型(Cost Model),硬件后端探测。
AutoTVM调优
12
Ansor与自动搜索
自动调度搜索空间,进化搜索与蒙特卡洛树搜索,与AutoTVM的对比。
搜索Ansor
13
TensorRT原理
层融合策略,精度校准(INT8/FP16),动态形状支持。
TensorRTINT8
14
XLA与JIT编译
HLO与MHLO,编译缓存机制,与TensorFlow的集成。
XLAJIT
15
MLIR基础
MLIR的Dialect体系,Operation与Type系统,Pass管理框架。
MLIRDialect
16
MLIR实战
自定义Dialect开发,Pattern Rewrite,Conversion与Lowering。
实战Lowering
17
Triton语言与编译器
Triton编程模型,块级调度,Triton到TritonGPU的Lowering。
TritonGPU
18
算子性能分析
Roofline模型,计算密度与访存带宽,Profiling工具(nvprof/nsys)。
性能Roofline
19
内存带宽优化
数据分块(Tiling),向量化加载,Bank Conflict避免。
带宽Tiling
20
计算优化
指令级并行(ILP),流水线隐藏延迟,Warp级优化。
ILPWarp
21
量化编译
训练后量化(PTQ),量化感知训练(QAT),量化图重写。
量化PTQ
22
稀疏编译
结构化稀疏与非结构化稀疏,稀疏矩阵存储格式,稀疏算子生成。
稀疏存储
23
动态形状编译
符号形状推理,动态shape的代码生成策略,Padding与Masking。
动态Shape
24
多后端编译
CPU(x86/ARM)后端,GPU(CUDA)后端,NPU/TPU后端适配。
后端CUDA
25
编译缓存与增量编译
缓存命中策略,增量图优化,分布式编译缓存。
缓存增量
26
调试与验证
编译结果正确性验证,数值精度对比,编译日志与Dump。
调试验证
27
编译器测试
单元测试框架,算子正确性测试,端到端模型测试,回归测试。
测试回归
28
性能剖析与瓶颈定位
编译时间分析,运行时Profiling,性能回归检测。
Profiling瓶颈
29
编译器安全
模型注入攻击,编译时沙箱,依赖供应链安全。
安全沙箱
30
前沿趋势与展望
AI编译器与硬件协同设计,大模型编译挑战,编译器标准化趋势。
前沿趋势