AI编译器在软件栈中的位置
📚 共计 30 章节
01
课程导论:什么是AI编译器?
AI编译器在深度学习框架与底层硬件之间的桥梁作用。
桥梁
定位
02
AI软件栈全景
从应用层、框架层、编译器层、运行时层到硬件层的完整堆栈。
堆栈
全景
03
AI编译器的核心使命
将高层模型描述(如计算图)转换为高效的可执行代码。
计算图
代码生成
04
AI编译器 vs 传统编译器
相似之处(IR、优化、代码生成)与本质区别(张量、自动微分、硬件多样性)。
对比
张量
05
主流AI编译器概览
TVM、XLA、Glow、MLIR、Triton等项目的定位与特点。
TVM
MLIR
XLA
06
深度学习框架与编译器的接口
TorchScript、ONNX、TensorFlow SavedModel等中间表示。
ONNX
TorchScript
07
计算图与IR
静态图 vs 动态图,图IR(如Relay、StableHLO)的设计哲学。
静态图
Relay
08
前端优化
图优化、算子融合、常量折叠、死代码消除等高层变换。
算子融合
常量折叠
09
后端优化
内存规划、循环变换(tiling、unrolling)、向量化、并行化。
循环变换
向量化
10
自动调度与搜索
基于模板的调度、AutoTVM、Ansor等自动搜索技术。
AutoTVM
Ansor
11
代码生成
从IR到目标代码(CPU、GPU、NPU)的降级过程。
降级
目标代码
12
TVM架构详解
Relay IR、TE(张量表达式)、AutoScheduler、TIR、后端代码生成。
Relay
TIR
13
XLA架构详解
HLO IR、LHLO、Buffer Assignment、并行后端(GPU/TPU)。
HLO
TPU
14
MLIR与多级IR
Dialect机制、Pass Pipeline、从Linalg到SPIR-V的降级示例。
Dialect
SPIR-V
15
AI编译器与GPU
CUDA代码生成、共享内存管理、Warp级优化。
CUDA
Warp
16
AI编译器与NPU/TPU
特定加速器的指令集映射、脉动阵列调度。
NPU
脉动阵列
17
内存优化策略
张量内存复用、交换、重计算(Gradient Checkpointing)。
内存复用
重计算
18
算子融合实战
Conv-BN融合、GELU融合、多头注意力融合。
Conv-BN
注意力融合
19
量化与编译器的结合
量化感知训练后的图优化、整型推理代码生成。
量化
整型推理
20
稀疏性支持
稀疏张量表示、稀疏算子代码生成、结构化稀疏优化。
稀疏
结构化稀疏
21
动态形状挑战
动态shape下的编译策略、JIT编译与形状推断。
动态shape
JIT
22
多后端支持
同一编译器如何生成CPU、GPU、NPU代码,异构执行。
异构
多后端
23
AI编译器的调试与Profiling
性能分析工具、IR可视化、逐层耗时统计。
Profiling
可视化
24
AI编译器与边缘设备
模型压缩、内存受限环境下的编译策略。
边缘
模型压缩
25
分布式训练中的编译器
自动并行、张量分片、流水线调度。
自动并行
流水线
26
AI编译器生态
与ONNX Runtime、TensorRT、OpenVINO的集成。
TensorRT
OpenVINO
27
开源社区与贡献
TVM社区、MLIR社区、LLVM社区如何参与。
开源
社区
28
AI编译器前沿趋势
可微分编程编译器、AI for Compiler、端到端可微编译。
可微分
AI4Compiler
29
实战案例:用TVM部署ResNet-50
用TVM部署一个ResNet-50模型到GPU并调优。
ResNet-50
调优
30
课程总结与展望
AI编译器在AGI时代的角色,学习路径建议。
AGI
学习路径