System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于FPGA的卷积神经网络加速板卡制造技术_技高网

一种基于FPGA的卷积神经网络加速板卡制造技术

技术编号:42028860 阅读:7 留言:0更新日期:2024-07-16 23:17
本发明专利技术公开了一种基于FPGA的卷积神经网络加速板卡,该板卡包括终端接口、内存管理模块、数据配置模块、层间缓存模块及基本计算元。该板卡可通过外置的接口载入卷积神经网络的模型和具体数据,借助FPGA强大的并行计算能力,达成更好的实时性能和运算效率。相比于传统GPU的计算方式,本板卡能够实现更为密集的运算效率、成本较低,同时板卡内部实现安全管理,可监控板卡的运行状态,并进行决策。

【技术实现步骤摘要】

本专利技术涉及人工智能与硬件加速,具体涉及一种基于fpga的卷积神经网络加速板卡。


技术介绍

1、随着人工智能技术的快速发展,一方面,各类分类、推理任务的准确度、模型的适配度正不断上升,使得人工智能能够逐步实现真正的智能化,满足日常的应用需求;另一方面,模型的复杂程度和计算量也在不断上升。卷积神经网络是一种通过捕获邻近数据关系特征的深度学习算法,旨在通过观测区域变化量来减小模型的运算规模,但随着模型的日益复杂,计算量的指数级上升会使得其本身的优势将难以凸显。此外,面对实际应用的挑战,如智能驾驶、目标拦截等任务对人工智能的部署提出了极高的模型准确度和计算实时性的要求,而传统的部署方案无法同时对二者做到较好的优化,而模型的生成、迭代、部署均需要依赖于底层硬件强大的计算能力作为支持。


技术实现思路

1、本专利技术的目的是实现卷积神经网络硬件的一种基于fpga的卷积神经网络加速板卡,旨在:

2、(1) 实现高效的并行卷积数据处理效果,接入主机等设备后能够根据配置载入运算模型实现通用的卷积运算;能够在一次机器允许时内进行尽可能多次的运算,从而具备更高的运算速度。

3、(2) 板卡能执行长时间、稳定有效的计算任务,对于可能存在的计算错误及时检错及自我纠正。

4、(3) 能够长时间稳定的运行,对自身的健康状态进行检测,从而不会因状态异常损伤接入的设备。

5、实现本专利技术目的的具体技术方案是:

6、一种基于fpga的卷积神经网络加速板卡,使用fpga作为核心器件部署,通过fpga内部的查找表及电路并行驱动能力实现卷积过程,fpga内部包括终端接口、内存管理模块、数据配置模块、多层的层间缓存模块及多层多个通道的基本计算元;还包括静态存储安全校验模块;

7、所述终端接口与内存管理模块、数据配置模块连接,将来自外部设备的任务数据流下载至内存管理模块、将卷积神经网络模型下载至数据配置模块;

8、所述内存管理模块与终端接口及多层的层间缓存模块连接,将任务流数据下发至多层的层间缓存模块用于本层卷积的计算,并将最终的计算结果通过终端接口返回至外部设备;

9、所述数据配置模块与多层的层间缓存模块及多层多个通道的基本计算元连接,根据模型的设置,告知多层层间缓存模块是否能够直接输出最终结果,告知所述的基本计算元相应的卷积、池化及全连接参数;

10、所述多层的层间缓存模块与内存管理模块及多层多个通道的基本计算元连接,将本层待卷积的任务数据下发至多层多个通道的基本计算元进行并行的卷积计算,并将最终的计算结果返回至内存管理模块;

11、所述基本计算元与层间缓存模块连接,通过查询式卷积运算算法及池化计算将本层的计算结果返回至层间缓存模块。

12、所述静态存储安全校验模块与基本计算元连接,用于在每间隔数小时检测卷积过程内部静态数据存储的稳定性。

13、所述终端接口包括任务流数据接口、配置流数据接口、板卡健康管理模块;

14、所述任务流数据接口与内存管理模块连接,用以将外部设备的任务数据流下载至内存管理模块;

15、所述配置流数据接口与数据配置模块连接,用以将卷积神经网络模型下载至数据配置模块;

16、所述板卡健康管理模块与配置流数据接口连接,用以检测板卡电压、温度等物理量,在异常时做出决策,并通过配置流数据接口向外部设备报告状态。

17、所述层间缓存模块包括输入选择模块、数据缓存区、输出选择模块;

18、所述输入选择模块与内存管理模块、上一层所述的多个通道的基本计算元及数据缓存区连接,用于根据当前层间缓存模块的工作模式进行输入选择,若为卷积起始层,则将内存管理模块中的任务流数据输入至数据缓存区;非起始层下,将上一层所述的多个通道的基本计算元的计算结果输入至数据缓存区;

19、所述数据缓存区与输出选择模块相连,用于临时存放前级的数据结果,并将结果通过输出选择模块输出。

20、所述输出选择模块与内存管理模块、数据缓存区及本层多个通道的基本计算元连接,用于根据当前层间缓存模块的工作模式进行输出选择,若为卷积最终层或全连接最终层,则将数据缓存区中的任务流数据输出至内存管理模块;否则将数据缓存区的数据输出至本层多个通道的基本计算元。

21、所述基本运算元包括模型模式选择器、多份静态乘法表、超前进位加法器、行数据存储阵列、卷积运算模块、卷积缓存、池化运算模块、池化缓存;

