高效节能的胶囊网络加速器设计与实现
在机器学习领域,硬件加速器的能效和鲁棒性至关重要。为了实现与 GPU 相似或更优的性能,硬件加速器需要具备大规模并行计算能力。同时,由于多个参数需要存储在内存中,处理单元(PE)与片上内存之间的缓冲区有助于维持高吞吐量,并减少片上内存访问带来的延迟。
1. CapsAcc 架构设计
1.1 总体概述
设计了完整的 CapsAcc 架构,并在硬件(RTL)中实现。其顶层架构如图 3.7a 所示,不同组件的详细方案如图 3.7b 和图 3.8 所示。CapsAcc 架构的核心是一个 PE 阵列,负责 CapsNets 中的所有矩阵和向量运算。选择 PE 阵列是因为它们在处理卷积层方面表现出极高的效率,而卷积层也是 CapsNets 的初始层。
此外,CapsAcc 支持一种专门的数据流,可利用多维矩阵运算的计算并行性。累加器单元存储并正确累加部分和,激活单元根据所需操作执行不同的激活函数。(数据、路由和权重)缓冲区对于临时存储信息至关重要,可避免频繁访问数据和权重内存来为 PE 阵列提供数据。PE 阵列输入处的两个多路复用器增加了处理新数据或根据相应数据流重用数据的灵活性。控制单元协调推理每个阶段的所有操作。
graph LR
A[Data Memory] --> B[Data Buffer]
C[Weight Memory] --> D[Weight Buffer]
E[Routing Buffer] --> F[PE Array]
B --> F
D --> F
超级会员免费看
订阅专栏 解锁全文
906

被折叠的 条评论
为什么被折叠?



