01
NPU架构概览
从CPU到NPU的演进 · MAC阵列 · 存储层次 · 与AI编译器关系
基础硬件
02
算子映射基础
什么是映射 · 挑战 · 输入输出 · 向量加法示例
映射入门
03
数据流与计算模式
Input/Weight/Output Stationary · 数据复用 · 脉动阵列
数据流脉动
04
缓存层次结构详解
L1 Scratchpad · L2 · Global · 延迟带宽 · 一致性
缓存架构
05
缓存命中与失效
命中/缺失率 · Compulsory/Capacity/Conflict · 减少Miss
性能优化
06
数据布局优化
NHWC vs NCHW · 布局对缓存影响 · 重排技术 · 陷阱
布局实战
07
Tile(分块)策略基础
为什么分块 · 大小确定 · 维度选择 · 缓存利用
分块SRAM
08
循环分块与重排
Loop Tiling · Loop Interchange · Unrolling · NPU应用
循环编译
09
算子融合基础
融合定义 · 减少中间搬运 · Conv+ReLU · Conv+BN+ReLU
融合基础
10
融合策略实战
Element-wise融合 · Reduce难点 · Transformer性能提升30%
实战性能
11
内存带宽瓶颈分析
Roofline模型 · 计算/内存密集型 · 突破带宽 · 计算强度
带宽Roofline
12
DMA优化
DMA原理 · Double Buffering · 传输粒度 · Scatter/Gather
DMA重叠
13
Bank冲突与内存分区
SRAM Bank结构 · 冲突原因 · 地址映射 · 性能下降50%案例
Bank调试
14
向量化编程与SIMD
SIMD单元 · 向量化加载/存储 · 数据对齐 · Intrinsics
SIMD向量化
15
卷积算子映射优化
Im2Col+GEMM · Winograd · 直接卷积 · 缓存行为对比
卷积算法
16
矩阵乘(GEMM)映射优化
Tiled GEMM · Pack操作 · 微内核 · M=1特殊场景
GEMM高性能
17
池化与归一化算子映射
Max/AvgPooling · BN融合 · LayerNorm实现挑战
池化归一化
18
激活函数映射
ReLU变体 · Sigmoid/Tanh近似 · Softmax数值稳定性
激活近似
19
Attention机制映射
Self-Attention模式 · QKV投影 · Softmax+Scale · 显存爆炸
AttentionBERT
20
Transformer结构映射
MHA并行 · FFN映射 · LayerNorm+Residual · 端到端Block
TransformerBlock
21
动态形状处理
静态vs动态 · 缓存分配 · Padding/Masking · 优化技巧
动态形状
22
稀疏性利用
CSR/CSC/COO · N:M结构化稀疏 · 稀疏映射 · 推荐模型经验
稀疏存储
23
量化算子映射
INT8/INT4原理 · Quantize/Dequantize · 量化卷积 · 精度权衡
量化INT8
24
多核并行与任务映射
多核架构 · 数据/模型并行 · 任务调度 · 核间通信
多核并行
25
流水线调度
指令/数据流水线 · 计算DMA重叠 · 软件流水线隐藏延迟
流水线延迟
26
编译器中间表示与映射
TVM Relay · MLIR · 算子分解/组合 · Lowering · 自定义Pass
IR编译器
27
自动调优技术
模板调优 · 机器学习调优 · 代价模型 · 搜索空间
Auto-tuningAnsor
28
Profiling与性能分析
性能计数器 · Nsight/VTune · 热点分析 · 瓶颈定位
Profiling工具
29
案例:ResNet-50优化
全流程部署 · 逐层分析 · 缓存命中对比 · 性能提升数据
案例ResNet
30
案例:LLM映射优化
KV Cache · Prefill/Decode · PageAttention · Continuous Batching
LLM大模型