论文部分内容阅读
深度卷积神经网络(Deep convolutional neural network,DCNN)常被用于处理机器视觉的任务,包括目标检测、场景标记等。DCNN具有计算量大、数据量大、模型结构复杂多样的特点,这些特点给异构加速带来挑战。目前,大多数DCNN加速器在有限的片上资源下,使用固化的数据流处理不同的DCNN模型计算,导致性能和能效下降。
针对上述问题,提出了兼顾能耗和性能优化的灵活的可重配置DCNN加速系统FlexTetris。FlexTetris在基于3D堆叠内存实现的近数据处理架构下,使计算更靠近存储位置。3D堆叠内存支持大容量的数据存储、高带宽和低能耗的DRAM访问。同时,在3D堆叠内存逻辑片上集成大规模的处理单元(Processing Element,PE),为DCNN计算提供了高并发处理。FlexTetris采用了灵活的数据流调度策略,有效地利用了3D堆叠内存的特点和DCNN特定的数据重用,缓解在3D堆叠内存场景下存在的能耗和性能瓶颈问题。在FlexTetris的PE内,数据以特定序列流入乘法累加单元,利用乘法累加单元内的数据重用有效缓解能耗瓶颈问题。FlexTetris采用多维度展开的分组映射来将计算任务分配到不同的PE中,提高了总PE利用率来缓解性能瓶颈问题。同时,循环分块和重排策略优化了FlexTetris多级存储结构中不同级别之间数据传输,进一步缓解能耗瓶颈问题。最后,FlexTetris在主处理器上实现了能效分析工具。通过能效分析工具来获得不同DCNN模型的能效最优的调度方案,并重新配置FlexTetris控制单元来支持最优调度方案的实施。
实验采用多种DCNN模型进行测试。实验结果表明,相比于基于3D堆叠内存实现的DCNN加速系统Tetris,FlexTetris的平均能耗下降了31.4%,平均性能提高了12%。相比于使用低功耗DRAM的DCNN加速场景,FlexTetris的平均能耗下降了43.9%,平均性能提升了10%。因此,FlexTetris的灵活性更能够从3D堆叠内存的特性中获益。
针对上述问题,提出了兼顾能耗和性能优化的灵活的可重配置DCNN加速系统FlexTetris。FlexTetris在基于3D堆叠内存实现的近数据处理架构下,使计算更靠近存储位置。3D堆叠内存支持大容量的数据存储、高带宽和低能耗的DRAM访问。同时,在3D堆叠内存逻辑片上集成大规模的处理单元(Processing Element,PE),为DCNN计算提供了高并发处理。FlexTetris采用了灵活的数据流调度策略,有效地利用了3D堆叠内存的特点和DCNN特定的数据重用,缓解在3D堆叠内存场景下存在的能耗和性能瓶颈问题。在FlexTetris的PE内,数据以特定序列流入乘法累加单元,利用乘法累加单元内的数据重用有效缓解能耗瓶颈问题。FlexTetris采用多维度展开的分组映射来将计算任务分配到不同的PE中,提高了总PE利用率来缓解性能瓶颈问题。同时,循环分块和重排策略优化了FlexTetris多级存储结构中不同级别之间数据传输,进一步缓解能耗瓶颈问题。最后,FlexTetris在主处理器上实现了能效分析工具。通过能效分析工具来获得不同DCNN模型的能效最优的调度方案,并重新配置FlexTetris控制单元来支持最优调度方案的实施。
实验采用多种DCNN模型进行测试。实验结果表明,相比于基于3D堆叠内存实现的DCNN加速系统Tetris,FlexTetris的平均能耗下降了31.4%,平均性能提高了12%。相比于使用低功耗DRAM的DCNN加速场景,FlexTetris的平均能耗下降了43.9%,平均性能提升了10%。因此,FlexTetris的灵活性更能够从3D堆叠内存的特性中获益。