论文部分内容阅读
随着计算能力的发展和数据量的增加,基于深度神经网络的机器学习算法已经在视觉、语音等多个领域中体现出了优秀的性能。神经网络的模型规模日益复杂,这也就对执行神经网络运算的处理结构提出了要求。通用的冯诺依曼结构处理器往往在能效比上难以提供令人满意的性能,而可重构处理器具有可配置、高灵活性、并行程度大等特性,因此可以成为了一种合理的选择。本文以卷积神经网络的前向推断过程为加速目标,从静态可重构的FPGA和动态可重构的CGRA两方面入手,并结合数据位宽量化、硬件粒度挖掘、计算通路复用、层次化存储等优化方向,对系统结构分别进行定制化的设计。在静态可重构结构设计上,我们以FPGA为实现平台,首先针对常见的卷积神经网络模型设计了高能效的加速结构FP-CNN。基于资源感知的模型建模,从计算存储量、访存带宽以及能耗指标上分别给出了量化分析,并基于这一模型,给出了权重和特征图的量化手段,实现了计算通路的扩展以及权重和特征图多层片上存储结构的设计,大幅提升了卷积层计算的带宽;随后,我们从量化角度进一步深化,选取单比特的二值神经网络模型给出加速结构FP-BNN的设计,并针对比特级的向量乘法操作使用了基于异或和汉明重量计算的定制通路设计,避免了乘法器的使用,同时通过存储与调度的特定设计实现了超高带宽的计算吞吐量。在动态可重构结构设计上,我们则根据神经网络计算任务的特性,设计并实现了粗粒度动态重构芯片Chameleon,并以其为计算核心,通过系统结构、配置信息及编译流程上的设计,实现了可扩展、高能效的DP-CNN动态可重构加速系统。经验证,通过对计算通路及存储带宽的改进,FP-CNN体现出了高于已有FPGA设计的速度性能及能效比,而经过定制化二值计算通路设计的FP-BNN更是达到了超过GPU的TOP/s级别速度性能。DP-CNN则提供了 一种动态重构的加速解决方案,以其较高的能效比、较低的功耗以及实时的可配置性,在移动嵌入式端等领域能够获得应用空间。