一种加速神经网络计算的方法、系统、设备和存储介质技术方案

技术编号:33285222 阅读:8 留言:0更新日期:2022-04-30 23:50
本发明专利技术提供一种加速神经网络计算的方法、系统、设备和存储介质,方法包括:响应于板卡上电,执行只读存储器中的启动代码,并检测预设地址是否已设置标志位;响应于所述预设地址已设置标志位,通过PCIe将神经网络的输入数据、模型参数和神经网络加速模块所需参数下载到DDR或SRAM中;响应于接收到调用命令,从所述DDR或SRAM中读取卷积层的特征参数和权重参数,并根据所述特征参数和权重参数进行神经网络的运算;以及响应于接收到运算完成的中断信号,通知主机任务完成。本发明专利技术以RISC

【技术实现步骤摘要】
一种加速神经网络计算的方法、系统、设备和存储介质


[0001]本专利技术涉及神经网络领域,更具体地,特别是指一种加速神经网络计算的方法、系统、设备和存储介质。

技术介绍

[0002]随着神经网络算法方面的研究不断取得重大进展,算法所需的计算量也呈指数级上升,对硬件设备的算力提出了巨大挑战。在当前摩尔定律越来越难维持的情况下,仅仅通过半导体生产工艺的进步来提升算力变得越来越不可行,在现有的工艺水平下,如何改进硬件架构对于提升算力显得愈发重要。
[0003]通用处理器的通用性限制了它们完成特殊任务时的效率,目前针对特定领域的应用需求设计专用加速器并结合通用处理器实现的异构计算方式是一种比较流行的方案。GPU的设计采用并行计算架构,包含大量运算单元,GPU强大的并行计算能力适用于神经网络计算过程中的大量并行计算,这促使GPU成为了最常见的神经网络硬件加速平台。但GPU存在功耗高、体积大的问题,性能越高的GPU功耗越高,价格越昂贵。ASIC是针对特定需求专门定制的芯片,通过设计专门的电路可以最大程度的减少计算之外的开销,从而可以达到更小的体积和更低的功耗。但ASIC需要大量的时间进行设计和验证,开发难度大,成本高。

技术实现思路

[0004]有鉴于此,本专利技术实施例的目的在于提出一种加速神经网络计算的方法、系统、计算机设备及计算机可读存储介质,本专利技术基于FPGA实现神经网络加速,以RISC

V作为通用处理器,设计了专用的神经网络加速器,RISC

V和加速器协同实现对神经网络的计算加速,可以充分利用FPGA可编程的特性,当算法更新时重新编程即可实现对新算法的加速,此外,RISC

V可扩展的特性提供了设计自定义指令实现差异化功能的可能。
[0005]基于上述目的,本专利技术实施例的一方面提供了一种加速神经网络计算的方法,包括如下步骤:响应于板卡上电,执行只读存储器中的启动代码,并检测预设地址是否已设置标志位;响应于所述预设地址已设置标志位,通过PCIe将神经网络的输入数据、模型参数和神经网络加速模块所需参数下载到DDR或SRAM中;响应于接收到调用命令,从所述DDR或SRAM中读取卷积层的特征参数和权重参数,并根据所述特征参数和权重参数进行神经网络的运算;以及响应于接收到运算完成的中断信号,通知主机任务完成。
[0006]在一些实施方式中,所述从所述DDR或SRAM中读取卷积层的特征参数和权重参数包括:通过两个读通道分别读取卷积层的特征参数和权重参数,并按照需要的顺序将所述特征参数和权重参数存入卷积缓存中。
[0007]在一些实施方式中,所述按照需要的顺序将所述特征参数和权重参数存入卷积缓存中包括:检测所述卷积缓存中是否有足够空间存储所述特征参数和权重参数;响应于所述卷积缓存中有足够空间存储所述特征参数和权重参数,产生特征参数或权重参数的读请求;将所述读请求返回的数据存入内部缓存并调整所述内部缓存中数据的顺序;以及从所
述内部缓存中读出数据并产生所述卷积缓存的地址,将所述特征参数或权重参数写入所述卷积缓存,并更新记录的所述卷积缓存的状态。
[0008]在一些实施方式中,所述从所述DDR或SRAM中读取卷积层的特征参数和权重参数包括:判断卷积缓存的大小是否能够存储当前层所有的特征参数和权重参数;以及响应于卷积缓存的大小能够存储当前层所有的特征参数和权重参数,将当前层所有的特征参数和权重参数读入所述卷积缓存。
[0009]在一些实施方式中,所述从所述DDR或SRAM中读取卷积层的特征参数和权重参数包括:响应于卷积缓存的大小不能够存储当前层所有的特征参数和权重参数,判断卷积缓存的大小是否能够存储当前层所有的特征参数;以及响应于卷积缓存的大小能够存储当前层所有的特征参数,将所有的特征参数和部分权重参数读入所述卷积缓存。
[0010]在一些实施方式中,所述从所述DDR或SRAM中读取卷积层的特征参数和权重参数包括:响应于卷积缓存的大小不能够存储当前层所有的特征参数,将特征参数分成多个块;每次将一块特征参数和部分权重参数存入所述卷积缓存。
[0011]在一些实施方式中,所述根据所述特征参数和权重参数进行神经网络的运算包括:通过乘累加阵列对所述特征参数和权重参数进行卷积计算,并对计算结果进行单点处理。
[0012]本专利技术实施例的另一方面,提供了一种加速神经网络计算的系统,包括:内核模块,配置用于响应于板卡上电,执行只读存储器中的启动代码,并检测预设地址是否已设置标志位;主机模块,配置用于响应于所述预设地址已设置标志位,通过PCIe将神经网络的输入数据、模型参数和神经网络加速模块所需参数下载到DDR或SRAM中;神经网络加速模块,配置用于响应于接收到调用命令,从所述DDR或SRAM中读取卷积层的特征参数和权重参数,并根据所述特征参数和权重参数进行神经网络的运算;以及通知模块,配置用于响应于接收到运算完成的中断信号,通知主机任务完成。
[0013]本专利技术实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
[0014]本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
[0015]本专利技术具有以下有益技术效果:基于FPGA实现神经网络加速,以RISC

