🧠 深度学习编译器 IR 解析
30 章 · 从入门到前沿
📘 友好色系
01
深度学习编译器概述
为什么需要深度学习编译器?与传统编译器的区别。
02
计算图基础
计算图的概念、静态图与动态图、在编译器中的作用。
03
中间表示(IR)概述
IR的定义、分类(HIR、MIR、LIR)、设计原则。
04
高级中间表示(HIR)
HIR的特点、表示形式(Graph IR)、节点与边。
05
中级中间表示(MIR)
引入动机、优化目标、典型结构。
06
低级中间表示(LIR)
LIR与硬件的关系、指令集抽象、寄存器分配。
07
TVM的Relay IR
设计哲学、语法树结构、类型系统。
08
Relay IR的算子
常用算子(卷积、池化、全连接等)、属性与参数。
09
Relay IR的块与函数
let绑定、函数定义与调用、模块化设计。
10
Relay IR的类型推断
类型推断流程、约束生成与求解、多态类型。
11
MLIR框架介绍
MLIR起源、核心概念(Operation、Region、Block)、Dialect机制。
12
MLIR的Dialect
内置Dialect(Standard、Linalg、SCF)、自定义Dialect创建。
13
MLIR的Pass管理
Pass概念、Pass Pipeline、依赖与执行顺序。
14
MLIR的转换与降级
高Level Dialect到低Level Dialect转换、模式匹配与重写。
15
XLA的HLO IR
HLO语义、指令集、模块与计算。
16
XLA的LHLO与优化
LHLO引入、HLO到LHLO降级、优化Pass。
17
Glow的IR
Glow图IR、节点类型、IR优化。
18
nGraph的IR
Bridge机制、IR表示、Pass系统。
19
中间表示的图优化
常量折叠、公共子表达式消除、死代码消除。
20
中间表示的布局优化
数据布局转换(NCHW vs NHWC)、内存布局优化。
21
中间表示的算子融合
算子融合原理、常见融合模式(Conv+BN、Conv+ReLU)。
22
中间表示的量化
量化IR表示、量化参数传播、量化算子插入。
23
中间表示的内存规划
内存分配策略、内存复用、共享内存分析。
24
中间表示的并行化
循环并行化、数据并行、模型并行在IR中的表示。
25
中间表示的代码生成
从IR到目标代码生成流程、指令选择与调度。
26
中间表示的调试与可视化
IR打印、图形化展示、调试工具。
27
自定义IR的设计
如何设计新IR、语法与语义定义、IR验证。
28
中间表示的跨平台移植
不同硬件后端(CPU、GPU、NPU)的IR适配。
29
中间表示的性能分析
IR级别性能建模、代价模型、瓶颈分析。
30
深度学习编译器IR的未来趋势
动态形状支持、稀疏计算IR、可微分IR。