System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于FPGA的神经网络存算资源优化分配方法及系统技术方案_技高网

一种基于FPGA的神经网络存算资源优化分配方法及系统技术方案

技术编号:44315232 阅读:1 留言:0更新日期:2025-02-18 20:28
本发明专利技术提出了一种基于FPGA的神经网络存算资源优化分配方法及系统,涉及人工智能技术领域,包括:分析并行因子与神经网络各层的延迟、并行因子与FPGA的计算资源消耗,建立层间计算资源关系模型;基于层间计算资源关系模型,通过计算资源分配方法,得到分配后的神经网络各层的最佳并行因子;分析神经网络层内各模块的延迟与并行度、内存资源消耗,建立层内内存资源关系模型;基于层间计算资源关系模型及层内内存资源关系模型和分配后的神经网络各层的最佳并行因子,实现层内内存资源与延迟的平衡优化。本发明专利技术通过合理分配各层并行度,在最小资源占用的前提下减少数据流阻塞,以各层内模块延迟一致与各层间延迟一致为目标,实现总延迟最小的效果。

【技术实现步骤摘要】

本专利技术属于人工智能,尤其涉及一种基于fpga的神经网络存算资源优化分配方法及系统。


技术介绍

1、本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。

2、卷积神经网络正在被应用到各行各业中,图像分类,目标检测与跟踪,图像分割,姿态估计等绝大多数算法都需要将卷积神经网络作为特征提取器,卷积神经网络的特性使之可以获得到更深层次的特征,进而使算法达到更高的准确性,但卷积神经网络也带来了高额的算力与存储需求,进而带来了更高的能耗与资源占用。

3、在边缘场景下,设备的算力、存储和能耗都有限制,但同时边缘场景下对延迟也非常敏感,因此,由于卷积神经网络的高额算力与存储需求,极大的限制了卷积神经网络在边缘场景下的应用。

4、为了优化卷积神经网络在边缘场景下的性能表现,业内广泛使用fpga(fieldprogrammable gate array,现场可编程门阵列)对神经网络进行加速,通过一系列的优化技术降低延迟与资源占用、提高吞吐量。

5、现有的使用fpga对神经网络进行加速的研究,主要关注于以下几方面:网络轻量化、计算架构优化、提高计算并行度、批处理等。但fpga的资源是有限的,各层的并行度与整体延迟、资源使用量有着极强的相关性,所以分配到神经网络各层的资源是否合理对最终的加速器的延迟与资源占用总量都会有非常大的影响。

6、但目前对于计算资源与存储资源这两种资源的在各层的分配方式却鲜有研究,无法解决fpga分配到神经网络各层的资源是否合理的问题。


技术实现思路

1、为克服上述现有技术的不足,本专利技术提供了一种基于fpga的神经网络存算资源优化分配方法及系统,提出了包括层间计算资源关系模型和计算资源分配方法的层间资源高效分配模块以及包括层内内存资源关系模型和内存资源与延迟平衡优化方法的层内内存资源与延迟平衡优化模块。通过合理的分配各层的并行度,在最小资源占用的前提下减少数据流阻塞,以各层内模块延迟一致与各层间延迟一致为目标,最终实现总延迟最小的效果,提高卷积神经网络在边缘场景下的计算速度,优化卷积神经网络在边缘场景下的应用性能,极大的提升fpga加速器在边缘场景下的表现。

2、为实现上述目的,本专利技术的一个或多个实施例提供了如下技术方案:

3、本专利技术第一方面提供了一种基于fpga的神经网络存算资源优化分配方法。

4、一种基于fpga的神经网络存算资源优化分配方法,包括:

5、分析并行因子与神经网络各层的延迟、并行因子与fpga的计算资源消耗,建立层间计算资源关系模型;

6、基于层间计算资源关系模型,通过计算资源分配方法,得到分配后的神经网络各层的最佳的并行因子;

7、分析神经网络层内各模块的延迟与并行度、内存资源消耗,建立层内内存资源关系模型;

8、基于所述层间计算资源关系模型及所述层内内存资源关系模型和分配后的神经网络各层的最佳的并行因子,实现层内内存资源与延迟的平衡优化。

9、本专利技术第二方面提供了一种基于fpga的神经网络存算资源优化分配系统。

10、一种基于fpga的神经网络存算资源优化分配系统,包括:

11、计算资源分配模块,被配置为:分析并行因子与神经网络各层的延迟、并行因子与fpga的计算资源消耗,建立层间计算资源关系模型;

12、基于层间计算资源关系模型,通过计算资源分配方法,得到分配后的神经网络各层的最佳的并行因子;

13、内存资源与延迟平衡优化模块,被配置为:分析神经网络层内各模块的延迟与并行度、内存资源消耗,建立层内内存资源关系模型;

14、基于所述层间计算资源关系模型及所述层内内存资源关系模型和分配后的神经网络各层的最佳的并行因子,实现层内内存资源与延迟的平衡优化。

15、本专利技术第三方面提供一种计算机装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术第一方面所述的一种方法中的步骤。

16、本专利技术第四方面提供了计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本专利技术第一方面所述的一种方法中的步骤。

17、本专利技术第五方面提供了一种包含指令的计算机程序产品,其在计算机上运行时,使得计算机程序被处理器执行时实现如本专利技术第一方面所述的一种方法中的步骤。

