System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于FPGA的NVDLA算力测试系统及方法技术方案_技高网

基于FPGA的NVDLA算力测试系统及方法技术方案

技术编号:40821027 阅读:4 留言:0更新日期:2024-04-01 14:40
本发明专利技术公开了基于FPGA的NVDLA算力测试系统及方法,算力测试系统包括:控制器,接收根据被测神经网络模型和测试数据确定的针对NVDLA各模块的配置指令,并发送至NVDLA;配置指令包括配置数据及测试数据地址;NVDLA,与控制器连接,用于接收控制器发送的配置指令,根据配置指令中的配置数据对各模块进行配置,并根据测试数据地址从存储模块中读取测试数据,并基于被测神经网络模型对读取的测试数据进行计算;监控器,用于监测NVDLA的各模块的运行时间数据;控制器,还用于根据监控器监测到的运行时间数据及操作次数确定NVDLA的算力值,以测试NVDLA的算力。本方案,得到的算力值为当前算力真实值,且执行一次计算过程便可完成算力的计算,节约了时间,从而提高了效率。

【技术实现步骤摘要】

本专利技术涉及人工智能,具体涉及基于fpga的nvdla算力测试系统及方法。


技术介绍

1、nvidia深度学习加速器(nvdla)是一个免费和开放的架构,促进设计深度学习推理加速器的标准方法,采用模块化架构,可扩展、高度可配置,旨在简化集成性和便携性,支持广泛的性能水平和易扩展的应用程序,从更小、对成本敏感的物联网(iot)设备到面向性能的iot设备。

2、算力是指硬件设备的计算能力,业界一般采用每秒操作数量(ops, operationsper second)作为衡量硬件算力水平的一个性能指标。特别地,针对浮点计算领域,常用每秒浮点运算次数(flops, floating-point operations per second)来衡量硬件执行浮点计算的速度。业界往往用计算单元的理论值来标称ai芯片的算力,但在实际应用中,硬件所能表现的算力水平受到数据量、吞吐量等诸多因素的影响,表现出来的算力水平距离理论值差距较大,故需要研究一种标准化、可复现的算力评估方法,用其评测ai芯片时能够尽量接近理论算力。

3、然而,现有技术方案中,要么通过分析芯片的架构、频率、功耗等参数,可以得出芯片的理论算力,如采用如下数学模型:

4、;

5、其中ops为操作数量,tinf为推断时间,macs为乘加运算次数。模型的macs或ops由其本身的结构确定,通常用作模型复杂度的一种描述;要么是通过设计一系列的测试用例,包括计算密集型任务、图像处理等,进而来全面评估芯片的性能指标。

6、然而,采用第一种方案,得出的为理论算力值,不足以表征芯片的算力真实值,而采用第二种方案,涉及一系列的测试用例,进而对算力值进行评测,在很大程度上需要执行大量的计算过程,对cpu等计算资源来说,无疑造成一定程度的消耗。


技术实现思路

1、鉴于以上所述现有技术的缺点,本专利技术提供一种基于fpga的nvdla算力测试系统及方法,达到在不浪费计算资源的前提下确定nvdla算力的较为贴合实际的算力值。

2、第一方面,根据本专利技术实施例提供一种基于fpga的nvdla算力测试系统,包括:

3、控制器,用于接收根据被测神经网络模型和测试数据确定的针对nvdla各模块的配置指令,并发送所述配置指令至nvdla;所述配置指令包括针对nvdla各模块的配置数据及测试数据地址;

4、nvdla,与所述控制器连接,用于接收控制器发送的配置指令,根据配置指令中的配置数据对各模块进行配置,并根据所述配置指令中的测试数据地址从存储模块中读取测试数据,并基于被测神经网络模型对读取的测试数据进行计算,得到计算结果数据;

5、监控器,用于监测nvdla的各模块的运行时间数据;

6、所述控制器,还用于根据监控器监测到的运行时间数据、计算结果数据、测试数据及操作次数确定nvdla的算力值,以测试nvdla的算力。

7、优选地,所述控制器,根据监控器监测到的运行时间数据、计算结果数据、测试数据及操作次数确定nvdla的算力值,确定nvdla的算力值,包括:

8、采用预设数学模型计算每种卷积运算的算力值,所述预设数学模型为:

9、;

10、将每个卷积层中每种卷积运算对应的算力值进行叠加;

11、其中,ops为一个卷积层中的一种卷积运算的算力值,ops为该卷积层中该种卷积运算的操作次数,tinf为该卷积层中该种卷积运算的推断时间,根据监控器监测到的运行时间数据确定,c1为该卷积层中该种卷积运算中的输入通道数,c0为该卷积层中该种卷积运算中的输出通道数,k为该卷积层中该种卷积运算后的卷积核大小,h和w分别为经过该卷积层中该种卷积运算后的输出特征图的长和宽。

12、优选地,所述控制器,还用于根据监控器监测到的运行时间数据确定推断时间tinf,具体为:在该种卷积运算中,将读取到监控器监测到的valid_reg信号为高电平信号的时间确定为推断时间tinf。

13、优选地,所述被测神经网络模型为yolo v1数学模型;

14、其中,

15、所述yolo v1数学模型包括卷积层、最大池化层和全连接层,其中:

16、卷积层包括3*3卷积层和1*1卷积层;