V作为通用处理器,设计了专用的神经网络加速器,RISC

V和加速器协同实现对神经网络的计算加速,可以充分利用FPGA可编程的特性,当算法更新时重新编程即可实现对新算法的加速,此外,RISC

V可扩展的特性提供了设计自定义指令实现差异化功能的可能。
附图说明
[0016]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0017]图1为本专利技术提供的加速神经网络计算的方法的实施例的示意图;
[0018]图2为本专利技术提供的加速神经网络计算的系统的整体架构图;
[0019]图3为本专利技术实施例中神经网络加速模块的结果示意图;
[0020]图4为本专利技术实施例中卷积DMA的结构示意图;
[0021]图5为本专利技术实施例中乘累加阵列的结构示意图;
[0022]图6为本专利技术实施例中单点处理模块的结构示意图;
[0023]图7为本专利技术提供的加速神经网络计算的系统的实施例的示意图;
[0024]图8为本专利技术提供的加速神经网络计算的计算机设备的实施例的硬件结构示意图;
[0025]图9为本专利技术提供的加速神经网络计算的计算机存储介质的实施例的示意图。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加速神经网络计算的方法,其特征在于,包括如下步骤:响应于板卡上电,执行只读存储器中的启动代码,并检测预设地址是否已设置标志位;响应于所述预设地址已设置标志位,通过PCIe将神经网络的输入数据、模型参数和神经网络加速模块所需参数下载到DDR或SRAM中;响应于接收到调用命令,从所述DDR或SRAM中读取卷积层的特征参数和权重参数,并根据所述特征参数和权重参数进行神经网络的运算;以及响应于接收到运算完成的中断信号,通知主机任务完成。2.根据权利要求1所述的方法,其特征在于,所述从所述DDR或SRAM中读取卷积层的特征参数和权重参数包括:通过两个读通道分别读取卷积层的特征参数和权重参数,并按照需要的顺序将所述特征参数和权重参数存入卷积缓存中。3.根据权利要求2所述的方法,其特征在于,所述按照需要的顺序将所述特征参数和权重参数存入卷积缓存中包括:检测所述卷积缓存中是否有足够空间存储所述特征参数和权重参数;响应于所述卷积缓存中有足够空间存储所述特征参数和权重参数,产生特征参数或权重参数的读请求;将所述读请求返回的数据存入内部缓存并调整所述内部缓存中数据的顺序;以及从所述内部缓存中读出数据并产生所述卷积缓存的地址,将所述特征参数或权重参数写入所述卷积缓存,并更新记录的所述卷积缓存的状态。4.根据权利要求1所述的方法,其特征在于,所述从所述DDR或SRAM中读取卷积层的特征参数和权重参数包括:判断卷积缓存的大小是否能够存储当前层所有的特征参数和权重参数;以及响应于卷积缓存的大小能够存储当前层所有的特征参数和权重参数,将当前层所有的特征参数和权重参数读入所述卷积缓存。5.根据权利要求4所述的方法,其特征在于,所述从所述DDR或SRAM中读取卷积层的特征参数和权重参数包括:响应于卷积缓存的大小不能够存储当...

【专利技术属性】
技术研发人员:杨继林
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1