18、以上一个或多个技术方案存在以下有益效果:

19、本专利技术提出了包括层间计算资源关系模型和计算资源分配方法的层间资源高效分配模块以及包括层内内存资源关系模型和层内内存资源与延迟平衡优化方法的层内内存资源与延迟平衡优化模块,通过合理的分配各层的并行度,在最小资源占用的前提下减少数据流阻塞,以各层内模块延迟一致与各层间延迟一致为目标,最终实现总延迟最小的效果。

20、本专利技术提出的层间计算资源高效分配模块能够以神经网络各层间的延迟一致作为优化方向,结合要部署目标平台的资源情况,通过合理分配神经网络各层的并行因子和,实现最大化计算资源利用率、最小化整体延迟的最终目标。通过提高计算资源的高效分配可以极大提高fpga中的计算资源的利用率,降低计算资源的空闲时间,进而可以在更快的时间和更低的能耗下完成任务。

21、本专利技术提出的层内内存资源与延迟平衡优化模块主要聚焦于双滑动窗口模块中用作行缓冲区的bram资源与延迟的平衡优化,该模型以层内各模块延迟一致为优化方向,能够实现在避免计算单元空闲的前提下,最小化bram端口的数量需求,最终实现最小化bram资源消耗。通过内存资源与延迟的平衡,可以显著降低片上内存资源的消耗,进而允许所有的参数都置于片上内存,从而有效减少不必要片外内存访问。所以通过高效的计算资源和内存资源优化,可以显著降低功耗,延长电池续航或减少对外部电源的依赖。

22、经过本专利技术提出的资源分配方法优化后的加速器能够在更短的时间内完成神经网络模型的推理过程,从而提供近实时的推理响应,更能适用于智能视频监控、自动驾驶等对延迟敏感的应用场景,极大的提升了fpga加速器在边缘场景下的表现。

23、本专利技术附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。

本文档来自技高网
...

【技术保护点】

1.一种基于FPGA的神经网络存算资源优化分配方法,其特征在于,包括:分析并行因子与神经网络各层的延迟、并行因子与FPGA的计算资源消耗,建立层间计算资源关系模型;

2.如权利要求1所述的一种基于FPGA的神经网络存算资源优化分配方法,其特征在于,所述分析并行因子与神经网络各层的延迟、并行因子与FPGA的计算资源消耗,建立层间计算资源关系模型,具体包括:

3.如权利要求1所述的一种基于FPGA的神经网络存算资源优化分配方法,其特征在于,所述基于层间计算资源关系模型,通过计算资源分配方法,得到分配后的神经网络各层的最佳的并行因子,具体步骤如下:

4.如权利要求1所述的一种基于FPGA的神经网络存算资源优化分配方法,其特征在于,所述建立层内内存资源关系模型,具体包括:

5.如权利要求1所述的一种基于FPGA的神经网络存算资源优化分配方法,其特征在于,所述基于所述层间计算资源关系模型及所述层内内存资源关系模型和分配后的神经网络各层的最佳的并行因子,实现层内内存资源与延迟的平衡优化,具体为:

6.如权利要求5所述的一种基于FPGA的神经网络存算资源优化分配方法,其特征在于,通过对比双滑动窗口模块和矩阵向量乘法模块完成一次卷积计算的延迟,进而确定双滑动窗口模块输出流水线的启动间隔,然后根据启动间隔和并行读取数据量确定双滑动窗口模块中缓冲区的最少端口数量,实现在保证整体流水线的延迟不变的情况下最小化缓冲区的BRAM资源消耗,即内存资源与延迟的平衡优化,具体公式为:

7.一种基于FPGA的神经网络存算资源优化分配系统,其特征在于,包括:计算资源分配模块,被配置为:分析并行因子与神经网络各层的延迟、并行因子与FPGA的计算资源消耗,建立层间计算资源关系模型;

8.一种计算机装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1至6任一所述的方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时执行上述权利要求1至6任一所述方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法。

...

【技术特征摘要】

1.一种基于fpga的神经网络存算资源优化分配方法,其特征在于,包括:分析并行因子与神经网络各层的延迟、并行因子与fpga的计算资源消耗,建立层间计算资源关系模型;

2.如权利要求1所述的一种基于fpga的神经网络存算资源优化分配方法,其特征在于,所述分析并行因子与神经网络各层的延迟、并行因子与fpga的计算资源消耗,建立层间计算资源关系模型,具体包括:

3.如权利要求1所述的一种基于fpga的神经网络存算资源优化分配方法,其特征在于,所述基于层间计算资源关系模型,通过计算资源分配方法,得到分配后的神经网络各层的最佳的并行因子,具体步骤如下:

4.如权利要求1所述的一种基于fpga的神经网络存算资源优化分配方法,其特征在于,所述建立层内内存资源关系模型,具体包括:

5.如权利要求1所述的一种基于fpga的神经网络存算资源优化分配方法,其特征在于,所述基于所述层间计算资源关系模型及所述层内内存资源关系模型和分配后的神经网络各层的最佳的并行因子,实现层内内存资源与延迟的平衡优化,具体为:

6.如权利要求5所述的一种基于fpga...

【专利技术属性】
技术研发人员:刘珂王明途展彦彤孙建德种法超
申请(专利权)人:山东师范大学
类型:发明
国别省市:

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

1