学位专题

目录>
<

一种高性能的硬件加速器

刘梓豪
广东工业大学
引用
计算机视觉作为人工智能的重要领域,在迅速发展的同时,对于嵌入式产品也提出了越来越高的性能。作为计算机视觉的常用技术,卷积神经网络CNN(ConvolutionalNeuralNetwork)已被用作图像识别、图像检测、图像分割等任务。鉴于CPU、GPU、专用芯片ASIC等都存在各自的问题,可编程门阵列(FieldProgrammableGateArray,FPGA)以其高性能、高能效、高灵活性的优点被广泛应用于CNN的计算加速。但是FPGA在设计过程中会存在带宽与片上资源未能很好平衡的问题,从而影响性能。  针对以上设计瓶颈,在XilinxZC706开发平台上设计了一个高性能的卷积神经网络加速器。ZYNQ是一种支持软件和硬件协同开发的SoC平台。本论文在ZYNQ平台上采用ARM+FPGA的模式进行设计开发,在FPGA上用Verilog代码设计硬件加速器的硬件电路,利用ARM进行系统的参数控制与调度。  本文设计了可配置的系统架构,通过软件对系统进行控制,结构上可支持VGG16、Yolo-v2-tiny、RestNet等卷积神经网络的加速。目前通过了Yolo-v2-tiny的仿真与验证。通过性能模型的建立与分块方案的设计,能够从理论上给出高性能策略。再通过硬件的设计与优化,可最大程度提升硬件加速器的性能。本论文的详细工作内容如下:  首先,提出了一种建立性能模型的流程方案。针对神经网络的计算量进行循环展开与数据复用进行分析,利用参数共享降低了数据存储量。并基于Roofline模型,有效针对多方面影响因子,提出了一种建立性能模型的流程方案。可估算出在硬件平台上对神经网络进行加速的峰值性能,以及达到此性能所采用的分块策略。  其次,设计了高性能的硬件加速器,可通过软件对分块策略的参数进行提取,然后对加速器进行配置。加速器设计了三级控制器进行调度,利用了三级缓存机制以及DMA(DirectMemoryAccess)的并行传输,对数据缓存、数据传输、输出模块进行了优化,提高了对整体带宽的利用率。设计了输出导向方式的卷积处理单元,支持多种卷积尺寸和卷积步长,从而支持多种神经网络结构。针对DMA的传输需求,设计了数据变形处理模块,可以将位于片上存储的数据进行变形,顺序输出至DMA。  最后,完成Yolo-v2-tiny的仿真及板级验证。并为硬件加速器搭建一个视频展示系统,在实际场景中进行应用,最终实现物体的实时目标识别,识别帧率达21.9fps。  本文用了448个DSP,极限性能可达179.2GOPS,本文在考虑多种约束条件下对性能进行建模计算,得出Yolo-v2-tiny的平均性能最高能达到133GOPS。板级实验结果表明,加速器的工作频率为200MHz,平均性能约为118GOPS,达到了性能模型的89%,能效比是32.33GOPS/W。与近几年来的加速器相比,本文的硬件加速器可以提供更高的性能,较之CPUE5-2620,性能是其7倍,能效比是其162倍,较之GPUNVIDIAK40,能效比是其19倍。

计算机视觉;硬件加速器;Roofline模型;卷积神经网络;Yolo-v2-tiny;FPGA

广东工业大学

硕士

控制工程

蔡述庭;黄沫

2021

中文

TP391.41

2021-10-15(万方平台首次上网日期,不代表论文的发表时间)

相关文献
评论
相关作者
相关机构
打开万方数据APP,体验更流畅