论文部分内容阅读
近年来异构加速器凭借其优秀的性能功耗比成为了目前体系结构研究的主流方向。同时随着深度学习的兴起,深度学习神经网络的研究也重新回到了机器学习领域的潮头。因此,如何在加速器上高效地实现神经网络处理系统受到了学术界和工业界广泛的关注。 本文从深度学习领域最常见的卷积神经网络出发,抽象出三种典型的神经网络层次,结合算法特点,在目前最常用的基准平台与加速器平台上实现了这些网络层次。主要的贡献包括以下三个方面: 1.以卷积神经网络和深度神经网络为出发点,抽象并剥离出三种最常见的神经网络层次。并结合不同平台的架构特点,包括SIMD体系架构的Intel SSE指令集,GPU加速器的CUDA编程环境以及我们自己实现的专用神经网络加速器,对这三种神经网络层算法进行分块化、发掘数据复用性等优化,对算法进行重定制和实现。 2.在10个测试程序上对三种平台进行了神经网络处理的实验。结果表明,专用神经网络加速器在性能上相比于SIMD基准平台有平均117.87倍的提升,在功耗利用率上有平均21.08倍的提升,而面积则仅相当于Ivy Bridge架构的1.87%。相比于GPU,专用神经网络加速器在性能上有平均0.22倍的提升,而面积上则仅有GPUC2070片上面积的0.56%。 3.通过对实验分析发现,对于神经网络算法,GPU架构的主要性能瓶颈在于PCIe带宽对于数据传输的限制;SIMD架构的主要性能瓶颈在于并行化程度不够高。专用神经网络加速器则设计DMA利用数据复用性优化数据存取流程,设计不完全流水利用计算独立性实现高并发处理,这两点都从体系架构上越过了上述性能瓶颈。