异常检测方法及装置与流程

摘要: 本公开涉及集成电路,具体涉及一种异常检测方法、异常检测装置、电子设备、计算机可读存储介质及计算机程序产品。背景技术:1、目前,gpu(graphicsproce...
异常检测方法及装置与流程

本公开涉及集成电路,具体涉及一种异常检测方法、异常检测装置、电子设备、计算机可读存储介质及计算机程序产品。

背景技术:

1、目前,gpu(graphics processing unit,图形处理器)和ai(artificialintelligence,人工智能)加速芯片的编译器采用多阶段渐进式降低(lowering)架构,将高层计算图逐步转化为可在硬件上执行的机器码。每个lowering阶段包含多个编译器pass(阶段或步骤),任何一个pass都可能引入计算错误或功能缺陷。现有技术一般通过差异测试的方式来确定编译过程中的bug(错误、缺陷或故障)。差异测试是指在多个编译器或同一编译器的不同配置下运行相同输入,并对比输出的差异的方法,进而根据输出的差异来发现bug。

技术实现思路

1、本公开实施例提出了一种异常检测方法、异常检测装置、电子设备、计算机可读存储介质及计算机程序产品。

2、第一方面,本公开实施例提出了一种异常检测方法,包括:利用当前编译阶段中预设的拦截回调函数,对当前编译阶段的中间表示进行序列化,得到中间表示快照;分别以预设的多个数据精度执行中间表示快照,得到多个数据精度的数据结果;根据多个数据精度的数据结果计算参考偏差和量化偏差;响应于确定出参考偏差满足第一预设条件和/或量化偏差满足第二预设条件,确定当前编译阶段存在编译异常。

3、第二方面,本公开实施例提出了一种异常检测装置,包括:序列化模块、执行模块、计算模块和确定模块。其中,序列化模块被配置为利用当前编译阶段中预设的拦截回调函数,对当前编译阶段的中间表示进行序列化,得到中间表示快照;执行模块被配置为分别以预设的多个数据精度执行中间表示快照,得到多个数据精度的数据结果;计算模块被配置为根据多个数据精度的数据结果计算参考偏差和量化偏差;确定模块被配置为响应于确定出参考偏差满足第一预设条件和/或量化偏差满足第二预设条件,确定当前编译阶段存在编译异常。

4、第三方面,本公开实施例提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面中任一实现方式描述的异常检测方法。

5、第四方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令被处理器执行时能够实现如第一方面中任一实现方式描述的异常检测方法。

6、第五方面,本公开实施例提供了一种包括计算机程序的计算机程序产品,该计算机程序在被处理器执行时能够实现第一方面中任一实现方式描述的异常检测方法。

7、根据本公开实施例提供的技术方案,可以利用当前编译阶段中预设的拦截回调函数对当前编译阶段的中间表示进行序列化,得到中间表示快照;然后,分别以预设的多个数据精度执行中间表示快照,得到多个数据精度的数据结果;之后,根据多个数据精度的数据结果计算参考偏差和量化偏差;最后,响应于确定出参考偏差满足第一预设条件和/或量化偏差满足第二预设条件,可以确定当前编译阶段存在编译异常。

8、通过各编译阶段预设拦截回调函数,在每阶段全部pass执行完成后自动序列化中间表示生成中间表示快照,再对同一份中间表示快照采用多精度并行运算,分层计算参考偏差与量化偏差,并结合预设容差阈值自动判定编译阶段异常。一方面实现了编译过程全阶段可复现,将故障定位粒度缩小至单个编译阶段;另一方面可精准区分通用编译逻辑缺陷与量化转换相关缺陷,区分浮点固有舍入误差、量化天然精度损失与代码异常误差,减少了人工调试的工作量,进而提升了编译器的缺陷检测效率、溯源效率以及修复效率。

9、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

1.一种异常检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述利用当前编译阶段中预设的拦截回调函数,对所述当前编译阶段的中间表示进行序列化,得到中间表示快照,包括:

4.根据权利要求1所述的方法,其特征在于,所述多个数据精度包括:目标精度、标准精度和高精度,所述标准精度的精度值大于所述目标精度的精度值,且小于所述高精度的精度值;以及

5.根据权利要求4所述的方法,其特征在于,所述根据所述多个数据精度的数据结果计算参考偏差和量化偏差,包括:

6.根据权利要求4所述的方法,其特征在于,所述响应于确定出所述参考偏差满足第一预设条件和/或所述量化偏差满足第二预设条件,确定所述当前编译阶段存在编译异常,包括:

7.根据权利要求6所述的方法,其特征在于,所述响应于确定出所述参考偏差满足第一预设条件和/或所述量化偏差满足第二预设条件,确定所述当前编译阶段存在编译异常,还包括:

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:

9.根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:

10.根据权利要求9所述的方法,其特征在于,所述方法还包括:

11.根据权利要求9所述的方法,其特征在于,所述在所述下一编译阶段包含的编译步骤中执行二分检索,根据检索结果确定产生编译异常的目标编译步骤,包括:

12.根据权利要求9所述的方法,其特征在于,所述方法还包括:

13.根据权利要求12所述的方法,其特征在于,所述方法还包括:

14.一种异常检测装置,其特征在于,所述装置包括:

15.一种电子设备,其特征在于,包括:

16.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使处理器执行权利要求1-13中任一项所述的异常检测方法。

17.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1-13中任一项所述的异常检测方法。