🧠 FINN 内存优化技巧 📘 30 章

✨ 友好 · 高能实战
01
异构计算模型 · ONNX→HLS映射 · 内存瓶颈根源
02
卷积数据重用 · 行缓冲(line buffer) · 滑动窗口本地存储
03
输入输出双缓冲 · DMA流水线 · 乒乓buffer深度
04
QAT量化感知 · 按位切片重组 · 减少BRAM位宽浪费
05
中间结果流式传输 · 避免DDR回读 · Streaming FIFO深度
06
全连接矩阵分块 · tiling拆分 · 适配片上SRAM
07
SIMD宽度 · MVTU并行度 · 计算与带宽平衡
08
ReLU稀疏 · 游程编码(RLE) · 解压逻辑 · 减少中间存储
09
FC层权重捆绑 · 合并存储 · 减少参数总量
10
LUT/BRAM/URAM/DDR · 数据放置 · 成本性能权衡
11
finn-rtlsim剖析 · brevitas量化指导 · 内存分配
12
batch size调整 · 带宽影响 · 多批次预取
13
稀疏编译 · 跳过零值 · 稀疏索引表 · 减少访存
14
AXI DMA传输粒度 · 描述符链 · 连续/非连续搬运
15
专用缓存 · Xilinx FIFO IP · 读写时钟域匹配
16
理论带宽公式 · 实际吞吐率 · 瓶颈定位
17
相邻小层合并 · 减少中间结果写回 · 降低DDR访问
18
量化位宽动态调整 · 窄位宽BRAM · 减少位宽扩展
19
固定大小内存池 · 避免动态碎片 · 高效回收
20
多时钟域冲突 · 异步FIFO · 数据一致性
21
已知模式预取 · 空闲周期加载 · 隐藏内存延迟
22
ONNX节点地址映射 · 减少地址计算 · 线性访问
23
Vivado HLS pipeline/unroll · array_partition · 内存综合
24
跨层复用BRAM · 状态机控制 · 减少总面积
25
DDR4突发长度 · 内存控制器 · 高带宽传输
26
动态/静态功耗 · 减少内存翻转 · 低功耗部署
27
Vivado波形分析 · 定位冲突 · 时序收敛
28
ONNX导入→FINN编译 · 逐步优化 · 实时推理
29
循环依赖内存 · 状态缓存 · 序列推理优化
30
近存/存内计算 · FINN前景 · 30条黄金法则