CN112783705B - 一种测试方法、装置、系统、芯片和电子设备 - Google Patents
一种测试方法、装置、系统、芯片和电子设备 Download PDFInfo
- Publication number
- CN112783705B CN112783705B CN202110086583.4A CN202110086583A CN112783705B CN 112783705 B CN112783705 B CN 112783705B CN 202110086583 A CN202110086583 A CN 202110086583A CN 112783705 B CN112783705 B CN 112783705B
- Authority
- CN
- China
- Prior art keywords
- test
- voltage
- chip
- frequency setting
- tested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010998 test method Methods 0.000 title claims abstract description 13
- 238000012360 testing method Methods 0.000 claims abstract description 419
- 238000000034 method Methods 0.000 claims abstract description 138
- 230000002159 abnormal effect Effects 0.000 claims abstract description 22
- 238000013528 artificial neural network Methods 0.000 claims description 96
- 238000012795 verification Methods 0.000 claims description 76
- 238000004590 computer program Methods 0.000 claims description 63
- 238000012545 processing Methods 0.000 claims description 49
- 230000004044 response Effects 0.000 claims description 16
- 230000003247 decreasing effect Effects 0.000 claims description 10
- 238000013473 artificial intelligence Methods 0.000 description 413
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000006872 improvement Effects 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 6
- 230000036961 partial effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013021 overheating Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000012956 testing procedure Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请实施例提供一种测试方法、装置、系统、芯片和电子设备。方法包括:获取待测试AI芯片运行AI测试程序时的实时运行信息,其中,所述待测试AI芯片的电压以及频率被设定为测试电压/频率设定组合;根据所述实时运行信息,生成测试结果,其中,当根据所述实时运行信息判定所述待测试AI芯片的运行出现异常时,所述测试结果为所述测试电压/频率设定组合不合理。根据本申请一实施例的方法,可以简单快速的对AI芯片进行测试,判断AI芯片的电压/频率设置组合是否合理;本申请实施例的方法流程简单,实现难度低,具有很高的实用性。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种测试方法、装置、系统、芯片和电子设备。
背景技术
在人工智能(Artificial Intelligence,AI)领域,AI芯片也称AI速器,是一种专门用于处理AI应用中的大量计算任务的芯片。随着电子技术的发展,越来越多的终端中加入了AI模块。由于芯片制造的过程中存在着工艺偏差,导致每一颗芯片在特定电压下可正常工作的最高频率也不尽相同。而芯片可运行的电压/频率组合直接决定了芯片的性能、功耗和稳定性。因此,在实际使用AI芯片之前,需要对芯片进行电压/频率组合测试,以判断AI芯片的电压设定以及频率设定是否合理。
发明内容
针对现有技术下如何对芯片进行电压/频率组合测试的问题,本申请提供了一种测试方法、装置、系统、芯片和电子设备,本申请还提供一种计算机可读存储介质。
本申请实施例采用下述技术方案:
第一方面,本申请提供一种测试方法,包括:
当获取到待测试AI芯片运行AI测试程序时的实时运行信息时,根据所述实时运行信息,生成测试结果,其中:
所述待测试AI芯片运行AI测试程序时的电压以及频率被设定为测试电压/频率设定组合;
当根据所述实时运行信息判定所述待测试AI芯片的运行出现异常时,所述测试结果为所述测试电压/频率设定组合不合理。
在上述第一方面的一种可行的实现方式中,所述方法还包括:
当获取到所述AI测试程序的执行结果时,根据所述AI测试程序的执行结果,生成测试结果,其中:
所述AI测试程序的执行结果为,所述待测试AI芯片运行所述AI测试程序完成后,根据所述AI测试程序的输出所生成的判定结果;
当所述AI测试程序的执行结果为执行错误时,测试结果为测试电压/频率设定组合不合理。
在上述第一方面的一种可行的实现方式中,在所述AI测试程序运行完毕后,当AI神经网络的最后一层输出的第一文件的校验结果与基准文件的校验结果不一致时,所述AI测试程序的执行结果为执行错误,其中:
所述基准文件校验结果为,在安全电压以及安全频率下,所述待测试AI芯片运行所述AI测试程序完毕后,所述AI神经网络的最后一层输出的第二文件的校验结果。
第二方面,本申请提供了一种测试响应方法,所述方法包括:
设定待测试AI芯片的电压以及频率为测试电压/频率设定组合;
使用所述待测试AI芯片运行AI测试程序;
输出所述待测试AI芯片运行所述AI测试程序时的实时运行信息。
在上述第二方面的一种可行的实现方式中,所述方法还包括,从所有可用的AI神经网络中选取测试AI神经网络,其中,所述测试AI神经网络为一个AI神经网络或多个AI神经网络的集合,所述测试AI神经网络可以覆盖所述待测试AI芯片所支持的所有算子;
所述使用所述待测试AI芯片启动AI测试程序,包括,令所述AI测试程序运行所述测试AI神经网络。
在上述第二方面的一种可行的实现方式中,所述方法还包括:
在所述AI测试程序运行完毕后,输出所述AI测试程序的执行结果;
或者,
在所述AI测试程序运行完毕后,输出AI神经网络的最后一层输出的文件。
第三方面,本申请提供了一种获取基准文件校验结果的方法,所述方法包括:
将待测试AI芯片的电压以及频率设定为安全电压以及安全频率;
使用所述待测试AI芯片运行AI测试程序;
在所述AI测试程序运行完毕后,获取AI神经网络的最后一层输出的第一文件;
对所述第一文件运行文件校验程序,获取基准文件校验结果。
第四方面,本申请提供了一种确定电压/频率设定组合的方法,所述方法包括:
基于上述第一方面所述的方法,对所述待测试AI芯片进行多轮循环测试,以确认,在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合,其中:
在当前轮次的测试结果为测试电压/频率设定组合合理时,调高所述当前轮次的测试电压/频率设定组合的频率值,和/或,调低所述当前轮次的测试电压/频率设定组合的电压值,以确定下一轮次的测试电压/频率设定组合;
在所述当前轮次的测试结果为电压/频率设定组合不合理时,以上一轮次的测试电压/频率设定组合,为在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合。
在上述第四方面的一种可行的实现方式中,根据安全电压以及安全频率确定第一轮测试所使用的测试电压/频率设定组合。
在上述第四方面的一种可行的实现方式中,所述调高所述当前轮次的测试电压/频率设定组合的频率值,和/或,调低所述当前轮次的测试电压/频率设定组合的电压值,包括:
保持所述电压值不变,按照预设步长调高所述频率值。
第五方面,本申请提供了一种测试装置,包括:
测试结果生成模块,其用于当获取到待测试AI芯片运行AI测试程序时的实时运行信息时,根据所述实时运行信息,生成测试结果,其中:
所述待测试AI芯片运行AI测试程序时的电压以及频率被设定为测试电压/频率设定组合;
当根据所述实时运行信息判定所述待测试AI芯片的运行出现异常时,所述测试结果为所述测试电压/频率设定组合不合理。
第六方面,本申请提供了一种测试响应装置,所述装置包括:
电压/频率设定模块,其用于设定待测试AI芯片的电压以及频率为测试电压/频率设定组合;
测试程序运行模块,其用于使用所述待测试AI芯片启动AI测试程序;
实时运行信息输出模块,其用于输出所述待测试AI芯片运行所述AI测试程序时的实时运行信息。
第七方面,本申请提供了一种测试系统,所述系统包括:
测试终端,其用于:为待测试AI芯片提供运行环境支持;将所述待测试AI芯片的电压以及频率设定为测试电压/频率设定组合;以及,输出所述待测试AI芯片运行AI测试程序时的实时运行信息;
测试主机,其用于根据所述实时运行信息,生成测试结果,其中,当根据所述实时运行信息判定所述待测试AI芯片的运行出现异常时,所述测试结果为所述测试电压/频率设定组合不合理。
第八方面,本申请提供了一种任务处理芯片,所述任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发所述任务处理芯片执行如上述第一方面所述的方法流程。
第九方面,本申请提供了一种任务处理芯片,所述任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发所述任务处理芯片执行如上述第二方面所述的方法流程。
第十方面,本申请提供了一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如上述第一方面所述的方法步骤。
第十一方面,本申请提供了一种电子设备,所述电子设备包括用于安装待测试AI芯片的接口模块、用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备,基于其安装的待测试AI芯片,执行如上述第二方面所述的方法步骤。
第十二方面,本申请提供了一种获取基准文件校验结果的装置,所述装置包括:
电压/频率设定模块,其用于将待测试AI芯片的电压以及频率设定为安全电压以及安全频率;
执行结果获取模块,其用于在待测试AI芯片运行AI测试程序完毕后,获取AI神经网络的最后一层输出的第一文件;
校验模块,其用于对所述第一文件运行文件校验程序,获取基准文件校验结果。
第十三方面,本申请提供了一种任务处理芯片,所述任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发所述任务处理芯片执行如上述第三方面所述的方法流程。
第十四方面,本申请提供了一种电子设备,所述电子设备包括用于安装待测试AI芯片的接口模块、用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备,基于其安装的待测试AI芯片,执行如上述第三方面所述的方法步骤。
第十五方面,本申请提供了一种确定电压/频率设定组合的装置,所述装置包括:
测试执行模块,其用于:
基于上述第一方面所述的方法,对所述待测试AI芯片进行多轮循环测试,以确认,在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合,其中:
在当前轮次的测试结果为测试电压/频率设定组合合理时,调高所述当前轮次的测试电压/频率设定组合的频率值,和/或,调低所述当前轮次的测试电压/频率设定组合的电压值,以确定下一轮次的测试电压/频率设定组合;
在所述当前轮次的测试结果为电压/频率设定组合不合理时,以上一轮次的测试电压/频率设定组合,为在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合。
第十六方面,本申请提供了一种确定电压/频率设定组合的系统,所述系统包括:
测试终端,其用于:为待测试AI芯片提供运行环境支持;将所述待测试AI芯片的电压以及频率设定为测试电压/频率设定组合;以及,输出所述待测试AI芯片运行AI测试程序时的实时运行信息;
测试主机,其用于基于上述第一方面所述的方法,对所述待测试AI芯片进行多轮循环测试,以确认,在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合,其中:
在当前轮次的测试结果为测试电压/频率设定组合合理时,调高所述当前轮次的测试电压/频率设定组合的频率值,和/或,调低所述当前轮次的测试电压/频率设定组合的电压值,以确定下一轮次的测试电压/频率设定组合;
在所述当前轮次的测试结果为电压/频率设定组合不合理时,以上一轮次的测试电压/频率设定组合,为在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合。
第十七方面,本申请提供了一种任务处理芯片,所述任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发所述任务处理芯片执行如上述第四方面所述的方法流程。
第十八方面,本申请提供了一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述服务器设备执行如上述第四方面所述的方法步骤。
第十九方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如本申请实施例所述的方法。
根据本申请实施例所提出的上述技术方案,至少可以实现下述技术效果:
根据本申请一实施例的方法,可以简单快速的对AI芯片进行测试,判断AI芯片的电压/频率设置组合是否合理;本申请实施例的方法流程简单,实现难度低,具有很高的实用性。
附图说明
图1所示为根据本申请一实施例的测试方法执行流程图;
图2所示为根据本申请一实施例的测试方法执行流程图;
图3所示为根据本申请一实施例的测试响应方法执行流程图;
图4所示为根据本申请一实施例的方法的部分执行流程图;
图5所示为根据本申请一实施例的方法的部分执行流程图;
图6所示为根据本申请一实施例的方法的执行流程图;
图7所示为根据本申请一实施例的确定电压/频率设定组合的方法的部分执行流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
针对现有技术下如何对芯片进行电压/频率组合测试的问题,本申请提供了一种测试方法。在本申请实施例的方法中,将待测试AI芯片的电压以及频率设定为测试电压/频率设定组合,令待测试AI芯片在测试电压/频率设定组合状态下启动AI测试程序,运行神经网络,通过监控待测试AI芯片运行AI测试程序过程中的运行状态,来判断测试电压/频率设定组合是否合理。
具体的,本申请的测试方法由用于实现AI芯片测试的测试设备执行。当测试设备获取到待测试AI芯片运行AI测试程序时的实时运行信息时,测试设备根据实时运行信息,生成测试结果。其中,待测试AI芯片运行AI测试程序时的电压以及频率被设定为测试电压/频率设定组合;当测试设备根据实时运行信息判定待测试AI芯片的运行出现异常时,测试结果为测试电压/频率设定组合不合理。
具体的,实时运行信息可以是被发送到测试设备的,由测试设备被动接收;实时运行信息也可以是测试设备主动采集的。
图1所示为根据本申请一实施例的测试方法执行流程图,测试设备执行如图1所示的下述方法流程:
步骤110,判断是否接收到待测试AI芯片运行AI测试程序时的实时运行信息,其中,待测试AI芯片运行AI测试程序时的电压以及频率被设定为测试电压/频率设定组合;
当未接收到实时运行信息时,返回步骤110;
当接收到实时运行信息时,执行步骤120;
步骤120,根据实时运行信息,判断待测试AI芯片的运行是否出现异常;
当未出现异常时,返回步骤110;
当出现异常时,执行步骤130;
步骤130,生成测试结果,测试结果为测试电压/频率设定组合不合理。
在步骤130之后,结束测试流程。
进一步的,在一实施例中,当直到AI测试程序运行完毕,待测试AI芯片的运行一直未发生异常时,生成测试结果,测试结果为测试电压/频率设定组合合理。
具体的,在步骤110的一种实现方式中,测试电压/频率设定组合是由测试场景的测试需求所确定的。例如,当前测试目标为测试待测试AI芯片是否可以稳定运行在电压5.3V/频率10KHZ状态下,因此,设定电压5.3V/频率10KHZ为测试电压/频率设定组合。
具体的,待测试AI芯片运行AI测试程序的过程为,基于待测试AI芯片对待测试AI芯片所支持的AI神经网络进行逐层计算的过程。在步骤120中,待测试AI芯片的运行出现异常包括系统崩溃、看门狗(Watchdog)中断、AI测试程序异常退出、芯片过热。在步骤110的一种实现方式中,测试设备从待测试AI芯片运行AI测试程序时的实时运行信息中,分析出当前设置的测试电压/频率组合是否导致了待测试AI芯片在运行AI测试程序的时候出现了系统崩溃、Watchdog中断、AI测试程序异常退出、芯片过热等情况,上述情况的出现表明当前设置的测试电压/频率组合是不合理的。
进一步的,在实际应用场景中,AI芯片的电压/频率组合不合理时,可能并不会导致AI芯片运行AI测试程序的过程中出现异常,而是会导致AI芯片执行AI网络时出现错误,从而导致AI测试程序的最终执行结果出现异常。因此,在本申请一实施例中,测试设备还根据AI测试程序的执行结果来判断测试电压/频率设定组合是否合理。测试设备在进行AI芯片测试时还执行下述方法流程:
当获取到AI测试程序的执行结果时,根据AI测试程序的执行结果,生成测试结果,其中:
AI测试程序的执行结果为,待测试AI芯片运行AI测试程序完成后,根据AI测试程序的输出所生成的判定结果;
当AI测试程序的执行结果为执行错误时,测试结果为测试电压/频率设定组合不合理。
图2所示为根据本申请一实施例的测试方法执行流程图,测试设备执行如图2所示的下述方法流程:
步骤210,判断是否接收到待测试AI芯片运行AI测试程序时的实时运行信息,其中,待测试AI芯片运行AI测试程序时的电压以及频率被设定为测试电压/频率设定组合;
当未接收到实时运行信息时,执行步骤240;
当接收到实时运行信息时,执行步骤220;
步骤220,根据实时运行信息,判断待测试AI芯片的运行是否出现异常;
当未出现异常时,返回步骤210;
当出现异常时,执行步骤230;
步骤230,生成测试结果,测试结果为测试电压/频率设定组合不合理;在步骤230之后,结束测试流程;
步骤240,判断是否接收到AI测试程序的执行结果;
当未接收到AI测试程序的执行结果时,返回步骤210;
当接收到AI测试程序的执行结果时,执行步骤250;
步骤250,根据AI测试程序的执行结果,生成测试结果,其中,当AI测试程序的执行结果错误时,测试结果为测试电压/频率设定组合不合理,在步骤250之后,结束测试流程。
进一步的,在步骤250中,当AI测试程序的执行结果正确时,测试结果为测试电压/频率设定组合合理。
根据本申请实施例的方法,可以简单快速的对AI芯片进行测试,判断AI芯片的电压/频率设置组合是否合理;本申请实施例的方法流程简单,实现难度低,具有很高的实用性。
进一步的,为配合测试设备实现图1所示的方法流程,本申请一实施例中还提出了一种测试响应方法,该测试响应方法由安装有待测试AI芯片的AI设备所执行,AI设备与测试设备配合实现整体的测试流程。例如,AI设备与测试设备之间的通信协议包括但不限于串口协议和adb协议等。通过上述通信协议,AI设备与测试设备之间进行数据交互,以配合实现整体的测试流程。
图3所示为根据本申请一实施例的测试响应方法执行流程图,在测试过程中,AI设备执行如图3所示的下述步骤:
步骤310,设定待测试AI芯片的电压以及频率为测试电压/频率设定组合;
步骤320,使用待测试AI芯片运行AI测试程序;
步骤330,在待测试AI芯片运行AI测试程序的过程中,生成实时运行信息;
步骤340,输出实时运行信息。
具体的,在步骤330的一种实现方式中,AI设备生成的实时信息来自AI设备的操作系统、待测试AI芯片、AI测试程序。AI终端操作系统生成的实时信息包括但不限于Watchdog信息、系统崩溃(System Crash)信息、报警(Warning)信息、错误(Error)信息等。待测试AI芯片产生的实时信息包括但不限于待测试AI芯片当前的载入(loading)信息、待测试AI芯片的当前温度信息、待测试AI芯片执行状态信息等。
进一步的,考虑到在安全电压以及安全频率下,待测试AI芯片运行AI测试程序完毕后,AI测试程序的执行结果可以默认为执行正确。因此,如果在测试电压/频率设定组合下,待测试AI芯片运行AI测试程序完毕后,AI测试程序的输出,与在安全电压以及安全频率下,待测试AI芯片运行AI测试程序完毕后,AI测试程序的输出不一致;那么,就可以视为,在测试电压/频率设定组合下,待测试AI芯片运行AI测试程序完毕后,AI测试程序的执行结果为执行错误。
在一种本申请实施例的一种实现方式中,以在安全电压以及安全频率下,待测试AI芯片运行AI测试程序完毕后的输出为基准输出;通过对比待测试AI芯片在测试电压/频率设定组合下,运行AI测试程序完毕后的输出的校验结果,与基准结果的校验结果,来确定待测试AI芯片在测试电压/频率设定组合下运行AI测试程序的执行结果是否为执行错误。基于校验结果对比的方法,也可以大幅减少输出结果对比的时间,从而在提高对比效率的同时又保证了对比结果的正确性。
进一步的,在实际应用场景中,AI测试程序的运行是通过运行AI神经网络完成的,由于AI神经网络的逐层执行且各层级输入输出相互关联的特征,因此只需要对最后一层的输出结果进行确认就可以确认出整个AI神经网络是否被正确执行。这样就可以减少工作量并提高工作效率。
具体的,在AI测试程序运行完毕后,当AI神经网络的最后一层输出的第一文件的校验结果与基准文件的校验结果不一致时,AI测试程序的执行结果为执行错误,其中:
基准文件校验结果为,在安全电压以及安全频率下,待测试AI芯片运行AI测试程序完毕后,AI神经网络的最后一层输出的第二文件的校验结果。
基于AI神经网络的逐层执行且各层级输入输出相互关联的特征,只需要对最后一层的输出结果进行确认就可以确认出整个AI神经网络是否被正确,而不需要对每一层的输出都进行校验,这减少了工作量提高了工作效率
图4所示为根据本申请一实施例的方法的部分执行流程图,执行如图4所示的下述方法流程以获取AI测试程序的执行结果:
步骤410,在AI测试程序运行完毕后,获取AI神经网络的最后一层输出的第一文件;
步骤420,对第一文件运行文件校验程序,获取第一文件的校验结果(例如,对第一文件的二进制文件执行文件校验运算);
步骤430,对比第一文件的校验结果与基准文件校验结果,获取对比结果,其中,基准文件校验结果为,在安全电压以及安全频率下,待测试AI芯片运行AI测试程序完毕后,AI神经网络的最后一层输出的第二文件的校验结果;
步骤440,根据对比结果生成AI测试程序的执行结果,其中,当对比结果为不一致时,AI测试程序的执行结果为执行错误。
具体的,图4所示实施例的方法流程可以由AI设备所执行,AI设备在AI测试程序运行完毕后,自行生成AI测试程序的执行结果,并将AI测试程序的执行结果发送到测试设备。图4所示实施例的方法流程也可以由测试设备所执行,AI设备在AI测试程序运行完毕后,输出AI神经网络的最后一层输出的文件到测试设备,测试设备根据AI神经网络的最后一层输出的文件生成AI测试程序的执行结果。
具体的,如图3所示,AI设备还执行步骤350,在AI测试程序运行完毕后,输出AI测试程序的执行结果;或者,在AI测试程序运行完毕后,输出AI神经网络的最后一层输出的文件。进一步的,当测试设备根据实时运行信息判定测试电压/频率设定组合不合理后,AI设备即停止运行AI测试程序,此时步骤350不被执行。
进一步的,为获取AI测试程序的执行结果,本申请一实施例还提出了一种获取基准文件校验结果的方法。该方法由安装有待测试AI芯片的AI设备所执行。图5所示为根据本申请一实施例的获取基准文件校验结果的方法执行流程图,AI设备执行如图5所示的下述步骤以获取基准文件校验结果:
步骤510,将待测试AI芯片的电压以及频率设定为安全电压以及安全频率;
步骤520,使用待测试AI芯片启动AI测试程序;
步骤530,在AI测试程序运行完毕后,获取AI神经网络的最后一层输出的文件;
步骤540,对AI神经网络的最后一层输出的文件运行文件校验程序,获取基准文件校验结果。
具体的,在步骤540以及步骤420中,可以采用任意文件校验方案进行文件校验,只需要确保步骤540以及步骤420所采用的文件校验方案相同即可。具体的,文件校验运算的输出结果是一串数字序列,文件校验运算方法包括但不限于MD5、SHA1、SHA256等算法。
具体的,基准文件校验结果可以保存在AI设备,由AI设备自行生成执行结果,或者,由AI设备将准文件校验结果发送到测试设备,由测试设备生成执行结果。基准文件校验结果也可以保存在测试设备,由测试设备生成执行结果,或者,由测试设备将准文件校验结果发送到AI设备,由AI设备生成执行结果。
进一步的,在实际应用场景中,待测试AI芯片可以支持多个AI神经网络,例如,不同结构的神经网络(例如,卷积神经网络、循环神经网络);又例如,不同应用功能的神经网络(例如,模式识别神经网络、自动控制神经网络)。理论上,在测试过程中,如果可以运行待测试AI芯片所支持的所有神经网络,那么就能确保测试结果适用于待测试AI芯片的所有应用场景。但是,运行待测试AI芯片所支持的所有神经网络必然需要消耗巨量的数据处理资源。因此,在本申请一实施例中,在使用待测试AI芯片运行AI测试程序的过程中(步骤320、步骤520),仅运行待测试AI芯片所支持的一部分AI神经网络。
具体的,从所有可用的AI神经网络(待测试AI芯片所支持的AI神经网络)中选取测试AI神经网络,其中,测试AI神经网络为一个AI神经网络或多个AI神经网络的集合,测试AI神经网络可以覆盖待测试AI芯片所支持的所有算子;在步骤320和/或步骤520的一种实现方式中,令AI测试程序运行测试AI神经网络(对测试AI神经网络进行逐层运算)。具体的,如果测试AI神经网络包含多个被测试的AI神经网络,则逐个执行这些AI神经网络。
本申请实施例的测试响应方法,在运行AI测试程序时,以多个实际应用中已广泛使用的AI神经网络为运行对象,保证了测试结果与用户实际使用场景的一致性,也保证了测试对AI芯片各模块的全覆盖。
进一步的,在实际应用场景中,选取测试AI神经网络的操作,可以由测试设备执行,也可以由AI设备执行。例如,在一实施例中,由测试设备根据测试需求选取测试AI神经网络,并将测试AI神经网络的描述信息发送到AI设备;AI设备根据测试AI神经网络的描述信息,确认执行AI测试程序时所需要运行的AI神经网络。又例如,在一实施例中,由测试设备将测试需求发送到AI设备;AI设备根据测试需求选取测试AI神经网络。
进一步的,在本申请一实施例中,测试设备通过测试信息来通知AI设备开始测试。测试信息包括但不限于设置待测试AI芯片电压/频率的信息,控制AI测试程序运行的信息,执行AI神经网络的信息等控制AI设备工作的信息。
例如,在一实施例中,测试设备获取(例如,基于用户输入,或者,基于网络输入)测试需求,根据测试需求确定测试电压/频率设定组合以及测试AI神经网络;测试设备将包含测试电压/频率设定组合以及测试AI神经网络的描述信息的测试信息发送到AI设备;AI设备接收到测试信息后,基于测试信息中的测试电压/频率设定组合以及测试AI神经网络的描述信息的测试信息执行图3所示的方法步骤。又例如,在一实施例中,测试设备将包含测试启动指令的测试信息发送到AI设备;AI设备接收到测试信息后,启动测试流程:获取(例如,基于用户输入,或者,基于网络输入)测试电压/频率设定组合以及测试AI神经网络,基于测试电压/频率设定组合以及测试AI神经网络执行图3所示的方法步骤。又例如,测试设备还可以通过测试信息向AI设备发送AI测试程序。
图6所示为根据本申请一实施例的方法的执行流程图,如图6所示:
在开始测试前,AI设备执行下述步骤:
步骤600,对设备进行电压校准,确保通过软件设置的电压数值跟用仪器测量到的电压数值相吻合;
步骤601,从所有的AI神经网络中选取部分神经网络作为测试AI神经网络;
步骤602,将待测试AI芯片的电压以及频率设定为安全电压以及安全频率;
步骤603,使用待测试AI芯片运行AI测试程序,生成基准文件校验结果;
在开始测试时,测试设备以及AI设备执行下述步骤:
步骤610,测试设备发送包含测试电压/频率设定组合的测试信息到AI设备;
步骤611,AI设备将待测试AI芯片的电压以及频率设定为测试电压/频率设定组合;
步骤612,AI设备使用待测试AI芯片运行AI测试程序,获取实时运行信息;
步骤613,AI设备将实时运行信息输出到测试设备;
步骤614,测试设备根据实时运行信息判断待测试AI芯片的运行是否存在异常;当待测试AI芯片的运行存在异常时,测试设备生成测试结果,测试结果为测试电压/频率设定组合不合理,测试结束;当待测试AI芯片的运行不存在异常时,基于新接收到的实时运行信息继续进行判断;
步骤620,当待测试AI芯片的运行未存在异常,在AI测试程序运行完毕后,AI设备获取AI神经网络的最后一层输出的文件;
步骤621,AI设备对AI神经网络的最后一层输出的文件进行文件校验运算,以获取校验结果;
步骤622,AI设备对比步骤621获取的校验结果以及步骤602生成的基准文件校验结果,获取对比结果;
步骤623,AI设备根据对比结果生成AI测试程序的执行结果,其中,当对比结果为不一致时,AI测试程序的执行结果为执行错误;
步骤624,AI设备将AI测试程序的执行结果输出到测试设备;
步骤630,测试设备根据AI测试程序的执行结果生成测试结果,其中,当AI测试程序的执行结果为执行错误时,测试结果为测试电压/频率设定组合不合理。
进一步的,在实际应用场景中,还存在需要确定满足应用需求电压/频率设定组合的应用需求。例如,在电压/频率设定组合合理的前提下,确定最低电压和/或最高频率。针对上述应用需求,本申请一实施例中,提出了一种基于电压/频率设定组合测试来确定电压/频率设定组合的方法。具体的,在确定电压/频率设定组合的方法流程中,基于本申请实施例所述的测试方法,对待测试AI芯片进行多轮循环测试,以确认在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合,其中:
在当前轮次的测试结果为测试电压/频率设定组合合理时,调高当前轮次的测试电压/频率设定组合的频率值,和/或,调低当前轮次的测试电压/频率设定组合的电压值,以确定下一轮次的测试电压/频率设定组合;
在当前轮次的测试结果为电压/频率设定组合不合理时,以上一轮次的测试电压/频率设定组合,为在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合。
图7所示为根据本申请一实施例的确定电压/频率设定组合的方法的部分执行流程图,在对待测试AI芯片进行多轮循环测试的过程中,执行如图7所示下述步骤以实现多轮循环测试中第n轮测试以及第n轮测试后续的第n+1轮测试(n可以为2、3…)。
步骤710,以第n电压/频率设定组合为测试电压/频率设定组合,基于本申请实施例所述的测试方法,对待测试AI芯片进行第n轮测试,以获取第n测试结果;
步骤720,根据第n测试结果确定第n电压/频率设定组合是否合理;
如果第n电压/频率设定组合不合理,执行步骤730;
步骤730,多轮循环测试结束,以第n-1轮测试中使用的第n-1电压/频率设定组合为在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合;
如果第n电压/频率设定组合合理,执行步骤740;
步骤740,调高第n电压/频率设定组合中的频率值,和/或,调低第n电压/频率设定组合中的频率值,以确定第n+1电压/频率设定组合;
步骤750,以第n电压/频率设定组合为测试电压/频率设定组合,基于本申请实施例所述的测试方法,对待测试AI芯片进行第n+1轮测试,以获取第n+1测试结果。
进一步的,在一种可行的应用方案中,根据安全电压以及安全频率确定第1轮测试所使用的测试电压/频率设定组合(第1电压/频率设定组合)。例如,将安全电压调低和/或将安全频率调高,以确定第1电压/频率设定组合。进一步的,当第1电压/频率设定组合不合理时,以安全电压以及安全频率为在电压/频率设定组合合理的前提下,电压最高和/或频率最高的电压/频率设定组合。
进一步的,在步骤740中,调整电压/频率组合的方式可以是固定电压调整频率,也可以是固定频率调整电压。
进一步的,在实际应用场景中,AI芯片通常在预设的一个或多个电压档下工作(可以是出厂预设,也可以是根据具体应用场景预设)。针对上述应用场景,在本申请一实施例中,分别针对不同的电压档,确定其对应的最高频率。即,分别针对每一个电压档,基于本申请实施例所述的测试方法,对待测试AI芯片进行多轮循环测试,以确认在电压/频率设定组合合理的前提下,每个电压档所对应的频率最高的电压/频率设定组合。
具体的,在多轮循环测试过程中,电压/频率设定组合的电压值不变(为当前测试所针对的电压档),调节频率值。例如,在步骤740的一种实现方式中,调高第n电压/频率设定组合中的频率值,第n电压/频率设定组合中的电压值维持不变。
进一步的,在步骤740的一种实现方式中,以频率调节所能实现的最小单位为步长调高频率值。
根据本申请实施例的确定电压/频率设定组合的方法,能够实现自动化无人值守执行对待测试AI芯片的测试,获取待测试AI芯片在不同电压下可正常工作的最高频率,从而降低高泄露芯片的功耗,挽救慢速芯片,提高芯片良率。本申请实施例的确定电压/频率设定组合的方法降低了人力成本,提高了AI芯片的测试效率。
进一步的,一般的,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD),其逻辑功能由访问方对器件编程来确定。又例如,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL)。本领域技术人员也应该清楚,只需要将方法流程用硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
因此,根据图1所示的测试方法,本申请一实施例还提出了一种用于实现测试方法的测试装置,该测试装置安装在测试设备上,测试装置包括:
测试结果生成模块,其用于当测试设备获取到待测试AI芯片运行AI测试程序时的实时运行信息时,测试设备根据实时运行信息,生成测试结果,其中:
待测试AI芯片运行AI测试程序时的电压以及频率被设定为测试电压/频率设定组合;
当测试设备根据实时运行信息判定待测试AI芯片的运行出现异常时,测试结果为测试电压/频率设定组合不合理。
进一步的,根据图2所示的测试方法,测试结果生成模块还用于,当获取到AI测试程序的执行结果时,根据AI测试程序的执行结果,生成测试结果,其中:
AI测试程序的执行结果为,待测试AI芯片运行AI测试程序完成后,根据AI测试程序的输出所生成的判定结果;
当AI测试程序的执行结果为执行错误时,测试结果为测试电压/频率设定组合不合理。
根据图3所示的测试响应方法,本申请一实施例还提出了一种用于实现测试响应方法的测试响应装置,该测试响应装置安装在AI设备上,装置包括:
电压/频率设定模块,其用于设定待测试AI芯片的电压以及频率为测试电压/频率设定组合;
测试程序运行模块,其用于使用待测试AI芯片启动AI测试程序;
第一输出模块,其用于输出待测试AI芯片运行AI测试程序时的实时运行信息。
进一步的,针对图2所示的测试方法,测试响应装置还包括:
第二输出模块,其用于:
在AI测试程序运行完毕后,输出AI测试程序的执行结果;
或者,
在AI测试程序运行完毕后,输出AI神经网络的最后一层输出的文件。
根据图5所示的获取基准文件校验结果的方法,本申请一实施例还提出了一种获取基准文件校验结果的装置,该装置安装在AI设备上,装置包括:
电压/频率设定模块,其用于将待测试AI芯片的电压以及频率设定为安全电压以及安全频率;
执行结果获取模块,其用于在待测试AI芯片运行AI测试程序完毕后,获取AI神经网络的最后一层输出的第一文件;
校验模块,其用于对第一文件运行文件校验程序,获取基准文件校验结果。
根据本申请实施例所提出的确定电压/频率设定组合的方法,本申请一实施例还提出了一种确定电压/频率设定组合的装置,该装置安装在测试设备上,装置包括:
测试执行模块,其用于:
基于本申请实施例所述的测试方法,对待测试AI芯片进行多轮循环测试,以确认,在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合,其中:
在当前轮次的测试结果为测试电压/频率设定组合合理时,调高当前轮次的测试电压/频率设定组合的频率值,和/或,调低当前轮次的测试电压/频率设定组合的电压值,以确定下一轮次的测试电压/频率设定组合;
在当前轮次的测试结果为电压/频率设定组合不合理时,以上一轮次的测试电压/频率设定组合,为在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合。
具体的,本申请实施例所提出的装置在实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,检测模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个数字信号处理器(Digital Singnal Processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,这些模块可以集成在一起,以片上装置(System-On-a-Chip,SOC)的形式实现。
在一具体的实现方案中,测试设备可以是独立的设备,待测试AI芯片安装在测试设备以外的AI设备上,测试设备与AI设备相互独立。AI设备可以是安装有待测试AI芯片(AI加速器)的终端设备,其包括但不限于包含独立AI加速芯片的设备、集成了AI加速器的嵌入式soc等。在测试过程中,AI设备设定待测试AI芯片的电压以及频率为测试电压/频率设定组合,使用待测试AI芯片运行AI测试程序,向测试设备输出实时运行信息以及执行结果。这样,不需要对待测试AI芯片进行拆卸,测试设备直接连接到AI设备上就可以实现待测试AI芯片的测试。并且,一台测试设备可以连接多台AI设备同时进行测试,从而可以大幅提高AI芯片测试进度。
进一步的,AI设备可以是现有的、安装有待测试AI芯片的设备,AI设备可以通过加载用于AI测试的相关软件来与测试设备配合实现测试流程。例如,由测试设备向AI设备发送测试主程序,该测试主程序包括:
测试AI神经网络确认程序,其被运行时可以指令AI设备从可用的AI神经网络中选取测试AI神经网络;
AI测试程序,其被运行时可以指令待测试AI芯片对测试AI神经网络进行逐层运算;
基准文件校验程序,其被运行时可以将待测试AI芯片的电压以及频率设定为安全电压以及安全频率,指令待测试AI芯片运行AI测试程序,获取基准文件校验结果;
实时运行信息输出程序,其被运行时可以采集实时运行信息,并输出采集到的实时运行信息;
执行结果生成程序,其被运行时可以基于基准文件校验结果生成AI测试程序的执行结果。
进一步的,AI设备也可以是针对芯片测试所构造的、包含AI芯片接口的设备,该设备上加载有用于AI测试的相关软件。在进行测试时,将待测试AI芯片通过AI设备的AI芯片接口安装到AI设备上。AI设备与测试设备配合实现测试流程。
具体的,本申请一实施例提出了一种测试系统,系统包括:
测试终端(AI设备),其用于实现图3所示的方法流程,例如:为待测试AI芯片提供运行环境支持;将待测试AI芯片的电压以及频率设定为测试电压/频率设定组合;以及,输出待测试AI芯片运行AI测试程序时的实时运行信息;
测试主机(测试设备),其用于实现图1或图2所示的方法流程,例如:根据实时运行信息,生成测试结果,其中,当根据实时运行信息判定所述待测试AI芯片的运行出现异常时,所述测试结果为所述测试电压/频率设定组合不合理。
具体的,本申请一实施例还提出了一种确定电压/频率设定组合的系统,系统包括:
测试终端(AI设备),其用于实现图3所示的方法流程,例如:为待测试AI芯片提供运行环境支持;将待测试AI芯片的电压以及频率设定为测试电压/频率设定组合;以及,输出待测试AI芯片运行AI测试程序时的实时运行信息;
测试主机(测试设备),其用于基于本申请实施例所述的测试方法,对待测试AI芯片进行多轮循环测试,以确认,在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合,其中:
在当前轮次的测试结果为测试电压/频率设定组合合理时,调高当前轮次的测试电压/频率设定组合的频率值,和/或,调低当前轮次的测试电压/频率设定组合的电压值,以确定下一轮次的测试电压/频率设定组合;
在当前轮次的测试结果为电压/频率设定组合不合理时,以上一轮次的测试电压/频率设定组合,为在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合。
本申请一实施例还提出了一种任务处理芯片,该任务处理芯片安装在测试设备中,任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发任务处理芯片执行本申请实施例所述的测试方法流程。
本申请一实施例还提出了一种电子设备(测试设备),该电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如本申请实施例所述的测试方法流程。
本申请一实施例还提出了一种任务处理芯片,该任务处理芯片安装在AI设备中,任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发任务处理芯片执行本申请实施例所述的测试响应方法流程。
本申请一实施例还提出了一种电子设备(AI设备),该电子设备包括用于安装待测试AI芯片的接口模块、用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如本申请实施例所述的测试响应方法流程。
本申请一实施例还提出了一种任务处理芯片,该任务处理芯片安装在AI设备中,任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发任务处理芯片执行本申请实施例所述的获取基准文件校验结果的方法流程。
本申请一实施例还提出了一种电子设备(AI设备),该电子设备包括用于安装待测试AI芯片的接口模块、用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如本申请实施例所述的获取基准文件校验结果的方法流程。
本申请一实施例还提出了一种任务处理芯片,该任务处理芯片安装在测试设备中,任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发任务处理芯片执行本申请实施例所述的确定电压/频率设定组合的方法流程。
本申请一实施例还提出了一种电子设备(测试设备),该电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如本申请实施例所述的确定电压/频率设定组合的方法流程。
具体的,在本申请一实施例中,上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行本申请实施例所述的方法步骤。
具体的,在本申请一实施例中,电子设备的处理器可以是片上装置SOC,该处理器中可以包括中央处理器(Central Processing Unit,CPU),还可以进一步包括其他类型的处理器。具体的,在本申请一实施例中,电子设备的处理器可以是PWM控制芯片。
具体的,在本申请一实施例中,涉及的处理器可以例如包括CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network Process Units,NPU)和图像信号处理器(Image Signal Processing,ISP),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如ASIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。
具体的,在本申请一实施例中,电子设备的存储器可以是只读存储器(read-onlymemory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何计算机可读介质。
具体的,在本申请一实施例中,处理器可以和存储器可以合成一个处理装置,更常见的是彼此独立的部件,处理器用于执行存储器中存储的程序代码来实现本申请实施例所述方法。具体实现时,该存储器也可以集成在处理器中,或者,独立于处理器。
进一步的,本申请实施例阐明的设备、装置、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
具体的,本申请一实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
本申请一实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
本申请中的实施例描述是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以意识到,本申请实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (24)
1.一种测试方法,其特征在于,包括:
当获取到待测试AI芯片运行AI测试程序时的实时运行信息时,根据所述实时运行信息,生成测试结果,其中:
所述待测试AI芯片运行AI测试程序时的电压以及频率被设定为测试电压/频率设定组合;
当根据所述实时运行信息判定所述待测试AI芯片的运行出现异常时,所述测试结果为所述测试电压/频率设定组合不合理,其中:当所述AI测试程序的执行结果为执行错误时,测试结果为测试电压/频率设定组合不合理;在所述AI测试程序运行完毕后,当AI神经网络的最后一层输出的第一文件的校验结果与基准文件的校验结果不一致时,所述AI测试程序的执行结果为执行错误;所述基准文件的校验结果为,在安全电压以及安全频率下,所述待测试AI芯片运行所述AI测试程序完毕后,所述AI神经网络的最后一层输出的第二文件的校验结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当获取到所述AI测试程序的执行结果时,根据所述AI测试程序的执行结果,生成测试结果,其中:
所述AI测试程序的执行结果为,所述待测试AI芯片运行所述AI测试程序完成后,根据所述AI测试程序的输出所生成的判定结果。
3.一种测试响应方法,其特征在于,所述方法包括:
设定待测试AI芯片的电压以及频率为测试电压/频率设定组合;
使用所述待测试AI芯片运行AI测试程序;
输出所述待测试AI芯片运行所述AI测试程序时的实时运行信息,其中:所述实时运行信息用于生成测试结果;当根据所述实时运行信息判定所述待测试AI芯片的运行出现异常时,所述测试结果为所述测试电压/频率设定组合不合理;当所述AI测试程序的执行结果为执行错误时,测试结果为测试电压/频率设定组合不合理;在所述AI测试程序运行完毕后,当AI神经网络的最后一层输出的第一文件的校验结果与基准文件的校验结果不一致时,所述AI测试程序的执行结果为执行错误;所述基准文件的校验结果为,在安全电压以及安全频率下,所述待测试AI芯片运行所述AI测试程序完毕后,所述AI神经网络的最后一层输出的第二文件的校验结果。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括,从所有可用的AI神经网络中选取测试AI神经网络,其中,所述测试AI神经网络为一个AI神经网络或多个AI神经网络的集合,所述测试AI神经网络可以覆盖所述待测试AI芯片所支持的所有算子;
所述使用所述待测试AI芯片启动AI测试程序,包括,令所述AI测试程序运行所述测试AI神经网络。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
在所述AI测试程序运行完毕后,输出所述AI测试程序的执行结果;
或者,
在所述AI测试程序运行完毕后,输出AI神经网络的最后一层输出的文件。
6.一种获取基准文件校验结果的方法,其特征在于,所述方法包括:
将待测试AI芯片的电压以及频率设定为安全电压以及安全频率;
使用所述待测试AI芯片运行AI测试程序;
在所述AI测试程序运行完毕后,获取AI神经网络的最后一层输出的第一文件;
对所述第一文件运行文件校验程序,获取基准文件校验结果,所述基准文件校验结果用于判断所述AI测试程序的执行结果是否为执行错误,其中:在所述待测试AI芯片运行所述AI测试程序时的电压以及频率被设定为测试电压/频率设定组合的情况下,当所述AI测试程序的执行结果为执行错误时,测试结果为测试电压/频率设定组合不合理;在所述AI测试程序运行完毕后,当AI神经网络的最后一层输出的第二文件的校验结果与所述基准文件校验结果不一致时,所述AI测试程序的执行结果为执行错误。
7.一种确定电压/频率设定组合的方法,其特征在于,所述方法包括:
基于权利要求1或2所述的方法,对所述待测试AI芯片进行多轮循环测试,以确认,在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合,其中:
在当前轮次的测试结果为测试电压/频率设定组合合理时,调高所述当前轮次的测试电压/频率设定组合的频率值,和/或,调低所述当前轮次的测试电压/频率设定组合的电压值,以确定下一轮次的测试电压/频率设定组合;
在所述当前轮次的测试结果为电压/频率设定组合不合理时,以上一轮次的测试电压/频率设定组合,为在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合。
8.根据权利要求7所述的方法,其特征在于,根据安全电压以及安全频率确定第一轮测试所使用的测试电压/频率设定组合。
9.根据权利要求7或8所述的方法,其特征在于,所述调高所述当前轮次的测试电压/频率设定组合的频率值,和/或,调低所述当前轮次的测试电压/频率设定组合的电压值,包括:
保持所述电压值不变,按照预设步长调高所述频率值。
10.一种测试装置,其特征在于,包括:
测试结果生成模块,其用于当获取到待测试AI芯片运行AI测试程序时的实时运行信息时,根据所述实时运行信息,生成测试结果,其中:
所述待测试AI芯片运行AI测试程序时的电压以及频率被设定为测试电压/频率设定组合;
当根据所述实时运行信息判定所述待测试AI芯片的运行出现异常时,所述测试结果为所述测试电压/频率设定组合不合理,其中:当所述AI测试程序的执行结果为执行错误时,测试结果为测试电压/频率设定组合不合理;在所述AI测试程序运行完毕后,当AI神经网络的最后一层输出的第一文件的校验结果与基准文件的校验结果不一致时,所述AI测试程序的执行结果为执行错误;所述基准文件的校验结果为,在安全电压以及安全频率下,所述待测试AI芯片运行所述AI测试程序完毕后,所述AI神经网络的最后一层输出的第二文件的校验结果。
11.一种测试响应装置,其特征在于,所述装置包括:
电压/频率设定模块,其用于设定待测试AI芯片的电压以及频率为测试电压/频率设定组合;
测试程序运行模块,其用于使用所述待测试AI芯片启动AI测试程序;
实时运行信息输出模块,其用于输出所述待测试AI芯片运行所述AI测试程序时的实时运行信息,其中:所述实时运行信息用于生成测试结果;当根据所述实时运行信息判定所述待测试AI芯片的运行出现异常时,所述测试结果为所述测试电压/频率设定组合不合理;当所述AI测试程序的执行结果为执行错误时,测试结果为测试电压/频率设定组合不合理;在所述AI测试程序运行完毕后,当AI神经网络的最后一层输出的第一文件的校验结果与基准文件的校验结果不一致时,所述AI测试程序的执行结果为执行错误;所述基准文件的校验结果为,在安全电压以及安全频率下,所述待测试AI芯片运行所述AI测试程序完毕后,所述AI神经网络的最后一层输出的第二文件的校验结果。
12.一种测试系统,其特征在于,所述系统包括:
测试终端,其用于:为待测试AI芯片提供运行环境支持;将所述待测试AI芯片的电压以及频率设定为测试电压/频率设定组合;以及,输出所述待测试AI芯片运行AI测试程序时的实时运行信息;
测试主机,其用于根据所述实时运行信息,生成测试结果,其中:当根据所述实时运行信息判定所述待测试AI芯片的运行出现异常时,所述测试结果为所述测试电压/频率设定组合不合理;当所述AI测试程序的执行结果为执行错误时,测试结果为测试电压/频率设定组合不合理;在所述AI测试程序运行完毕后,当AI神经网络的最后一层输出的第一文件的校验结果与基准文件的校验结果不一致时,所述AI测试程序的执行结果为执行错误;所述基准文件的校验结果为,在安全电压以及安全频率下,所述待测试AI芯片运行所述AI测试程序完毕后,所述AI神经网络的最后一层输出的第二文件的校验结果。
13.一种任务处理芯片,其特征在于,所述任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发所述任务处理芯片执行如权利要求1或2所述的方法流程。
14.一种任务处理芯片,其特征在于,所述任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发所述任务处理芯片执行如权利要求3~5中任一项所述的方法流程。
15.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如权利要求1或2所述的方法步骤。
16.一种电子设备,其特征在于,所述电子设备包括用于安装待测试AI芯片的接口模块、用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备,基于其安装的待测试AI芯片,执行如权利要求3~5中任一项所述的方法步骤。
17.一种获取基准文件校验结果的装置,其特征在于,所述装置包括:
电压/频率设定模块,其用于将待测试AI芯片的电压以及频率设定为安全电压以及安全频率;
执行结果获取模块,其用于在待测试AI芯片运行AI测试程序完毕后,获取AI神经网络的最后一层输出的第一文件;
校验模块,其用于对所述第一文件运行文件校验程序,获取基准文件校验结果,所述基准文件校验结果用于判断所述AI测试程序的执行结果是否为执行错误,其中:在所述待测试AI芯片运行所述AI测试程序时的电压以及频率被设定为测试电压/频率设定组合的情况下,当所述AI测试程序的执行结果为执行错误时,测试结果为测试电压/频率设定组合不合理;在所述AI测试程序运行完毕后,当AI神经网络的最后一层输出的第二文件的校验结果与所述基准文件校验结果不一致时,所述AI测试程序的执行结果为执行错误。
18.一种任务处理芯片,其特征在于,所述任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发所述任务处理芯片执行如权利要求6所述的方法流程。
19.一种电子设备,其特征在于,所述电子设备包括用于安装待测试AI芯片的接口模块、用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备,基于其安装的待测试AI芯片,执行如权利要求6所述的方法步骤。
20.一种确定电压/频率设定组合的装置,其特征在于,所述装置包括:
测试执行模块,其用于:
基于权利要求1或2所述的方法,对所述待测试AI芯片进行多轮循环测试,以确认,在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合,其中:
在当前轮次的测试结果为测试电压/频率设定组合合理时,调高所述当前轮次的测试电压/频率设定组合的频率值,和/或,调低所述当前轮次的测试电压/频率设定组合的电压值,以确定下一轮次的测试电压/频率设定组合;
在所述当前轮次的测试结果为电压/频率设定组合不合理时,以上一轮次的测试电压/频率设定组合,为在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合。
21.一种确定电压/频率设定组合的系统,其特征在于,所述系统包括:
测试终端,其用于:为待测试AI芯片提供运行环境支持;将所述待测试AI芯片的电压以及频率设定为测试电压/频率设定组合;以及,输出所述待测试AI芯片运行AI测试程序时的实时运行信息;
测试主机,其用于基于权利要求1或2所述的方法,对所述待测试AI芯片进行多轮循环测试,以确认,在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合,其中:
在当前轮次的测试结果为测试电压/频率设定组合合理时,调高所述当前轮次的测试电压/频率设定组合的频率值,和/或,调低所述当前轮次的测试电压/频率设定组合的电压值,以确定下一轮次的测试电压/频率设定组合;
在所述当前轮次的测试结果为电压/频率设定组合不合理时,以上一轮次的测试电压/频率设定组合,为在电压/频率设定组合合理的前提下,电压最低和/或频率最高的电压/频率设定组合。
22.一种任务处理芯片,其特征在于,所述任务处理芯片包括:
处理器,其用于执行存储器中存储的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发所述任务处理芯片执行如权利要求7~9中任一项所述的方法流程。
23.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如权利要求7~9中任一项所述的方法步骤。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110086583.4A CN112783705B (zh) | 2021-01-22 | 2021-01-22 | 一种测试方法、装置、系统、芯片和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110086583.4A CN112783705B (zh) | 2021-01-22 | 2021-01-22 | 一种测试方法、装置、系统、芯片和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112783705A CN112783705A (zh) | 2021-05-11 |
CN112783705B true CN112783705B (zh) | 2022-12-02 |
Family
ID=75758502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110086583.4A Active CN112783705B (zh) | 2021-01-22 | 2021-01-22 | 一种测试方法、装置、系统、芯片和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783705B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658370B (zh) * | 2022-11-18 | 2023-05-23 | 辉羲智能科技(上海)有限公司 | 一种基于编译器的机器学习加速芯片故障实时探测方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908509A (zh) * | 2017-11-07 | 2018-04-13 | 晶晨半导体(上海)股份有限公司 | 一种针对处理器的自动化测试方法 |
CN109376041A (zh) * | 2018-09-19 | 2019-02-22 | 广州优亿信息科技有限公司 | 一种用于ai手机芯片的基准测试系统及其工作流程 |
CN111859829B (zh) * | 2019-04-04 | 2024-04-16 | 北京比特大陆科技有限公司 | 控制算力板的方法、装置和设备以及介质、程序产品 |
CN110515811A (zh) * | 2019-08-09 | 2019-11-29 | 中国信息通信研究院 | 终端人工智能性能基准测试方法及装置 |
CN111178512B (zh) * | 2019-12-31 | 2023-04-18 | 中科南京人工智能创新研究院 | 器件运行神经网络的测试方法及装置 |
CN111488054A (zh) * | 2020-04-29 | 2020-08-04 | Oppo广东移动通信有限公司 | 芯片电压配置方法及相关装置 |
-
2021
- 2021-01-22 CN CN202110086583.4A patent/CN112783705B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112783705A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8140901B2 (en) | Validation of processors using a self-generating test case framework | |
US9569179B1 (en) | Modifying models based on profiling information | |
US20220182406A1 (en) | Analysis apparatus, analysis system, analysis method, and non-transitory computer readable medium storing program | |
EP2095236B1 (en) | Method, system and computer program for testing software applications based on multiple data sources | |
JP6096930B2 (ja) | データ依存型回路経路応答を使用する一意でクローン化不能なプラットフォーム識別子 | |
US6581026B2 (en) | Method and configuration for comparing a first characteristic with predetermined characteristics of a technical system | |
CN112783705B (zh) | 一种测试方法、装置、系统、芯片和电子设备 | |
CN113168364A (zh) | 一种芯片验证方法和装置 | |
KR20100024946A (ko) | 마이크로컨트롤러 및 실행 유닛의 작동 방법과 마이크로컨트롤러 및 실행 유닛 | |
CN111897711A (zh) | 代码中bug的定位方法、装置、电子设备及可读存储介质 | |
US20220138080A1 (en) | Computer-implemented method and device for selecting a fuzzing method for testing a program code | |
CN103383566B (zh) | 一种程序流监控方法 | |
Mahajan et al. | Component-based software system test case prioritization with genetic algorithm decoding technique using java platform | |
Ozawa et al. | How do software metrics affect test case prioritization? | |
CN107301105B (zh) | 校验热补丁或者动态库的方法及装置 | |
JP2019091144A (ja) | シミュレーション装置、シミュレーションシステム、シミュレーション方法及びシミュレーションプログラム | |
CN109032932B (zh) | 一种支持约束的组合测试故障定位方法 | |
CN114840427A (zh) | 一种代码测试、测试用例生成的方法及装置 | |
US10504609B2 (en) | Semiconductor device and diagnosis method thereof | |
US7155378B2 (en) | Method for providing cycle-by-cycle ad HOC verification in a hardware-accelerated environment | |
JP4887256B2 (ja) | 実行コード生成装置、実行コード生成方法、及びソースコードの管理方法 | |
CN113190497B (zh) | 一种可重构处理器的任务处理方法及可重构处理器 | |
US11017085B2 (en) | Methods and nodes for anomaly detection in computer applications | |
KR102610756B1 (ko) | 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법 | |
Sproston et al. | CSL model checking for generalized stochastic Petri nets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |