VIP20
本课程属于:016-NPU算子映射 AI算力与GPU工程 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

NPU算子内存带宽不足破解术

📚 共计 30 章节
01
带宽瓶颈全景图
为什么NPU算子总是吃不饱?从冯诺依曼瓶颈到存算一体,一张图看懂内存墙。
全景内存墙
02
带宽基础概念
带宽、延迟、吞吐量三者的区别与联系,DDR、HBM、SRAM的带宽对比。
DDRHBMSRAM
03
算子访存模式分析
连续访问、随机访问、广播、归约,不同模式对带宽的消耗差异。
访存模式广播
04
数据复用策略
时间局部性与空间局部性,如何利用片上缓存减少对外带宽需求。
局部性缓存
05
Tiling技术详解
大矩阵切块,分块大小对带宽利用率的影响,我踩过的tiling坑。
分块实战
06
Double Buffer机制
计算与数据加载重叠,隐藏内存延迟,实现流水线并行。
流水线隐藏延迟
07
Bank Conflict与访存对齐
为什么你的带宽利用率只有50%?HBM bank冲突的破解之道。
Bank冲突HBM
08
数据排布优化
NHWC vs NCHW,数据重排对带宽的影响,我的一次4倍加速经历。
NHWCNCHW
09
算子融合
减少中间张量的读写,将多个算子合并为一个kernel。
融合Kernel
10
计算与访存比
算力与带宽的匹配关系,如何判断算子是计算密集型还是访存密集型。
计算比访存
11
Roofline模型
用Roofline模型分析算子瓶颈,找到优化方向。
Roofline分析
12
向量化加载与存储
NEON/SIMD指令集如何提升带宽利用率。
SIMDNEON
13
DMA与异步拷贝
利用DMA引擎进行后台数据传输,CPU/NPU协同。
DMA异步
14
数据压缩技术
稀疏性利用、量化、剪枝,减少需要搬运的数据量。
量化剪枝
15
Winograd与FFT
算法变换减少乘法次数,间接降低访存压力。
WinogradFFT
16
Im2Col与Gemm
卷积的矩阵化实现,内存布局对带宽的影响。
Im2ColGemm
17
内存池与预分配
避免动态内存分配带来的碎片和额外开销。
内存池预分配
18
Cache友好编程
如何编写对L1/L2 cache友好的算子代码。
Cache优化
19
多核并行与带宽争抢
多核场景下的带宽分配与同步开销。
多核争抢
20
NUMA架构下的访存优化
跨socket访存延迟,绑核与内存亲和性。
NUMA亲和性
21
算子性能Profiling
使用perf、nsys、rocprof等工具定位带宽瓶颈。
perfnsys
22
带宽利用率计算公式
实际带宽与理论带宽的比值,如何准确测量。
利用率测量
23
HBM3与GDDR6特性对比
不同显存技术的带宽、功耗、延迟差异。
HBM3GDDR6
24
存算一体技术
近存计算与存内计算,从根本上打破内存墙。
近存存内
25
3D堆叠与Chiplet
先进封装技术对带宽的提升。
3D堆叠Chiplet
26
编译器优化
自动tiling、自动向量化、循环展开对带宽的影响。
编译器循环展开
27
算子库选型
cuBLAS、MIOpen、oneDNN等库的带宽优化策略。
cuBLASMIOpen
28
实际案例:ResNet50
ResNet50的带宽优化,从30%到85%的带宽利用率提升。
ResNet50案例
29
实际案例:Transformer Attention
Transformer Attention的带宽优化,KV cache的访存优化。
AttentionKV cache
30
未来趋势
光互连、CXL、存算一体芯片,下一代带宽技术展望。
光互连CXL