🧠 NPU编译器 · 原理与实现
📘 30章 从入门到实战 · 友好色系
⭐
点击卡片跳转章节
01
NPU编译器概述
什么是NPU编译器
· AI芯片位置 · TVM/MLIR/XLA
02
计算图与中间表示
计算图概念 · 静态/动态图 · IR设计 · 多级层次
03
前端解析与算子识别
ONNX/TF/PyTorch解析 · 算子映射 · 自定义算子
04
图优化技术
算子融合 · 常量折叠 · DCE · CSE
05
内存规划与数据布局
Global/Shared/Register · NHWC vs NCHW · 分配策略
06
调度与并行优化
Loop Tiling/Unrolling · 多核调度 · 流水线/数据并行
07
代码生成与后端适配
指令选择 · 寄存器分配 · Code Emission · GPU/NPU/CPU
08
量化与精度管理
INT8/FP16 · QAT/PTQ · 精度调优与校准
09
性能分析与调优工具
Nsight/VTune · 瓶颈定位 · AutoTVM/Ansor
10
编译器测试与验证
数值对比 · 随机测试 · 性能回归 · 端到端流程
11
TVM编译器架构详解
整体架构 · Relay IR · AutoTVM/AutoScheduler
12
MLIR编译器架构详解
Operation/Region/Dialect · 扩展机制 · NPU应用
13
XLA编译器架构详解
HLO/LHLO · 编译流程 · TensorFlow集成
14
自定义算子开发
算子定义/注册 · C++/CUDA实现 · 测试集成
15
编译器前端开发
模型解析器 · 算子映射表 · 错误处理与日志
16
编译器中间表示设计
IR数据结构 · 遍历变换 · 序列化反序列化
17
图优化Pass开发
Pass注册/执行 · 依赖管理 · 调试验证
18
内存优化技术
Memory Reuse · Memory Folding · 带宽优化
19
算子库集成
cuDNN/cuBLAS/MIOpen · 自动选择 · 版本管理
20
多后端支持
目标平台抽象层 · 代码生成模板 · 适配问题
21
编译器性能基准测试
Benchmark设计 · MLPerf/TFLite · 结果分析
22
编译器调试技术
GDB调试 · 日志系统 · 断言与异常处理
23
编译器持续集成与部署
CI/CD流水线 · 自动化测试 · 版本发布
24
编译器安全与隐私
模型加密 · 安全漏洞 · 隐私保护编译
25
编译器可扩展性设计
插件机制 · 配置文件驱动 · 动态加载
26
编译器与硬件协同设计
硬件抽象层HAL · 指令集扩展 · 性能计数器
27
编译器在边缘计算中的应用
资源限制 · 模型压缩剪枝 · 边缘优化策略
28
编译器在云端推理中的应用
延迟/吞吐优化 · 动态批处理 · 模型服务化
29
编译器前沿技术
可微分编程 · NAS编译器 · 量子编译器
30
编译器项目实战
从零搭建NPU编译器 · 架构设计 · 代码实现