17、所述3*3卷积层用于提取输入当前卷积层的数据的特征值,所述1*1卷积层用于降低输入当前卷积层的数据的维度;

18、全连接层用于预测当前卷积层的类别及落入该类别的概率;

19、所述最大池化层用于选输入数据的图像区域的最大值作为该区域池化后的值,可以减少由于卷积层参数误差造成估计均值的偏移的影响。

20、优选地,所述存储模块为dram存储器;

21、所述存储模块,还用于接收测试数据,将所述测试数据存储至所述dram存储器,并将所述测试数据地址反馈至前端,以供前端根据被测神经网络模型和测试数据地址生成配置指令。

22、优选地,

23、nvdla在基于被测神经网络模型对读取的测试数据进行计算结束后向控制器发送中断请求;

24、控制器在接收到所述中断命令之后,响应所述中断请求,读取计算结果。

25、第二方面,根据本专利技术实施例提供一种基于fpga的nvdla算力测试方法,包括:

26、接收前端根据被测神经网络模型和测试数据确定的针对nvdla的配置指令,并发送所述配置指令至nvdla;所述配置指令包括针对nvdla各模块的配置数据及测试数据地址;

27、接收所述配置指令,并根据所述配置指令中的测试数据地址从存储模块中读取对应的测试数据,并基于被测神经网络模型对读取的测试数据进行计算;

28、基于监测的nvdla各寄存器模块完成基于被测神经网络模型对读取的测试数据进行计算所需要的运行时间及操作次数,以及测试数据及计算结果数据确定nvdla的算力值,以测试nvdla的算力。

29、优选地,基于监测的nvdla各寄存器模块完成基于被测神经网络模型对读取的测试数据进行计算所需要的运行时间及操作次数,以及测试数据及计算结果数据确定nvdla的算力值,包括:

30、采用预设数学模型计算每个卷积层中每种卷积运算的算力值,所述预设数学模型为:

31、;

32、将每个卷积层中每种卷积运算对应的算力值进行叠加;

33、其中,ops为一个卷积层中一种卷积运算的算力值,ops为该卷积层中该种卷积运算的操作次数,tinf为该卷积层中该种卷积运算的推断时间,根据监控器监测到的各模块的运行时间数据确定,c1为该卷积层中该种卷积运算中的输入通道数,c0为该卷积层中该种卷积运算中的输出通道数,k为该卷积层中该种卷积运算中的卷积核大小,h和w分别为经过该卷积层中该种卷积运算后的输出特征图的长和宽。

34、优选地,在该种卷积运算中,将读取到监控器监测到的valid_本文档来自技高网...

【技术保护点】

1.一种基于FPGA的NVDLA算力测试系统,其特征在于,包括:

2.根据权利要求1所述的基于FPGA的NVDLA算力测试系统,其特征在于,所述控制器,根据监控器监测到的运行时间数据、计算结果数据、测试数据及操作次数确定NVDLA的算力值,确定NVDLA的算力值,包括:

3.根据权利要求2所述的基于FPGA的NVDLA算力测试系统,其特征在于,所述控制器,还用于根据监控器监测到的运行时间数据确定推断时间Tinf ,具体为:在该种卷积运算中,将读取到监控器监测到的valid_reg信号为高电平信号的时间确定为推断时间Tinf 。

4.根据权利要求1或2所述的基于FPGA的NVDLA算力测试系统,其特征在于,所述被测神经网络模型为YOLO v1数学模型;

5.根据权利要求1所述的基于FPGA的NVDLA算力测试系统,其特征在于,所述存储模块为DRAM存储器;

6.根据权利要求1所述的基于FPGA的NVDLA算力测试系统,其特征在于,

7.一种基于FPGA的NVDLA算力测试方法,其特征在于,包括:

8.根据权利要求6所述的基于FPGA的NVDLA算力测试方法,其特征在于,基于监测的NVDLA各模块完成基于被测神经网络模型对读取的测试数据进行计算所需要的运行时间及操作次数,以及测试数据及计算结果数据确定NVDLA的算力值,包括:

9.根据权利要求8所述的基于FPGA的NVDLA算力测试方法,其特征在于,所述方法,还包括:

10.根据权利要求7或8所述的基于FPGA的NVDLA算力测试方法,其特征在于,所述基于被测神经网络模型对读取的测试数据进行计算,包括:基于YOLO v1数学模型对读取的测试数据进行计算;

...

【技术特征摘要】

1.一种基于fpga的nvdla算力测试系统,其特征在于,包括:

2.根据权利要求1所述的基于fpga的nvdla算力测试系统,其特征在于,所述控制器,根据监控器监测到的运行时间数据、计算结果数据、测试数据及操作次数确定nvdla的算力值,确定nvdla的算力值,包括:

3.根据权利要求2所述的基于fpga的nvdla算力测试系统,其特征在于,所述控制器,还用于根据监控器监测到的运行时间数据确定推断时间tinf ,具体为:在该种卷积运算中,将读取到监控器监测到的valid_reg信号为高电平信号的时间确定为推断时间tinf 。

4.根据权利要求1或2所述的基于fpga的nvdla算力测试系统,其特征在于,所述被测神经网络模型为yolo v1数学模型;

5.根据权利要求1所述的基于fpga的nvdla算力测试系...

【专利技术属性】
技术研发人员:郭非段焕利
申请(专利权)人:无锡芯光互连技术研究院有限公司
类型:发明
国别省市:

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

1