探索CNN加速器与LDMAC:性能分析与创新设计
1. 全连接层操作流程
全连接层的操作流程有着特定的规则。在每次操作时,会先读取16个输入通道的图像数据,利用这16个输入通道生成4个输出通道的部分结果。操作完成后,接着读取接下来的16个输入通道进行操作,并将结果与上一次操作的4个输出通道进行累加,就像图9中的FC循环块那样。不断重复执行这个块,直到遍历完所有输入通道,此时会生成4个输出通道。完成操作的输出通道会切换到接下来的4个输出通道,再次执行图9中的输出循环块,当所有输出通道都完成操作后,全连接层的操作流程就全部完成。
2. 验证与分析
2.1 功能验证平台
为了验证BMCOC功能和CNN操作流程的正确性,通过System Verilog构建了一个测试平台,用于模拟BMCOC的操作环境。该平台通过模拟数据池和指令池的功能,在BMCOC运行CNN时提供操作数据和操作指令。
模拟环境架构如图10所示,要让BMCOC模拟指令执行卷积层、最大池化层和全连接层的操作过程,在模拟开始前需要准备多个文件。这些文件由指令池创建,包括存储运行卷积层、最大池化层或全连接层所需指令的指令文件,数据池则存储运行这些层过程中所需的所有操作数据历史,最后还有一个结果文件用于检查比较操作的结果是否正确。
2.2 效能分析
为了评估BMCOC的操作性能,首先对运算单元进行电路综合,选择CPU、Cortex - M55和图形处理器作为性能比较对象,并使用LeNet、AlexNet、VGG16、GoogleNet和MobileNet这五个CNN网络模型进行运行,比较CPU、Cortex - M55、GPU和BMCOC之间的性能差
超级会员免费看
订阅专栏 解锁全文

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



