部署混合精度的方法、装置及硬件架构与流程

文档序号:34384798发布日期:2023-06-08 05:26阅读:37来源:国知局
部署混合精度的方法、装置及硬件架构与流程

本发明涉及电化学模型,具体而言,涉及一种部署混合精度的方法、装置及硬件架构。


背景技术:

1、p2d(pseudo-two-dimensions,伪二维)电化学算法模型相较于等效电路模型补充了电池内部的变化状况,通过三层简化模型将电池内部物理化学过程进行了时间、空间上的建模,具有模型准确、计算精度高的优点,目前广泛应用于锂电池检测领域。但相对地,p2d电化学算法中需要进行大量的浮点数(float point,fp)数值计算,而在fpga(fieldprogrammable gate array,现场可编程逻辑门阵列)中浮点数运算需要消耗大量资源,因此在fpga中部署p2d电化学算法的成本非常高昂,运算时长也比较高。

2、目前在p2d电化学求解器在硬件部署方面业界并未有太多的研究,针对算法硬件优化主要从模型的简化,硬件流水线和并行计算方面进行,在精度优化方面仅仅在神经网络模型上有比较多的研究,但目前的精度优化方法并不能直接用于对p2d算法硬件部署。


技术实现思路

1、为解决现有存在的技术问题,本发明实施例提供一种部署混合精度的方法、装置及硬件架构。

2、第一方面,本发明实施例提供了一种部署混合精度的方法,包括:

3、确定部署有电化学模型的硬件架构中的待定计算模块,所述待定计算模块是所消耗的资源大于预设阈值的计算模块;

4、对所述待定计算模块进行埋点处理,并确定在所述硬件架构运行所述电化学模型时所述待定计算模块的资源消耗数据;

5、根据所述资源消耗数据将至少一个待定计算模块作为需要降低所消耗资源的目标计算模块,确定所述目标计算模块的优化方案;所述优化方案为降低至少部分区域的浮点数精度的方案;

6、对所述目标计算模块部署相应的所述优化方案,并确定在优化后的硬件架构运行所述电化学模型时所述优化后的硬件架构的计算性能;

7、在所述优化后的硬件架构的计算性能满足要求的情况下,结束优化。

8、在一种可能的实现方式中,所述优化方案包括:

9、第一优化方案:将所述目标计算模块的全部区域的浮点数降为bf16半精度浮点数;

10、或者,第二优化方案:将所述目标计算模块的部分区域的浮点数降为bf16半精度浮点数,其余部分区域保持不变;

11、或者,第三优化方案:将所述目标计算模块的部分区域的浮点数降为fp16半精度浮点数,其余部分区域保持不变。

12、在一种可能的实现方式中,方法还包括:

13、在所述优化后的硬件架构的计算性能不满足要求的情况下,重新确定计算精度更高的优化方案;

14、对所述目标计算模块部署重新确定的优化方案,并确定在重新优化后的硬件架构运行所述电化学模型时所述重新优化后的硬件架构的计算性能;

15、其中,所述第一优化方案的计算精度低于所述第二优化方案的计算精度,所述第二优化方案的计算精度低于所述第三优化方案的计算精度。

16、在一种可能的实现方式中,方法还包括:

17、确定存在数据溢出的溢出计算模块;

18、临时提高所述溢出计算模块至少部分区域的浮点数精度,并通过临时提高精度的硬件架构运行所述电化学模型,确定所述溢出计算模块的溢出量级;

19、在所述溢出计算模块的溢出量级满足要求的情况下,保持所述溢出计算模块的浮点数精度。

20、在一种可能的实现方式中,所述临时提高所述溢出计算模块至少部分区域的浮点数精度,包括:

21、将所述溢出计算模块的浮点数临时提高为fp64双精度浮点数。

22、在一种可能的实现方式中,所述根据所述资源消耗数据将至少一个待定计算模块作为需要降低所消耗资源的目标计算模块,包括:

23、按照待定计算模块的空间资源消耗数据进行排序,将所述空间资源消耗数据较多的前n1个待定计算模块作为目标计算模块;

24、或者,按照待定计算模块的时间资源消耗数据进行排序,将所述时间资源消耗数据较多的前n2个待定计算模块作为目标计算模块;

25、或者,按照待定计算模块的空间资源消耗数据和时间资源消耗数据的加权和进行排序,将所述加权和较大的前n3个待定计算模块作为目标计算模块;

26、其中,所述资源消耗数据包括所述空间资源消耗数据和/或所述时间资源消耗数据。

27、在一种可能的实现方式中,方法还包括:

28、确定误差补偿模型,所述误差补偿模型用于对低精度电化学模型的结果进行误差补偿,输出高精度电化学模型的结果;

29、将优化后的硬件架构运行所述电化学模型时的结果输入至所述误差补偿模型,将所述误差补偿模型的输出结果作为最终结果。

30、在一种可能的实现方式中,所述确定在所述硬件架构运行所述电化学模型时所述待定计算模块的资源消耗数据,包括:

31、确定在所述硬件架构运行所述电化学模型时所述待定计算模块的资源消耗数据和所述待定计算模块的原始计算精度;

32、所述方法还包括:

33、在所述目标计算模块的原始计算精度与优化后的目标计算模块的计算精度之间的差值小于预设差值的情况下,确定所述优化后的硬件架构的计算性能满足要求。

34、第二方面,本发明实施例还提供了一种部署混合精度的装置,包括:

35、第一确定模块,用于确定部署有电化学模型的硬件架构中的待定计算模块,所述待定计算模块是所消耗的资源大于预设阈值的计算模块;

36、埋点模块,用于对所述待定计算模块进行埋点处理,并确定在所述硬件架构运行所述电化学模型时所述待定计算模块的资源消耗数据;

37、第二确定模块,用于根据所述资源消耗数据将至少一个待定计算模块作为需要降低所消耗资源的目标计算模块,确定所述目标计算模块的优化方案;所述优化方案为降低至少部分区域的浮点数精度的方案;

38、优化模块,用于对所述目标计算模块部署相应的所述优化方案,并确定在优化后的硬件架构运行所述电化学模型时所述优化后的硬件架构的计算性能;

39、结束模块,用于在所述优化后的硬件架构的计算性能满足要求的情况下,结束优化。

40、第三方面,本发明实施例提供了一种硬件架构,所述硬件架构为基于第一方面所述的部署混合精度的方法所得到的优化后的硬件架构。

41、第四方面,本发明实施例提供了一种部署混合精度的设备,包括处理器和存储器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述存储器中存储的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面所述的部署混合精度的方法。

42、第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的部署混合精度的方法。

43、本发明实施例提供的部署混合精度的方法、装置及硬件架构,对资源消耗较大的待定计算模块进行埋点,以选取出需要进行优化的目标计算模块,并降低目标计算模块的浮点数精度,从而实现对硬件架构的整体优化;优化后的硬件架构中,目标计算模块至少部分区域采用低精度浮点数,而其他计算模块仍然采用高精度浮点数,即采用混合精度的部署策略。通过降低目标计算模块的浮点数精度,可以降低资源消耗,极大提高目标计算模块的计算速度,压缩运行时间;并且,低精度的目标计算模块只需要更少的硬件,能够压缩电化学模型的硬件部署,有效减少电化学模型所占空间;优化后的硬件架构整体运行时间更短,资源消耗更少,可以降低成本,提高在实际工程应用中硬件部署电化学模型的可行性,具有更高的性价比。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1