🧠 NPU算子实战
30章 · 从入门到部署
⚡ 支持昇腾 / 寒武纪 / 地平线 · 自定义算子全流程
📚 30个算子关卡
1
NPU基础认知
01
什么是NPU · 与CPU/GPU区别 · AI推理核心作用
2
算子概念入门
02
算子定义 · 卷积/池化/全连接/激活 · 算子与指令
3
NPU算子栈全景
03
框架层→硬件层调用链路 · 各层职责划分
4
算子开发环境搭建
04
昇腾/寒武纪/地平线套件 · 交叉编译工具链
5
算子开发语言选型
05
DSL(TBE/TVM) vs C/C++ · 适用场景
6
张量基础与数据布局
06
张量定义 · 形状/步长 · NHWC/NCHW
7
算子输入输出规范
07
维度约束 · 数据类型 · 内存对齐
8
简单算子实现(一)
08
Element-wise加法 · 数学公式→代码
9
简单算子实现(二)
09
ReLU激活函数 · 分段函数硬件映射
10
简单算子实现(三)
10
矩阵乘法 · 分块策略与数据复用
11
算子调试技巧
11
printf调试 · 日志分级 · 模拟器单步
12
算子性能分析
12
Profiling工具 · 计算/搬运时间拆解
13
内存优化策略
13
Local/Global Memory · DMA搬运优化
14
流水线并行
14
Double Buffer · 计算与搬运重叠
15
算子融合原理
15
为什么融合 · Conv+BN+ReLU模式
16
自定义算子注册
16
TensorFlow/PyTorch框架注册流程
17
自定义算子测试
17
单元测试框架 · 边界条件 · 精度对比
18
算子精度调优
18
浮点误差 · 混合精度训练影响
19
卷积算子深入
19
im2col · Winograd · 直接卷积对比
20
池化算子实现
20
Max/Average Pooling · 向量化实现
21
归一化算子
21
BatchNorm · LayerNorm NPU实现要点
22
激活函数算子
22
Sigmoid/Tanh查表法 · GELU近似计算
23
Reduce类算子
23
Sum/Mean/Max规约 · 树形归约算法
24
Gather/Scatter算子
24
索引操作 · 内存访问模式优化
25
Transpose/Reshape
25
数据重排 · 零拷贝技巧
26
自定义算子性能调优
26
循环展开 · 向量化 · bank conflict避免
27
算子库集成
27
打包动态库 · 提供C接口
28
算子自动化生成
28
基于模板的代码生成器设计
29
算子合规性检查
29
规范文档 · Review Checklist
30
实战项目:YOLOv5 Focus
30
自定义Focus模块 · 设计到部署全流程
公众号:蓝海资料掘金营,微信deep3321