01
模型编译器概述
什么是模型编译器 · 为什么需要 · 与通用编译器的区别
基础概念
02
编译流程总览
前端解析 · 中间表示(IR) · 后端优化与代码生成
流程架构
03
前端解析
模型格式解析(ONNX/TF/PyTorch) · 算子识别与映射
解析算子
04
中间表示(IR)
IR设计原则 · TVM Relay/MLIR/XLA HLO · 层次结构
IR核心
05
图优化
算子融合(Conv+BN) · 常量折叠 · 死代码消除
优化融合
06
内存优化
内存规划 · 共享内存 · 内存复用 · in-place操作
内存性能
07
量化编译选项
INT8/FP16原理 · QAT与PTQ · 量化粒度与校准
量化精度
08
算子库选择
cuDNN · cuBLAS · MKL · oneDNN · Triton · 自定义算子
算子库后端
09
调度与并行
循环优化 · 多线程调度 · GPU线程束调度
并行调度
10
自动调优
AutoTVM · Ansor · AutoSchedule · 成本模型与搜索
自动调优搜索
11
内存层级优化
寄存器分配 · 缓存优化 · 全局与共享内存协同
存储层级优化
12
数据布局转换
NHWC vs NCHW · 排布影响 · 布局转换pass
数据布局转换
13
算子内核生成
代码生成策略 · JIT编译 · 模板化内核
内核JIT
14
调试与日志选项
编译日志级别 · IR打印 · 性能profiling工具
调试日志
15
精度控制选项
FP32/FP16/BF16混合精度 · 精度回退 · 数值稳定性
精度混合精度
16
模型分割与异构计算
CPU+GPU异构 · 模型切分 · 跨设备数据传输
异构分割
17
动态形状支持
动态shape挑战 · bucketing · 动态IR表示
动态形状bucketing
18
编译缓存与增量编译
缓存策略 · 增量编译 · 缓存命中率优化
缓存增量
19
安全编译选项
模型加密 · 混淆 · 防逆向工程
安全加密
20
目标平台适配
ARM/x86 CPU · NVIDIA/AMD GPU · NPU/TPU
平台适配
21
编译时间优化
并行编译 · 预编译头文件 · 编译服务器集群
编译时间加速
22
模型压缩编译选项
剪枝 · 蒸馏 · 低秩分解与编译器协同
压缩剪枝
23
稀疏性支持
结构化/非结构化稀疏 · 稀疏矩阵乘法优化
稀疏加速
24
自定义pass开发
pass注册机制 · 依赖管理 · 调试
自定义pass
25
编译选项配置文件
JSON/YAML配置 · 命令行参数 · 环境变量
配置CLI
26
版本兼容性
编译器与框架版本匹配 · 算子版本管理 · ABI
兼容性版本
27
性能基准测试
编译选项对性能影响 · A/B测试 · 回归测试
基准测试性能
28
错误处理与回退
编译失败处理 · 降级策略 · fallback机制
错误处理降级
29
多后端支持
同一模型编译到不同后端 · 后端特定优化
多后端可移植
30
未来趋势
MLIR生态 · 可微分编程编译器 · AI原生编译器
前沿趋势