22、所述模型模式寄存器与数据配置模块相连,用于载入基本运算元所使用的各项参数,并依据卷积核的大小和数值将配置信息加载至静态乘法表与超前进位加法器、依据池化的大小需求将配置信息加载至池化运算模块;

23、所述静态乘法表与模型模式寄存器、卷积运算模块相连,用于根据模型模式寄存器传来的卷积核数值,预先运算好所有可能的静态结果并进行存储,并根据卷积运算模块的需求返回相应的数据;

24、所述超前进位加法器与模型模式寄存器、卷积运算模块相连,用于根据模型模式寄存器传来的卷积核大小,使能相应层数加法器,并参与卷积运算模块的运算过程;

25、所述行数据存储阵列与层间缓存模块、卷积运算模块相连,用于存储层间缓存模块拆分的行数据,并按照比特顺序逐步的将数据送至卷积运算模块进行卷积计算;

26、所述卷积运算模块与多份静态乘法表、超前进位加法器、行数据存储阵列、卷积缓存连接,用于完成基于行数据存储阵列提供数据的卷积,其中卷积的乘法部分由多份静态乘法表以查询的方式提供,加法部分由依据配置指定的超前进位加法器网络提供,并将结果存放至卷积缓存;

27、所述卷积缓存与卷积运算模块、池化运算模块连接,用于接收来自卷积运算模块的计算结果,并将数据送入池化运算模块进行池化,此模块的目的是将池化运算与卷积运算进行隔离,实现流水式的计算过程;

28、所述池化运算模块与模型模式寄存器、卷积缓存、池化缓存连接,根据模型模式寄存器传来的池化大小使能相应的池化功能,将卷积缓存的数据载入进行池化运算,并将结果存放至池化缓存;

29、所述池化缓存与层间缓存模块及池化运算模块连接,用于存放池化运算模块计算结果,并将结果放入下一层的层间缓存模块。

30、所述查询式卷积运算算法,用以提高卷积计算的并行度,实现卷积加速,包括以下步骤:

31、1)通过模型模式寄存器加载模型对应的参数,包括卷积核大小、数值、量化位宽等信息;

32、2)为卷积核中每一位有效的数分配一张静态表,依据当前数预先计算出与所有可能乘数的计算值,并将乘数作为地址存放相应的数值;

33、3)根据卷积核的有效大小使能相应级数的超前进位加法器,使得根据输入可以即刻获得加法结果;

34、4)将行数据存储阵列的数依次逐步的推入卷积运算模块作为对应计算的数,针对卷积的各个对应位置值并行、同时地进行静态表的查询,并将结果通过本文档来自技高网...

【技术保护点】

1.一种基于FPGA的卷积神经网络加速板卡,其特征在于,使用FPGA作为核心器件部署,通过FPGA内部的查找表及电路并行驱动能力实现卷积过程,FPGA内部包括终端接口(1)、内存管理模块(2)、数据配置模块(3)、多层的层间缓存模块(4)及多层多个通道的基本计算元(5),所述终端接口(1)与内存管理模块(2)、数据配置模块(3)连接,将来自外部设备的任务数据流下载至内存管理模块(2)、将卷积神经网络模型下载至数据配置模块(3);

2.根据权利要求1所述的基于FPGA的卷积神经网络加速板卡,其特征在于,还包括静态存储安全校验模块(6), 静态存储安全校验模块(6)与基本计算元(5)连接,用于在每间隔数小时检测卷积过程内部静态数据存储的稳定性。

3.根据权利要求1所述的基于FPGA的卷积神经网络加速板卡,其特征在于,所述终端接口(1)包括任务流数据接口(11)、配置流数据接口(12)及板卡健康管理模块(13);

4.根据权利要求1所述的基于FPGA的卷积神经网络加速板卡,其特征在于,所述层间缓存模块(4)包括输入选择模块(41)、数据缓存区(42)及输出选择模块(43);

5.根据权利要求1所述的基于FPGA的卷积神经网络加速板卡,其特征在于,所述的基本运算元(5)包括模型模式选择器(51)、多份静态乘法表(52)、超前进位加法器(53)、行数据存储阵列(54)、卷积运算模块(55)、卷积缓存(56)、池化运算模块(57)及池化缓存(58);

6.根据权利要求1所述的基于FPGA的卷积神经网络加速板卡,其特征在于,所述查询式卷积运算算法,用以提高卷积计算的并行度,实现卷积加速,包括以下步骤:

...

【技术特征摘要】

1.一种基于fpga的卷积神经网络加速板卡,其特征在于,使用fpga作为核心器件部署,通过fpga内部的查找表及电路并行驱动能力实现卷积过程,fpga内部包括终端接口(1)、内存管理模块(2)、数据配置模块(3)、多层的层间缓存模块(4)及多层多个通道的基本计算元(5),所述终端接口(1)与内存管理模块(2)、数据配置模块(3)连接,将来自外部设备的任务数据流下载至内存管理模块(2)、将卷积神经网络模型下载至数据配置模块(3);

2.根据权利要求1所述的基于fpga的卷积神经网络加速板卡,其特征在于,还包括静态存储安全校验模块(6), 静态存储安全校验模块(6)与基本计算元(5)连接,用于在每间隔数小时检测卷积过程内部静态数据存储的稳定性。

3.根据权利要求1所述的基于fpga的卷积神经网络加速板卡,其...

【专利技术属性】
技术研发人员:周家珅成文静戴文沁巢瑞丽刘一清
申请(专利权)人:华东师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1