01
NPU基础认知
什么是NPU?NPU与CPU/GPU的区别,脉动阵列、数据流架构,端侧与云侧应用场景。
架构入门
02
推理性能指标
吞吐量、延迟、算力利用率、内存带宽瓶颈识别与度量。
指标度量
03
模型量化原理
FP32→INT8,对称/非对称量化,QAT与PTQ实战对比。
量化INT8
04
算子性能分析
Conv2d、MatMul、Softmax在NPU上的计算模式与瓶颈。
算子Profiling
05
内存访问优化
DDR带宽瓶颈、Tiling分块、数据复用与Buffer管理。
内存Tiling
06
计算与访存重叠
Double Buffer、流水线调度、异步DMA传输。
流水线DMA
07
模型编译优化
图优化(算子融合/常量折叠)、内存规划、算子调度策略。
编译图优化
08
Profiling工具实战
使用昇腾MindStudio、寒武纪MagicMind定位性能热点。
工具Profiler
09
算子手工调优
手写Tiling、调整Loop Order、利用Vector指令集。
调优Vector
10
Winograd卷积加速
Winograd算法原理,NPU实现与性能收益分析。
卷积Winograd
11
稀疏化加速
结构化/非结构化稀疏,N:M稀疏硬件支持与收益。
稀疏N:M
12
Attention机制优化
FlashAttention原理,NPU分块实现与显存优化。
AttentionFlash
13
动态Shape处理
动态Batch/分辨率优化,Padding与Mask技巧。
动态Shape
14
多模型并发推理
多模型共享NPU,时间片调度与优先级管理。
并发调度
15
端侧NPU部署
ONNX→NPU转换,内存限制优化,功耗与性能平衡。
端侧部署
16
云侧NPU集群
多卡通信(NCCL/RoCE),模型并行与数据并行,负载均衡。
集群并行
17
算子融合实战
Conv+BN+ReLU融合,LayerNorm融合,减少Kernel Launch。
融合Kernel
18
内存池管理
预分配策略、碎片整理、Cache Line对齐优化。
内存池Cache
19
量化精度调试
KL散度校准、余弦相似度、逐通道/逐层量化选择。
精度校准
20
混合精度推理
FP16与INT8混合使用,精度与性能权衡策略。
混合精度FP16
21
模型剪枝与蒸馏
结构化剪枝、知识蒸馏对NPU推理性能的影响。
剪枝蒸馏
22
NPU驱动与Runtime
驱动交互开销、IOCTL优化、用户态/内核态切换。
驱动Runtime
23
硬件特性利用
Vector/Scalar单元分工,Local Memory与Global Memory协同。
硬件Local
24
性能建模与预估
Roofline模型分析,计算密度与带宽需求匹配。
建模Roofline
25
常见性能陷阱
Bank Conflict、Shared Memory溢出、Warp Divergence(类比NPU)。
陷阱Bank
26
自动化调优工具
AutoTVM、Ansor在NPU上的应用,搜索空间设计。
自动调优TVM
27
Benchmark标准化
MLPerf推理测试规范,复现与解读性能数据。
BenchmarkMLPerf
28
案例实战1:ResNet-50
从100fps优化到500fps的完整过程与技巧。
案例ResNet
29
案例实战2:BERT推理
延迟从50ms降低到10ms的完整优化过程。
案例BERT
30
总结与展望
NPU未来趋势:存算一体、3D堆叠,学习路径与社区资源。
趋势社区