随着深度学习模型规模不断扩展,神经网络加速器中的片上网络(Network-on-Chip, NoC) 已经成为性能瓶颈之一。NoC 作为连接计算单元(PE)、缓存(SRAM)、控制模块和片外存储接口的关键纽带,其架构设计直接影响数据传输延迟、带宽利用率和能效。本文将从 NoC 架构、设计挑战、优化策略和工程实践四个方面展开分析。


一、NoC 在神经网络加速器中的作用

  1. 数据搬运

    • 负责输入特征图、权重、输出结果在各个模块之间的高效传输。

  2. 并行支持

    • 为数百甚至上千个计算单元提供并行通信能力,避免带宽冲突。

  3. 可扩展性

    • 随着模型复杂度提升,NoC 需支持灵活扩展和异构计算单元连接。

  4. 能效保障

    • NoC 的功耗往往占系统整体的 20%-40%,其设计直接影响系统能效。


二、NoC 架构设计挑战

  1. 高带宽需求

    • 卷积和矩阵乘法涉及大量数据并行传输,对带宽提出严苛要求。

  2. 低延迟要求

    • 若 NoC 延迟过高,计算单元会空闲等待,造成性能浪费。

  3. 多任务并行冲突

    • 不同层次的计算任务可能同时争夺带宽,导致拥塞。

  4. 功耗限制

    • NoC 动态切换与数据搬移带来能耗,需要在性能与功耗间平衡。


三、常见 NoC 拓扑结构

  1. 总线型(Bus)

    • 简单易实现,但扩展性和带宽有限。

  2. 环形(Ring)

    • 带宽分布均匀,适合小规模加速器,但延迟随节点数增加。

  3. 二维 Mesh 网格

    • 最常见结构,易扩展,带宽均衡,适合大规模并行计算。

  4. 树形(Tree/Fat-tree)

    • 高带宽聚合,适合分层缓存和多级存储结构。

  5. 片上光互连(前沿研究)

    • 通过硅光技术提供 Tb/s 级带宽,适合未来超大规模加速器。


四、NoC 优化策略

  1. 带宽分配与仲裁

    • 采用优先级调度、时分复用(TDMA)等方式,避免冲突。

  2. 数据复用与多播传输

    • 在卷积计算中,同一输入可广播到多个 PE,提高复用率。

  3. 流水化与预取机制

    • 在数据传输过程中加入流水线,减少等待时间。

  4. 压缩与低比特通信

    • 通过 INT8/INT4 量化和稀疏编码,降低通信数据量。

  5. 能效感知路由

    • 根据运行状态动态选择低功耗路由,提升能效比。


五、工程实践案例

案例 1:CNN 加速器的 Mesh NoC 优化

  • 问题:特征图传输量大,导致带宽瓶颈。

  • 方案:采用 Mesh 拓扑 + 多播机制。

  • 结果:带宽利用率提升 45%,延迟降低 30%。

案例 2:Transformer 加速器的多层 NoC

  • 问题:注意力层数据访问模式复杂,冲突频繁。

  • 方案:引入树形 NoC 与片上缓存协同调度。

  • 结果:冲突减少 50%,吞吐量提升 40%。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