01
NPU基础认知
什么是NPU、NPU与CPU/GPU的区别、典型架构与工作原理
概念硬件
02
算子概念入门
算子定义、常见类型(卷积/池化/全连接/激活函数)与角色
基础神经网络
03
算子映射基础
映射定义、层级(图级/层级/指令级)、输入与输出
映射流程
04
开发环境搭建
NPU驱动与工具链安装、交叉编译、远程调试环境
环境工具链
05
模型解析与可视化
Netron查看模型、解析ONNX/TensorFlow、提取算子列表
可视化模型
06
算子支持清单
查阅官方支持列表、识别不支持算子、替代方案分析
兼容性清单
07
手动映射实战(一)
卷积算子映射——参数对齐、数据排布转换、性能预估
卷积映射
08
手动映射实战(二)
池化与归一化算子映射——实现细节与边界处理
池化归一化
09
手动映射实战(三)
全连接与Softmax算子映射——矩阵运算映射技巧
全连接Softmax
10
手动映射实战(四)
激活函数与Element-wise算子映射——逐元素优化
激活函数逐元素
11
自动映射工具使用
NPU编译器/工具链自动映射、配置文件编写、报错处理
自动映射工具
12
映射结果验证
数值精度对比(余弦相似度/最大误差)、shape验证、性能基准
验证精度
13
性能分析基础
NPU性能计数器、算子耗时分布、带宽与计算利用率
性能分析
14
算子调优策略(一)
内存访问优化——数据复用、DMA传输合并、Tile切分
内存DMA
15
算子调优策略(二)
计算优化——指令流水线、向量化计算、算子融合
计算流水线
16
算子调优策略(三)
并行度优化——多核调度、任务流水、负载均衡
并行多核
17
算子调优策略(四)
量化与精度调优——INT8/FP16混合精度、校准数据集
量化混合精度
18
典型算子调优案例(一)
Conv2d算子——Im2Col+GEMM vs Winograd 选择与调优
Conv2dWinograd
19
典型算子调优案例(二)
MatMul算子——分块策略与Bank Conflict避免
MatMul分块
20
典型算子调优案例(三)
LayerNorm算子——归约操作的并行化实现
LayerNorm归约
21
典型算子调优案例(四)
Softmax算子——数值稳定性与高效实现
Softmax数值稳定
22
自定义算子开发入门
NPU自定义算子开发流程、TBE/DSL编程模型简介
自定义TBE
23
自定义算子实现
编写一个简单的Element-wise自定义算子(如GELU)
GELU实现
24
自定义算子调试与优化
仿真器调试、性能profiling、与原生算子对比
调试Profiling
25
模型端到端调优(一)
从PyTorch模型到NPU部署——完整映射调优流程
端到端PyTorch
26
模型端到端调优(二)
常见模型(ResNet、BERT)的映射调优实战
ResNetBERT
27
模型端到端调优(三)
多模型并发调度与内存复用优化
并发内存复用
28
问题排查与定位
精度异常排查、性能瓶颈定位、工具链Bug规避
排查Bug
29
调优工具链进阶
Profiling工具深度使用、自动化调优脚本、CI/CD集成
工具链CI/CD
30
总结与最佳实践
算子映射调优Checklist、常见陷阱、性能调优思维导图
总结最佳实践