CN113568789A - 芯片的检测方法、检测装置和电子设备 - Google Patents

芯片的检测方法、检测装置和电子设备 Download PDF

Info

Publication number
CN113568789A
CN113568789A CN202010349141.XA CN202010349141A CN113568789A CN 113568789 A CN113568789 A CN 113568789A CN 202010349141 A CN202010349141 A CN 202010349141A CN 113568789 A CN113568789 A CN 113568789A
Authority
CN
China
Prior art keywords
chain
fault
chains
normal
core
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.)
Granted
Application number
CN202010349141.XA
Other languages
English (en)
Other versions
CN113568789B (zh
Inventor
王鸿博
吴超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bitmain Technologies Inc
Original Assignee
Bitmain Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bitmain Technologies Inc filed Critical Bitmain Technologies Inc
Priority to CN202010349141.XA priority Critical patent/CN113568789B/zh
Publication of CN113568789A publication Critical patent/CN113568789A/zh
Application granted granted Critical
Publication of CN113568789B publication Critical patent/CN113568789B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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/2236Detection 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
    • G06F11/2242Detection 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 in multi-processor systems, e.g. one processor becoming the test master
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Abstract

本申请公开了一种芯片的检测方法、检测装置和电子设备,能够定位计算系统中的故障,提高计算系统的算力和正确率。检测方法应用于包括M个芯片的计算系统,其中形成有N条链,每条链包括分别位于M个芯片的M个核,用于共同处理一个计算任务;检测方法包括:全开M个芯片中的核,确定N条链中的至少一条正常链;开启至少一条正常链上的核,N条链中除至少一条正常链外的其它链上的核关闭;采用二分法开启其它链中的待检测链上的核,根据至少一条正常链处理的计算任务的结果,进行故障定位。采用该检测方法,能够在生产阶段对故障进行维修,提高生产良率,也能够在应用阶段,采用其他手段替代故障部件进行计算,提高计算系统的算力和正确率。

Description

芯片的检测方法、检测装置和电子设备
技术领域
本申请涉及芯片技术领域,并且更为具体的,涉及一种芯片的检测方法、检测装置和电子设备。
背景技术
随着信息技术的发展,在人工智能(Artificial Intelligence,AI)、数字凭证处理、超算等领域中,对进行数据运算的处理设备的运行效率、运行速度的要求越来越高。
目前,为了加快数据处理的速度,采用分布式并行计算(Distributed ParallelComputing)系统进行数据处理以完成计算任务,其中,分布式并行计算系统中包括多个计算芯片,多个芯片中的每个芯片均参与数据运算,以得到最终的计算结果,但是,若多个芯片中存在性能不达标的故障芯片或者故障核,会造成最终的计算结果错误或者没有计算结果输出,影响整个系统的算力以及计算的正确率。
因此,如何定位分布式并行计算系统中的故障,提高系统的算力以及计算的正确率,是一项亟待解决的问题。
发明内容
本申请实施例提供了一种芯片的检测方法、检测装置和电子设备,能够定位计算系统中的故障,提高计算系统的算力以及计算的正确率。
第一方面,提供一种芯片的检测方法,应用于包括M个芯片的计算系统,该M个芯片形成有N条链,该N条链中每条链包括分别位于该M个芯片的M个核,每条链上的M个核用于共同处理一个计算任务,其中,M、N为大于1的正整数;该检测方法包括:全开该M个芯片中的核,确定该N条链中的至少一条正常链;开启该至少一条正常链上的核,该N条链中除该至少一条正常链外的其它链上的核关闭;采用二分法开启该其它链中的待检测链上的核,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
采用本申请实施例的检测方法,可以根据至少一条正常链的计算结果,进行故障定位,检测得到故障芯片或者故障核,从而便于在生产阶段对故障芯片进行维修或者更换,提高生产良率。也便于在实际应用阶段,采用其他手段替代故障芯片或者故障核进行计算,提高计算系统的算力和正确率,从而提高计算系统的整体性能。
在一种可能的实施方式中,上述全开该M个芯片中的核,确定该N条链中的至少一条正常链,包括:全开该M个芯片中的核,根据该N条链处理的计算任务的结果,确定该N条链中的疑似故障链;仅开启一条疑似故障链,该一条疑似故障链处理的计算任务失败,确定该一条疑似故障链为故障链;将该N条链中除该故障链以外的N-i条链确定为该至少一条正常链,其中,1≤i<N,i为正整数。
在一种可能的实施方式中,该待检测链为该故障链;上述采用二分法开启该其它链中的待检测链上的核,根据该至少一条正常链处理的计算任务的结果,进行故障定位,包括:采用二分法开启该其它链中的该故障链上的核,根据该至少一条正常链处理的计算任务的结果,确定该故障链上的故障核。
在一种可能的实施方式中,上述采用二分法开启该其它链中的该故障链上的核,根据该至少一条正常链处理的计算任务的结果,进行故障定位,包括:开启该故障链上Kj个核,j为正整数;根据该至少一条正常链处理的计算任务的结果,开启该故障链上Kj+1个核;若该至少一条正常链的计算任务均成功,Kj+1=Kj+Mj+1;若该至少一条正常链中存在计算任务失败的链,Kj+1=Kj-Mj+1
其中,K1=M1
Figure BDA0002471301190000021
直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
在一种可能的实施方式中,上述直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位,包括:若开启该故障链上Kj个核后,该至少一条正常链的计算任务均成功,且开启该故障链上Kj+1个核后,该至少一条正常链中存在计算任务失败的链,则确定该故障链上第Kj+1个核为故障核;若开启该故障链上Kj个核后,该至少一条正常链中存在计算任务失败的链,且开启该故障链上Kj-1个核后,该至少一条正常链的计算任务均成功,则确定该故障链上第Kj个核为故障核。
在一种可能的实施方式中,上述采用二分法开启该故障链上的核,根据该至少一条正常链处理的计算任务的结果,进行故障定位,包括:开启该故障链上第Aj个核至第Bj个核,j为正整数;根据该至少一条正常链处理的计算任务的结果,开启该故障链上第Aj+1个核至第Bj+1个核;若该至少一条正常链的计算任务均成功,Aj+1=Bj+1,Bj+1=Bj+Mj+1;若该至少一条正常链中存在计算任务失败的链,Aj+1=Aj,Bj+1=Bj-Mj+1
其中,A1=1,B1=M1
Figure BDA0002471301190000031
直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
在一种可能的实施方式中,上述直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位,包括:若开启该故障链上第Aj个核至第Bj个核后,该至少一条正常链的计算任务均成功,且开启该故障链上第Bj+1个核后,该至少一条正常链中存在计算任务失败的链,则确定该故障链上第Bj+1个核为故障核;若开启该故障链上第Aj个核至第Bj个核后,该至少一条正常链中存在计算任务失败的链,且开启该故障链上第Aj个核至第Bj-1个核后,该至少一条正常链的计算任务均成功,则确定该故障链上第Bj个核为故障核。
在一种可能的实施方式中,该检测方法还包括:开启该M个芯片中除该故障核以外的其它核;若该N条链中除该故障链以外其它链的计算任务均成功,确认该故障核发生故障。
在一种可能的实施方式中,该检测方法还包括:关闭该故障链中除该故障核外其它核,开启该故障核;若该N条链中除该故障链以外其它链中存在计算任务失败的链,确认该故障核发生故障。
在一种可能的实施方式中,该检测方法还包括:控制该故障核所在芯片中的备用核替代该故障核处理计算任务。
采用本实施方式的方法,能够定位出故障芯片中的故障核,提高故障定位的精度,既能够采用维修的手段对故障核所在的故障芯片进行维修,也可以不采用维修手段,而控制故障芯片中的备用核替代故障核工作,更为快速、便捷的修复故障芯片,提高整个计算系统的算力和正确率。
在一种可能的实施方式中,上述全开该M个芯片中的核,确定该N条链中的至少一条正常链,包括:全开该M个芯片中的核,根据该N条链处理的计算任务的结果,确定该N条链中的至少一条正常链。
在一种可能的实施方式中,上述全开该M个芯片中的核,确定该N条链中的至少一条正常链,包括:全开该M个芯片中的核,根据该N条链处理的计算任务的结果,确定该N条链中的疑似故障链;开启至少一条疑似故障链,若该至少一条疑似故障链处理的计算任务成功,确定该至少一条疑似故障链为至少一条正常链。
在一种可能的实施方式中,该待检测链为该其它链中的每条链;上述采用二分法开启该其它链中的待检测链上的核,根据该至少一条正常链处理的计算任务的结果,进行故障定位,包括:该采用二分法开启该其它链中每条链上的核,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
在一种可能的实施方式中,上述采用二分法开启该其它链中每条链上的核,根据该至少一条正常链处理的计算任务的结果,进行故障定位,包括:开启该其它链中每条链上前Kj个核,j为正整数;根据该至少一条正常链处理的计算任务的结果,开启该其它链中每条链上前Kj+1个核;若该至少一条正常链的计算任务均成功,Kj+1=Kj+Mj+1;若该至少一条正常链中存在计算任务失败的链,Kj+1=Kj-Mj+1
其中,K1=M1
Figure BDA0002471301190000041
直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
在一种可能的实施方式中,上述直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位,包括:若开启该其它链中每条链上前Kj个核后,该至少一条正常链的计算任务均成功,且开启该其它链中每条链上前Kj+1个核后,该至少一条正常链中存在计算任务失败的链,则确定该M个芯片中第Kj+1个芯片为故障芯片;若开启该其它链中每条链上前Kj个核后,该至少一条正常链中存在计算任务失败的链,且开启该其它链中每条链上前Kj-1个核后,该至少一条正常链的计算任务均成功,则确定该M个芯片中第Kj个芯片为故障芯片。
在一种可能的实施方式中,上述采用二分法开启该其它链中每条链上的核,根据该至少一条正常链处理的计算任务的结果,进行故障定位,包括:开启该其它链中每条链上第Aj个核至第Bj个核,j为正整数;根据该至少一条正常链处理的计算任务的结果,开启该其它链中每条链上第Aj+1个核至第Bj+1个核;若该至少一条正常链的计算任务均成功,Aj+1=Bj+1,Bj+1=Bj+Mj+1;若该至少一条正常链中存在计算任务失败的链,Aj+1=Aj,Bj+1=Bj-Mj+1
其中,A1=1,B1=M1
Figure BDA0002471301190000051
直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
在一种可能的实施方式中,上述直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位,包括:若开启该其它链中每条链上第Aj个核至第Bj个核后,该至少一条正常链的计算任务均成功,且开启该其它链中每条链上第Bj+1个核后,该至少一条正常链中存在计算任务失败的链,则确定该M个芯片中第Bj+1个芯片为故障芯片;若开启该其它链中每条链上第Aj个核至第Bj个核后,该至少一条正常链中存在计算任务失败的链,且开启该其它链中每条链上第Aj个核至第Bj-1个核后,该至少一条正常链的计算任务均成功,则确定该M个芯片中第Bj个芯片为故障芯片。
在一种可能的实施方式中,该M个芯片中每条链上的M个核相互串联,用于进行哈希运算;若该M个芯片中一条链的哈希运算结果在预设阈值内,则计算任务成功,若一条链的哈希运算结果在预设阈值外或者未输出计算结果,则计算任务失败。
第二方面,提供一种芯片的检测装置,包括控制单元,用于对包括M个芯片的计算系统进行故障定位,其中,该M个芯片形成有N条链,该N条链中每条链包括分别位于该M个芯片的M个核,每条链上的M个核用于共同处理一个计算任务,其中,M、N为大于1的正整数;该控制单元用于:全开该M个芯片中的核,确定该N条链中的至少一条正常链;开启该至少一条正常链上的核,该N条链中除该至少一条正常链外的其它链上的核关闭;采用二分法开启该其它链中的待检测链上的核,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
第三方面,提供一种电子设备,该电子设备包括芯片的检测装置和M个芯片;该M个芯片形成有N条链,该N条链中每条链包括分别位于该M个芯片的M个核,每条链上的M个核用于共同处理一个计算任务,其中,M、N为大于1的正整数;该检测装置为第二方面中的检测装置,用于对包括M个芯片的计算系统进行故障定位。
第四方面,提供一种计算机存储介质,用于存储程序代码,该程序代码用于执行第一方面或第一方面的任一可能的实施方式中的检测方法。
附图说明
图1是本申请可以适用的电子设备的结构示意图;
图2是图1中处理模块的结构示意图;
图3是根据本申请实施例的一种芯片的检测方法的示意性流程框图;
图4是根据本申请实施例的另一芯片的检测方法的示意性流程框图;
图5是根据本申请实施例的另一芯片的检测方法的示意性流程框图;
图6和图7是根据本申请实施例的一种采用二分法确定故障芯片的示意性流程框图;
图8和图9是根据本申请实施例的另一种采用二分法确定故障芯片的示意性流程框图;
图10是根据本申请实施例的另一芯片的检测方法的示意性流程框图;
图11和图12是根据本申请实施例的一种采用二分法确定故障核的示意性流程框图;
图13是根据本申请实施例的另一芯片的检测方法的示意性流程框图;
图14是根据本申请实施例的一种计算系统的结构示意图;
图15是根据本申请实施例的一种芯片的检测装置的示意性框图;
图16是根据本申请实施例的一种电子设备的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本申请实施例,而非限制本申请实施例的范围。
还应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本申请实施例对此并不限定。
除非另有说明,本申请实施例所使用的所有技术和科学术语与本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。本申请所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。
首先,介绍能够执行本申请实施例提供的电子设备的逻辑结构。
该电子设备可以为数字凭证的处理设备,也可以为其它用于针对专用业务进行运算处理的电子设备,例如计算服务器、通信设备、高性能个人计算机、超算设备等等,本申请实施例对此不做限定。
如图1所示,电子设备10可以包括电源模块110、处理模块120、控制模块130、存储模块140、接口模块150以及散热模块160。应当理解,电子设备10的组件可以比图示具有更少或更多的组件,或者具有不同的组件配置。图1所示的各种组件可以用硬件、软件或软硬件的组合来实现,包括一个或多个信号处理和/或专用集成电路。
电源模块110用于为电子设备10中的其它模块提供电源,可以包括交流-直流转换器(AC to DC converter)、直流-直流转换器(DC to DC converter)以及低压差线性稳压器(Low Dropout Regulator,LDO),用于输出不同的直流电压,以满足不同芯片和电路的电压需求。
处理模块120为用于专用计算的计算处理模块,其可以包括多个用于运行计算的计算芯片。当电子模块10为数字凭证的处理设备时,该处理模块120可以包括一块或者多块算力板(也称之为运算板),多个芯片(chip),也称为集成电路(integrated circuit,IC)呈阵列排列在一块或者多块算力板的电路板(Printed Circuit Board,PCB)上,用于进行哈希(hash)运算求解哈希值,从而获取数字凭证。
在算力板上,多个芯片的数据线串联连接,前一个芯片的运算结果通过数据线传输给后一个芯片,作为后一个芯片的输入,后一个芯片基于该输入继续进行数据运算。因此,多个芯片共同运算得到的数据通过该数据线传输给控制模块130。
此外,在算力板上,多个芯片分布在多个电压域上,而不是分布在同一个电压域上,同一个电压域上的芯片并联连接,不同的电压域串联连接。采用该多个电压域的设计方式,使得不同电压域上的芯片不相互影响,提高多个芯片工作的稳定性和可靠性。
可选地,该算力板上的芯片可以为计算芯片或者其它专用类型的芯片,例如可以为专用集成电路(Application Specific Integrated Circuit,ASIC)芯片、图形处理器(Graphics Processing Unit,GPU)芯片、中央处理器(Central Processing Unit,CPU)芯片、现场可编程门阵列(Field Programmable Gate Array,FPGA)芯片中的任意一种,本申请实施例对此不做限定。
可选地,算力板上的计算芯片可以为多核(Core)芯片,计算芯片之间,或者说计算芯片的核之间通过串行器/解串器(Serializer/Deserializer,SerDes)接口进行连接以传输数据,提高数据传输效率。且通过多核芯片进行数据运算,能够并行处理多个计算任务,从而提高数据处理的效率,提高算力板的算力。
在一些实施方式中,如图2所示,算力板上设置有M个计算芯片,每个计算芯片包括N个核,因而该M个芯片形成有N条链,该N条链中每条链包括分别位于M个芯片的M个核,每条链上的M个核用于共同处理一个计算任务,M、N为大于1的正整数。其中,前一个计算芯片中一个核的数据线连接至下一个计算芯片中对应的核中,M个计算芯片中对应的M个核相互串联,形成一条链,用于处理一个计算任务,因此,该算力板上共形成N条链,可以用于处理N个计算任务。
控制模块130可以为一种控制板,包括一种系统级芯片(System on a Chip,SOC),用于连接控制电子设备10中的其它模块,保证各个模块间的有序进行和数据通信。该控制模块130可以包括微控制器(Microcontroller Unit,MCU),微处理器(Microprocessor),数字信号处理器(Digital Signal Processor,DSP)、模拟数字转换器(Analog-to-digitalconverter,ADC)、数字模拟转换器(Digital to analog converter,DAC)以及提供时间脉冲信号的振荡器(Electronic Oscillator)和锁相环电路(Phase Locked Loops,PLL)等等。
其中,控制模块130可以通过锁相环等时钟电路产生不同的时钟信号,从而控制处理模块120中的多个芯片工作在不同的工作频率。此外,控制模块130还可以通过微控制器以及微处理器等电路产生测试数据,并传输给处理模块120中的多个芯片,并接收多个芯片产生的随机数据并进行处理。换言之,控制模块130可以用于控制处理模块120中多个芯片的工作以及接收处理该多个芯片的数据。
此外,控制模块130还可以通过网口与外部网络连接,通过网络设置控制模块130,从而控制电子设备10的运行。
存储模块140可以包括一个或多个双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM),闪存(flash)等存储单元,用于存储运算中的数据以及软件程序等等。其中,软件程序用于控制电子设备10中的硬件模块运行。
具体地,存储模块140中的软件程序包括操作系统(Operating System,OS)以及通信指令集等等,其中,操作系统用于控制和管理常规系统任务,例如内存管理、存储控制以及电源管理等等,以及有助于各种软硬件之间通信的各种软件组件和/或驱动器。该操作系统包括但不限于:Linux,Unix,Windows或者Vxworks等嵌入式操作系统。通信指令集包括用于处理经过接口模块150接收的数据的软件组件,有助于经接口模块与其它设备进行通信。
接口模块150可以包括不同的连线接口,例如通用串行总线(Universal SerialBus,USB)、以太网(Ethernet,ETH)、通用异步收发传输(Universal AsynchronousReceiver/Transmitter,UATR)和串行外设接口(Serial Peripheral Interface Bus,SPI)等,用于直接或者经网络连接多种不同的外部设备。
此外,电子设备10还包括散热模块160,该散热模块160可以为风扇(Fan),水冷系统或者其它用于对电子设备10散热的装置。电源模块110用于给该散热模块160供电,并且控制模块130用于控制该散热模块160工作。
在电子设备10中,对计算任务的处理速度和处理能力取决于处理模块120。特别地,在数字凭证的处理设备中,该设备的系统性能绝大部分取决于算力板的算力和计算正确率。算力板上每一个芯片,乃至每一个核都会影响算力板的算力和计算正确率,从而影响设备整体的系统性能。
具体地,参见图2中所示的算力板,在一条链中,若任意一个核由于工艺问题造成性能不达标或者在运行过程中出现故障,造成计算错误时,整条链的计算结果则会出现错误,造成该链的计算任务失败,且故障核还会影响其所在芯片中的其它核的正常运行,影响其它链的正常运行,造成其它链的计算任务失败,进而极大的影响了算力板整体的算力以及正确率。
基于上述问题,本申请提出一种芯片的检测方法、检测装置以及电子设备,能够检测定位计算系统中故障芯片乃至故障核的位置,在计算系统的生产制造过程中,便于维修该故障芯片或者故障核,提高计算系统的生产良率。在实际的使用过程中,能够采用备用核取代故障核进行数据运算,提高计算系统的算力和正确率,提升计算系统的整体性能。
图3示出了一种芯片的检测方法100的示意性流程框图。
该芯片的检测方法100适用于包括M个芯片的计算系统,其中,M个芯片中每个芯片包括N个核,且M个芯片形成有N条链,N条链中每条链包括分别位于M个芯片的M个核,每条链上的M个核用于共同处理一个计算任务,具体地,该计算系统的结构可以参见图2中的处理模块120。
该检测方法的执行主体可以为一种控制装置或者检测装置,用于获取上述计算系统中M个芯片的计算结果,例如,该检测方法的执行主体可以为上述图1中的控制模块130,在控制计算系统中M个芯片运行的同时,还可以检测M个芯片的运行结果。
如图3所示,该芯片的检测方法100可以包括以下步骤。
S110:全开M个芯片中的核,确定N条链中的至少一条正常链。
在本步骤中,检测装置可以控制M个芯片中的每个核开启,N条链用于运行计算N个计算任务,例如,可以用于执行哈希运算,得到N个计算结果。检测装置可以检测该N条链的计算结果,换言之,该N条链的计算结果可以输出或者返回给检测装置。
具体地,若M个芯片中存在故障芯片或者故障核,则会影响N条链中出现部分异常链以及部分正常链,其中,异常链为计算任务失败的链,例如不输出计算结果的链或者为输出错误计算结果的链,对应的,正常链为计算任务成功的链,即输出正确计算结果的链。在一些实施例中,若一条链输出的计算结果在预设的范围之内,则确定该链输出的计算结果正确,反之,则确定该链输出的计算结果错误。
此处需要说明的是,在一条异常链中,若存在一个异常核不输出计算结果,则在该异常链上,位于该异常核之后的全部核没有数据输入,同样无法输出计算结果,导致该异常链不输出计算结果。类似的,在一条异常链中,若存在一个异常核计算错误,则在该异常链上,位于该异常核之后的全部核接收错误的计算结果,导致该异常链输出的计算结果错误。换言之,在一条正常链中,其中的每一个核均是正常核,能够输出正确的计算结果。
另外,还需要说明的是,上述异常核不一定是故障核,其有可能是与故障核位于同一芯片中的正常核,只是在与故障核同时运行时,受到故障核的干扰导致其表现出异常。因此,在本实施例中,异常链不一定是故障链,而可以称之为疑似故障链。
在本步骤中,检测装置可以根据N条链的N个计算结果区分出N条链中的正常链以及异常链,从而确定N条链中的至少一条正常链。
S120:开启至少一条正常链上的核,N条链中除该至少一条正常链外的其它链上的核关闭。
在本步骤中,仅开启至少一条正常链上全部的核,而除该至少一条正常链外的其它链上全部的核关闭,此时,至少一条正常链输出正确的计算结果,其它链无计算结果输出。
S130:采用二分法开启其它链中的待检测链上的核,根据至少一条正常链处理的计算任务的结果,进行故障定位。
具体地,本步骤中的待检测链可以为N条链中除至少一条正常链外其它链中的部分链,也可以为全部的其它链。具体情况将在下文的实施例中进行详细的说明。
在至少一条正常链上全部的核开启的状态下,采用二分法再依次开启待检测链上部分的核,此时,待检测链上新开启的核若为故障核,则会对其所在芯片上的其它核造成干扰,即会对此时正在运行的至少一条正常链上的核造成干扰,从而影响该至少一条正常链的计算结果,使得该至少一条正常链由正确的计算结果变成错误的计算结果,或者由正确的计算结果变成不输出计算结果。而待检测链上新开启的核若为正常核,则不会对此时正在运行的至少一条正常链上的核造成干扰,该至少一条正常链依然可以输出正确的计算结果。
由此,采用本申请实施例的检测方法,可以根据至少一条正常链的计算结果,进行故障定位,检测得到故障芯片或者故障核,从而便于在生产阶段对故障芯片进行维修或者更换,提高生产良率。也便于在实际应用阶段,采用其他手段替代故障芯片或者故障核进行计算,提高计算系统的算力和正确率。
图4和图5示出了两种芯片的检测方法100的示意性流程框图。
如图4所示,上述步骤S110可以包括:
S111:全开M个芯片中的核,根据N条链处理的计算任务的结果,确定N条链中的至少一条正常链。
在一种实施方式中,可以直接将N条链中处理计算任务成功的全部正常链作为本申请实施例中的至少一条正常链。
在另一种实施方式中,也可以将N条链中处理计算任务成功的部分正常链作为本申请实施例中的至少一条正常链,本申请实施例对至少一条正常链的数量不做限定。
如图5所示,上述步骤S110可以包括:
S112:全开M个芯片中的核,根据N条链处理的计算任务的结果,确定N条链中的疑似故障链。
S113:仅开启至少一条疑似故障链,若该至少一条疑似故障链处理的计算任务成功,确定该至少一条疑似故障链为至少一条正常链。
具体地,在本申请实施例中,全开M个芯片中的核后,根据N条链的计算结果,确定异常链,也即疑似故障链,再在疑似故障链中进行测试,确定出疑似故障链中的正常链。
具体地,仅开启至少一条疑似故障链,关闭N条链中除该至少一条疑似故障链以外的其它链上所有的核,并检测该至少一条疑似故障链处理的计算任务的结果。
若该至少一条疑似故障链中每条疑似故障链处理的计算任务均成功,则可以确定该至少一条疑似故障链均为正常链,只是在全开所有核时,该至少一条疑似故障链受到故障核的影响,产生异常结果,在关闭其他核,仅开启部分疑似故障链时,可以排除故障核的干扰,从而恢复正常结果。
若该至少一条疑似故障链中存在计算任务失败的链,则说明该至少一条疑似故障链中存在故障链,则关闭该至少一条疑似故障链,再开启其它疑似故障链,检测计算任务的结果。
可选地,在本申请实施例中,可以随机开启N条链中的至少一条疑似故障链,也可以按照N条链的排列顺序,依次开启至少一条疑似故障链,本实施例对至少一条疑似故障链的数量以及开启的顺序不做具体限定。
如图4和图5所示,上述步骤S130可以包括:
S131:采用二分法开启其它链上的核,根据至少一条正常链处理的计算任务的结果,进行故障定位。
具体地,在本申请实施例中,采用二分法开启除至少一条正常链以外其它链中每条链上的核,例如,若至少一条正常链的数量为X,则采用二分法开启N-X条链上的核,其中,1≤X<N,X为正整数。
由于其它链中包括故障核,因此,采用二分法开启其它链中每条链上的核时,可以根据至少一条正常链的计算结果的变化,确定故障芯片的位置。
在一些实施方式中,采用二分法开启其它链上核的过程可以包括:
(1)开启其它链中每条链上前Kj个核,j为正整数。
(2)根据至少一条正常链处理的计算任务的结果,开启其它链中每条链上前Kj+1个核。
(3)若至少一条正常链的计算任务均成功,Kj+1=Kj+Mj+1;若至少一条正常链中存在计算任务失败的链,Kj+1=Kj-Mj+1
其中,K1=M1
Figure BDA0002471301190000131
[]表示取整函数,M1为最接近于M/2的整数。
(4)直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
具体地,若开启其它链中每条链上前Kj个核后,至少一条正常链的计算任务均成功,且开启其它链中每条链上前Kj+1个核后,至少一条正常链中存在计算任务失败的链,则确定M个芯片中第Kj+1个芯片为故障芯片。
若开启其它链中每条链上前Kj个核后,至少一条正常链中存在计算任务失败的链,且开启其它链中每条链上前Kj-1个核后,至少一条正常链的计算任务均成功,则确定M个芯片中第Kj个芯片为故障芯片。
在一些示例中,Mj可以通过上取整函数计算得到,在另一些示例中,Mj也可以通过下取整函数计算得到。
可以理解的是,在本申请实施例中,N条链中每条链上的M个核相互串联,其中,前Kj个核为串联的M个核中的前Kj个核,第Kj个核为串联的M个核中的从前向后的第Kj个核。
还可以理解的是,在本申请实施例中,还可以开启其它链中每条链上后Kj个核,然后根据至少一条正常链的计算任务的结果,开启其它链中每条链上后Kj+1个核,其中,后Kj个核为串联的M个核中的后Kj个核,第Kj个核为串联的M个核中的从后向前的第Kj个核。采用本实施方式的具体技术方案可以参见上下文中开启其它链中每条链上前Kj个核的相关技术方案,此处不再赘述。
下面结合图6,详细说明在开启X条正常链的情况下,采用二分法开启其它N-X条链上核,并确定故障芯片的过程。
如图6所示,首先开启其它N-X条链中每条链上前M1个核,检测X条正常链的计算任务的结果,其中:
Figure BDA0002471301190000141
若开启前M1个核后,X条正常链的计算任务均成功,则开启其它N-X条链中每条链上前M1+M2个核,检测X条正常链的计算任务的结果;
若开启前M1+M2个核后,X条正常链中存在计算任务失败的链,则开启其它N-X条链中每条链上前M1-M2个核,检测X条正常链的计算任务的结果;其中:
Figure BDA0002471301190000142
类似地,若开启前M1+M2个核后,X条正常链的计算任务均成功,则开启其它N-X条链中每条链上前M1+M2+M3个核,检测X条正常链的计算任务的结果。若开启前M1+M2个核后,X条正常链中存在计算任务失败的链,则开启其它N-X条链中每条链上前M1+M2-M3个核,检测X条正常链的计算任务的结果;
若开启前M1-M2个核后,X条正常链的计算任务均成功,则开启其它N-X条链中每条链上前M1-M2+M3个核,检测X条正常链的计算任务的结果。若开启前M1-M2个核后,X条正常链中存在计算任务失败的链,则开启其它N-X条链中每条链上前M1-M2-M3个核,检测X条正常链的计算任务的结果;其中:
Figure BDA0002471301190000143
依次按照上述方法开启其它N-X条链中每条链上前M1±M2±…±Mj±Mj+1个核,并检测X条正常链的计算任务的结果,直至Mj+1=1,即开启其它N-X条链中每条链上M1±M2±…±Mj±1个核后,根据X条正常链的计算任务的结果的变化,确定M个芯片中的故障芯片。
具体地,若W=M1±M2±…±Mj,开启其它N-X条链中每条链上前W个核后,X条正常链的计算任务均成功,且开启其它N-X条链中每条链上前W+1个核后,X条正常链中存在计算任务失败的链,则确定第W+1个芯片为故障芯片。
若开启其它N-X条链中每条链上前W个核后,X条正常链中存在计算任务失败的链,且开启其它N-X条链中每条链上前W-1个核后,X条正常链的计算任务均成功,则确定第W个芯片为故障芯片。
作为示例,图7示出了当M=16,即计算系统包括16个计算芯片时,一种采用二分法检测故障芯片的检测方法。
如图7所示,首先开启其它N-X条链中每条链上前8个核,若X条正常链的计算任务均成功,则开启其它N-X条链中每条链上前12个核;若X条正常链中存在计算任务失败的链,则开启其它N-X条链中每条链上前4个核。
在开启其它N-X条链中每条链上前12个核后,若X条正常链的计算任务均成功,则开启其它N-X条链中每条链上前14个核,若X条正常链的计算任务均成功,则开启其它N-X条链中每条链上前15个核,若X条正常链的计算任务均成功,判断故障芯片为第16个芯片,若X条正常链中存在计算任务失败的链,判断故障芯片为第15个芯片。
类似地,在其它情况下,可以参见图7以及以上描述,可以判断故障芯片在16个芯片中的具体位置,此处对具体过程不再赘述。
在另一些实施方式中,采用二分法开启其它链上的核的过程可以包括:
(1)开启其它链中每条链上第Aj个核至第Bj个核,j为正整数;
(2)根据至少一条正常链处理的计算任务的结果,开启其它链中每条链上第Aj+1个核至第Bj+1个核;
(3)若至少一条正常链的计算任务均成功,Aj+1=Bj+1,Bj+1=Bj+Mj+1;若至少一条正常链中存在计算任务失败的链,Aj+1=Aj,Bj+1=Bj-Mj+1
其中,A1=1,B1=M1
Figure BDA0002471301190000151
(4)直至Mj+1=1,根据至少一条正常链处理的计算任务的结果,进行故障定位。
具体地,若开启其它链中每条链上第Aj个核至第Bj个核后,至少一条正常链的计算任务均成功,且开启其它链中每条链上第Bj+1个核后,至少一条正常链中存在计算任务失败的链,则确定M个芯片中第Bj+1个芯片为故障芯片。
若开启其它链中每条链上第Aj个核至第Bj个核后,至少一条正常链中存在计算任务失败的链,且开启其它链中每条链上第Aj个核至第Bj-1个核后,至少一条正常链的计算任务均成功,则确定M个芯片中第Bj个芯片为故障芯片。
在一些示例中,Mj可以通过上取整函数计算得到,在另一些示例中,Mj也可以通过下取整函数计算得到。
可以理解的是,在本申请实施例中,N条链中每条链上的M个核相互串联,其中,第Aj个核至第Bj个核可以为串联的M个核中从前向后的第Aj个核至第Bj个核,也可以为M个核中从后向前的第Aj个核至第Bj个核。例如,若M=10,其中的第1个核至第3个核可以为10个核中从前向后的第1个核至第3个核,也可以为10个核中从后向前的第1个核至第3个核,即从前向后的第8个核至第10个核。
下面结合图8,详细说明在开启X条正常链的情况下,采用另一种二分法开启其它N-X条链上核,并确定故障芯片的过程。
如图8所示,首先开启其它N-X条链中每条链上第1个核至第M1个核,检测X条正常链的计算任务的结果,其中:
Figure BDA0002471301190000161
若开启第1个核至第M1个核后,X条正常链的计算任务均成功,则开启其它N-X条链中每条链上第M1+1个核至第M1+M2个核,检测X条正常链的计算任务的结果;
若开启第1个核至第M1个核后,X条正常链中存在计算任务失败的链,则开启其它N-X条链中每条链上第1个核至第M1-M2个核,检测X条正常链的计算任务的结果;其中:
Figure BDA0002471301190000162
类似地,若开启第M1+1个核至第M1+M2个核后,X条正常链的计算任务均成功,则开启其它N-X条链中每条链上第M1+M2+1个核至第M1+M2+M3个核,检测X条正常链的计算任务的结果。若开启第M1+1个核至第M1+M2个核后后,X条正常链中存在计算任务失败的链,则开启其它N-X条链中每条链上第M1+1个核至第M1+M2-M3个核,检测X条正常链的计算任务的结果;
若开启第1个核至第M1-M2个核后,X条正常链的计算任务均成功,则开启其它N-X条链中每条链上第M1-M2+1个核至第M1-M2+M3个核,检测X条正常链的计算任务的结果。若开启第1个核至第M1-M2个核后,X条正常链中存在计算任务失败的链,则开启其它N-X条链中每条链上第1个核至第M1-M2-M3个核,检测X条正常链的计算任务的结果;其中:
Figure BDA0002471301190000171
依次按照上述方法开启其它N-X条链中每条链上的核,并检测X条正常链的计算任务的结果,直至Mj+1=1,根据X条正常链的计算任务的结果的变化,确定M个芯片中的故障芯片。
若开启其它链中每条链上第W1个核至第W2个核后,至少一条正常链的计算任务均成功,且开启其它链中每条链上第W2+1个核后,至少一条正常链中存在计算任务失败的链,则确定M个芯片中第W2+1个芯片为故障芯片。
若开启其它链中每条链上第W1个核至第W2个核后,至少一条正常链中存在计算任务失败的链,且开启其它链中每条链上第W1个核至第W2-1个核后,至少一条正常链的计算任务均成功,则确定M个芯片中第W2个芯片为故障芯片。其中,W1=1,或者W1=M1±M2±…±Mj;W2=M1±M2±…±Mj±1。
作为示例,图9示出了当M=16,即计算系统包括16个计算芯片时,另一种采用二分法检测故障芯片的检测方法。
如图9所示,首先开启其它N-X条链中每条链上前8个核,即第1个核至第8个核;若X条正常链的计算任务均成功,则开启其它N-X条链中每条链上第9个核至第12个核;若X条正常链中存在计算任务失败的链,则开启其它N-X条链中每条链上第1个核至第4个核。
在开启其它N-X条链中每条链上第9个核至第12个核后,若X条正常链的计算任务均成功,则开启其它N-X条链中每条链上第13个核至第14个核,在此情况下,若X条正常链的计算任务均成功,则开启其它N-X条链中每条链上第15个核,继续判断X条正常链的计算结果,若X条正常链的计算任务均成功,则判断故障芯片为第16个芯片,若X条正常链中存在计算任务失败的链,则判断故障芯片为第15个芯片。
类似地,在其它情况下,可以参见图9以及以上描述,可以判断故障芯片在16个芯片中的具体位置,此处对具体过程不再赘述。
根据上述图6至图9中的检测方法,最终可以定位至故障芯片具体为M个芯片中的哪个芯片。在实际的生产过程中,可以对定位出来的故障芯片进行维修,从而提高计算系统的生产良率。
进一步地,本申请还提出一种能够定位故障芯片中的故障核的方法,提高故障定位的精度,既能够采用维修的手段对故障核所在的故障芯片进行维修,也可以不采用维修手段,而控制故障芯片中的备用核替代故障核工作,更为快速、便捷的修复故障芯片,提高整个计算系统的算力和正确率。
图10示出了另一种芯片的检测方法100的示意性流程框图。
如图10所示,上述步骤S110可以包括:
S112:全开M个芯片中的核,根据N条链处理的计算任务的结果,确定N条链中的疑似故障链;
S114:仅开启一条疑似故障链,若该一条疑似故障链处理的计算任务失败,确定该一条疑似故障链为故障链;
S115:将N条链中除故障链以外的N-i条链确定为至少一条正常链,其中,1≤i<N,i为正整数。
具体地,在本申请实施例中,全开M个芯片中的核后,根据N条链的计算结果,确定疑似故障链,再在疑似故障链中进行测试,确定出疑似故障链中的故障链。
具体地,仅开启一条疑似故障链,关闭N条链中除该一条疑似故障链以外的其它链上所有的核,并检测该一条疑似故障链处理的计算任务的结果。
若该一条疑似故障链处理的计算任务成功,则可以确定该一条疑似故障链均为正常链,只是在全开所有核时,该一条疑似故障链受到故障核的影响,产生异常结果,在关闭其他核,仅开启该一条疑似故障链时,可以排除故障核的干扰,从而恢复正常结果。
若该一条疑似故障链处理的计算任务失败,则可以确定该一条疑似故障链均为故障链,其中包括故障核。
可选地,在本申请实施例中,可以随机开启N条链中的一条疑似故障链,也可以按照N条链的排列顺序,依次开启一条疑似故障链,本实施例对一条疑似故障链的开启顺序不做具体限定。
确定N条链中的故障链后,在一些实施方式中,可以将N条链中除故障链以外的N-1条链确定为本申请实施例中的至少一条正常链。
在另一些实施方式中,也可以将N条链中除故障链以外的部分链确定为本申请实施例中的至少一条正常链,本申请实施例对至少一条正常链的具体数量不做限定。
如图10所示,上述步骤S130可以包括:
S132:采用二分法开启其它链中的故障链上的核,根据至少一条正常链处理的计算任务的结果,进行故障定位。
具体地,在本申请实施例中,采用二分法开启故障链上的核,并根据至少一条正常链的计算结果的变化,确定故障链上的故障核。
在一些实施方式中,采用二分法开启故障链上核的过程可以包括:
(1)开启故障链上前Kj个核,j为正整数。
(2)根据至少一条正常链处理的计算任务的结果,开启故障链上前Kj+1个核。
(3)若至少一条正常链的计算任务均成功,Kj+1=Kj+Mj+1;若至少一条正常链中存在计算任务失败的链,Kj+1=Kj-Mj+1
其中,K1=M1
Figure BDA0002471301190000191
[]表示取整函数,M1为最接近于M/2的整数。
(4)直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
具体地,若开启故障链上前Kj个核后,至少一条正常链的计算任务均成功,且开启故障链上前Kj+1个核后,至少一条正常链中存在计算任务失败的链,则确定故障链上第Kj+1个核为故障故障。
若开启故障链上前Kj个核后,至少一条正常链中存在计算任务失败的链,且开启故障链上前Kj-1个核后,至少一条正常链的计算任务均成功,则确定故障链上第Kj个核为故障核。
在一些示例中,Mj可以通过上取整函数计算得到,在另一些示例中,Mj也可以通过下取整函数计算得到。
可以理解的是,在本申请实施例中,故障链上的M个核相互串联,其中,前Kj个核为串联的M个核中的前Kj个核,第Kj个核为串联的M个核中的从前向后的第Kj个核。
还可以理解的是,在本申请实施例中,还可以开启故障链上后Kj个核,然后根据至少一条正常链的计算任务的结果,开启故障链上后Kj+1个核,其中,后Kj个核为串联的M个核中的后Kj个核,第Kj个核为串联的M个核中的从后向前的第Kj个核。采用本实施方式的具体技术方案可以参见上下文中开启故障链上前Kj个核的相关技术方案,此处不再赘述。
下面结合图11,说明在开启X条正常链的情况下,采用二分法开启故障链上核,并确定故障核的过程,其中,1≤X<N,X为正整数。
首先开启故障链上前M1个核,检测X条正常链的计算任务的结果,其中:
Figure BDA0002471301190000201
若开启前M1个核后,X条正常链的计算任务均成功,则开启故障链上前M1+M2个核,检测X条正常链的计算任务的结果;
若开启前M1+M2个核后,X条正常链中存在计算任务失败的链,则开启故障链上前M1-M2个核,检测X条正常链的计算任务的结果;其中:
Figure BDA0002471301190000202
类似地,若开启前M1+M2个核后,X条正常链的计算任务均成功,则开启故障链上前M1+M2+M3个核,检测X条正常链的计算任务的结果。若开启前M1+M2个核后,X条正常链中存在计算任务失败的链,则开启故障链上前M1+M2-M3个核,检测X条正常链的计算任务的结果;
若开启前M1-M2个核后,X条正常链的计算任务均成功,则开启故障链上前M1-M2+M3个核,检测X条正常链的计算任务的结果。若开启前M1-M2个核后,X条正常链中存在计算任务失败的链,则开启故障链上前M1-M2-M3个核,检测X条正常链的计算任务的结果;其中:
Figure BDA0002471301190000203
依次按照上述方法开启故障链上前M1±M2±…±Mj±Mj+1个核,并检测X条正常链的计算任务的结果,直至Mj+1=1,即开启故障链上M1±M2±…±Mj±1个核后,根据X条正常链的计算任务的结果的变化,确定故障链上的故障核。
具体地,若W=M1±M2±…±Mj,开启故障链上前W个核后,X条正常链的计算任务均成功,且开启故障链上前W+1个核后,X条正常链中存在计算任务失败的链,则确定故障链上第W+1个核为故障核。
开启故障链上前W个核后,X条正常链中存在计算任务失败的链,且开启故障链上前W-1个核后,X条正常链的计算任务均成功,则确定故障链上第W个核为故障核。
作为示例,图12示出了当M=16,即计算系统包括16个计算芯片时,一种采用二分法检测故障核的检测方法。
如图12所示,首先开启故障链上前8个核,若X条正常链的计算任务均成功,则开启故障链上前12个核;若X条正常链中存在计算任务失败的链,则开启故障链上前4个核。
在开启其它N-X条链中每条链上前12个核后,若X条正常链的计算任务均成功,则开启其它N-X条链中每条链上前14个核,若X条正常链的计算任务均成功,则开启其它N-X条链中每条链上前15个核,若X条正常链的计算任务均成功,判断故障芯片为第16个芯片,若X条正常链中存在计算任务失败的链,判断故障芯片为第15个芯片。
类似地,在其它情况下,可以参见图12以及以上描述,可以判断故障核在故障链中的具体位置,此处对具体过程不再赘述。
通过上文图11和图12的相关描述,可以发现,图11和图12中二分法的执行过程分别与图6和图7中二分法的执行过程类似,差别仅在于,图6和图7的实施例中,采用二分法开启其它N-X条链中每条链上的核,而图11和图12的实施例中,采用二分法开启故障链上的核。除了开启对象略有不同,二分法的原理和过程是相同的。
在另一些实施方式中,另一种二分法开启故障上的核的过程可以包括:
(1)开启故障链上第Aj个核至第Bj个核,j为正整数;
(2)根据至少一条正常链处理的计算任务的结果,开启故障链上第Aj+1个核至第Bj+1个核;
(3)若至少一条正常链的计算任务均成功,Aj+1=Bj+1,Bj+1=Bj+Mj+1;若至少一条正常链中存在计算任务失败的链,Aj+1=Aj,Bj+1=Bj-Mj+1
其中,A1=1,B1=M1
Figure BDA0002471301190000211
(4)直至Mj+1=1,根据至少一条正常链处理的计算任务的结果,进行故障定位。
具体地,若开启故障链上第Aj个核至第Bj个核后,至少一条正常链的计算任务均成功,且开启故障链上第Bj+1个核后,至少一条正常链中存在计算任务失败的链,则确定故障链上第Bj+1个核为故障核。
若开启故障链上第Aj个核至第Bj个核后,至少一条正常链中存在计算任务失败的链,且开启故障链上第Aj个核至第Bj-1个核后,至少一条正常链的计算任务均成功,则确定故障链第Bj个核为故障核。
本申请实施例中的二分法还可以参见上文中图8和图9中二分法的过程,开启故障链上的核,具体方案可以参见上文图8和图9的相关描述,此处不再赘述。
图13示出了另一种芯片的检测方法100的示意性流程框图。
如图13所示,该检测方法100还可以包括以下步骤。
S140:开启M个芯片中除故障核以外的其它核,若N条链中除故障链以外其它链的计算任务均成功,确认该故障核发生故障。
S150:关闭故障链中除故障核外其它核,开启故障核,若N条链中除故障链以外其它链中存在计算任务失败的链,确认该故障核发生故障。
可选地,在本申请实施例中,可以既执行步骤S140,也执行步骤S150,也可以仅执行步骤S140和步骤S150中的一个步骤。该步骤S140和/或步骤S150用于进一步确认通过前述步骤S112至步骤S132定位出来的故障核是否确实发生故障,保证故障定位的准确度。
具体地,在步骤S140中,若N条链中除故障链以外其它链中存在计算任务失败的链,和/或,在步骤S150中,若N条链中除故障链以外其它链的计算任务均成功,则可以重新执行步骤S112至步骤S132,重新对计算系统进行故障定位。
可选地,如图13所示,该检测方法100还可以包括:
S160:控制故障芯片中的备用核替代故障核处理计算任务。
如图14所示,在本申请实施例中,计算系统(例如:处理模块120)的M个芯片中,每个芯片包括一个备用核,当检测出故障芯片中的故障核后,可以通过控制故障芯片中的备用核替代故障核处理计算任务,从而恢复整个故障芯片,乃至整个计算系统的运行,提高计算系统的算力和准确率。
可以理解的是,计算系统中的每个芯片还可以包括多个备用核,以替代多个故障核工作,本申请实施例对备用核的具体数量不做限定。
上文结合图3至图14,详细描述了本申请的芯片检测方法实施例,下文结合图15,详细描述本申请的芯片检测装置实施例,应理解,装置实施例与方法实施例相互对应,类似的描述可以参照方法实施例。图15是根据本申请实施例的芯片的检测装置20的示意性框图。
如图15所示,该芯片的检测装置20包括:控制单元21,用于对包括M个芯片的计算系统进行故障定位,其中,该M个芯片形成有N条链,该N条链中每条链包括分别位于该M个芯片的M个核,每条链上的M个核用于共同处理一个计算任务,其中,M、N为大于1的正整数;
可选地,该控制单元21可以为图1中的控制模块130。
具体地,该控制单元21用于:全开该M个芯片中的核,确定该N条链中的至少一条正常链;开启该至少一条正常链上的核,该N条链中除该至少一条正常链外的其它链上的核关闭;采用二分法开启该其它链中的待检测链上的核,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
在一种可能的实施方式中,该控制单元21具体用于:全开该M个芯片中的核,根据该N条链处理的计算任务的结果,确定该N条链中的疑似故障链;仅开启一条疑似故障链,若该一条疑似故障链处理的计算任务失败,确定该一条疑似故障链为故障链;将该N条链中除该故障链以外的N-i条链确定为该至少一条正常链,其中,1≤i<N,i为正整数。
在一种可能的实施方式中,该待检测链为该故障链;该控制单元21具体用于:采用二分法开启该其它链中的该故障链上的核,根据该至少一条正常链处理的计算任务的结果,确定该故障链上的故障核。
在一种可能的实施方式中,该控制单元21具体用于:开启该故障链上Kj个核,j为正整数;根据该至少一条正常链处理的计算任务的结果,开启该故障链上Kj+1个核;若该至少一条正常链的计算任务均成功,Kj+1=Kj+Mj+1;若该至少一条正常链中存在计算任务失败的链,Kj+1=Kj-Mj+1
其中,K1=M1
Figure BDA0002471301190000231
直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
在一种可能的实施方式中,该控制单元21具体用于:若开启该故障链上Kj个核后,该至少一条正常链的计算任务均成功,且开启该故障链上Kj+1个核后,该至少一条正常链中存在计算任务失败的链,则确定该故障链上第Kj+1个核为故障核;
若开启该故障链上Kj个核后,该至少一条正常链中存在计算任务失败的链,且开启该故障链上Kj-1个核后,该至少一条正常链的计算任务均成功,则确定该故障链上第Kj个核为故障核。
在一种可能的实施方式中,该控制单元21具体用于:开启该故障链上第Aj个核至第Bj个核,j为正整数;根据该至少一条正常链处理的计算任务的结果,开启该故障链上第Aj+1个核至第Bj+1个核;若该至少一条正常链的计算任务均成功,Aj+1=Bj+1,Bj+1=Bj+Mj+1;若该至少一条正常链中存在计算任务失败的链,Aj+1=Aj,Bj+1=Bj-Mj+1
其中,A1=1,B1=M1
Figure BDA0002471301190000241
直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
在一种可能的实施方式中,该控制单元21具体用于:若开启该故障链上第Aj个核至第Bj个核后,该至少一条正常链的计算任务均成功,且开启该故障链上第Bj+1个核后,该至少一条正常链中存在计算任务失败的链,则确定该故障链上第Bj+1个核为故障核;
若开启该故障链上第Aj个核至第Bj个核后,该至少一条正常链中存在计算任务失败的链,且开启该故障链上第Aj个核至第Bj-1个核后,该至少一条正常链的计算任务均成功,则确定该故障链上第Bj个核为故障核。
在一种可能的实施方式中,该控制单元21还用于:开启该M个芯片中除该故障核以外的其它核;若该N条链中除该故障链以外其它链的计算任务均成功,确认该故障核发生故障。
在一种可能的实施方式中,该控制单元21还用于:关闭该故障链中除该故障核外其它核,开启该故障核;若该N条链中除该故障链以外其它链中存在计算任务失败的链,确认该故障核发生故障。
在一种可能的实施方式中,该M个芯片中的每个芯片包括备用核;该控制单元21还用于控制该故障核所在芯片中的备用核替代该故障核处理计算任务。
在一种可能的实施方式中,该控制单元21具体用于:全开该M个芯片中的核,根据该N条链处理的计算任务的结果,确定该N条链中的至少一条正常链。
在一种可能的实施方式中,该控制单元21具体用于:全开该M个芯片中的核,根据该N条链处理的计算任务的结果,确定该N条链中的疑似故障链;开启至少一条疑似故障链,若该至少一条疑似故障链处理的计算任务成功,确定该至少一条疑似故障链为至少一条正常链。
在一种可能的实施方式中,该待检测链为该其它链中的每条链;该控制单元21具体用于:该采用二分法开启该其它链中每条链上的核,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
在一种可能的实施方式中,该控制单元21具体用于:开启该其它链中每条链上Kj个核,j为正整数;根据该至少一条正常链处理的计算任务的结果,开启该其它链中每条链上Kj+1个核;若该至少一条正常链的计算任务均成功,Kj+1=Kj+Mj+1;若该至少一条正常链中存在计算任务失败的链,Kj+1=Kj-Mj+1
其中,K1=M1
Figure BDA0002471301190000251
直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
在一种可能的实施方式中,该控制单元21具体用于:若开启该其它链中每条链上Kj个核后,该至少一条正常链的计算任务均成功,且开启该其它链中每条链上Kj+1个核后,该至少一条正常链中存在计算任务失败的链,则确定该M个芯片中第Kj+1个芯片为故障芯片;
若开启该其它链中每条链上Kj个核后,该至少一条正常链中存在计算任务失败的链,且开启该其它链中每条链上Kj-1个核后,该至少一条正常链的计算任务均成功,则确定该M个芯片中第Kj个芯片为故障芯片。
在一种可能的实施方式中,该控制单元21具体用于:开启该其它链中每条链上第Aj个核至第Bj个核,j为正整数;根据该至少一条正常链处理的计算任务的结果,开启该其它链中每条链上第Aj+1个核至第Bj+1个核;若该至少一条正常链的计算任务均成功,Aj+1=Bj+1,Bj+1=Bj+Mj+1;若该至少一条正常链中存在计算任务失败的链,Aj+1=Aj,Bj+1=Bj-Mj+1
其中,A1=1,B1=M1
Figure BDA0002471301190000252
直至Mj+1=1,根据该至少一条正常链处理的计算任务的结果,进行故障定位。
在一种可能的实施方式中,该控制单元21具体用于:若开启该其它链中每条链上第Aj个核至第Bj个核后,该至少一条正常链的计算任务均成功,且开启该其它链中每条链上第Bj+1个核后,该至少一条正常链中存在计算任务失败的链,则确定该M个芯片中第Bj+1个芯片为故障芯片;
若开启该其它链中每条链上第Aj个核至第Bj个核后,该至少一条正常链中存在计算任务失败的链,且开启该其它链中每条链上第Aj个核至第Bj-1个核后,该至少一条正常链的计算任务均成功,则确定该M个芯片中第Bj个芯片为故障芯片。
在一种可能的实施方式中,该M个芯片中每条链上的M个核相互串联,用于进行哈希运算;
若该M个芯片中一条链的哈希运算结果在预设阈值内,则计算任务成功,若一条链的哈希运算结果在预设阈值外或者未输出计算结果,则计算任务失败。
本申请实施例还提供了一种电子设备,该电子设备可以包括上述本申请各种实施例的芯片的检测装置。可选地,在一种可能的实施方式中,该电子设备可以为图1中的电子设备10。
图16是根据本申请实施例的电子设备2的示意性框图。
如图16所示,该电子设备2包括:上述芯片检测装置20以及包括M个芯片的计算系统21。
具体地,该M个芯片形成有N条链,该N条链中每条链包括分别位于M个芯片的M个核,每条链上的M个核用于共同处理一个计算任务,其中,M、N为大于1的正整数。
芯片检测装置20用于对包括计算系统21进行故障定位。
可选地,该计算系统21可以为图1、图2或者图14中的处理模块120。
可选地,该M个芯片中每条链上的M个核相互串联,用于进行哈希运算;若M个芯片中一条链的哈希运算结果在预设阈值内,则计算任务成功,若一条链的哈希运算结果在预设阈值外或者未输出计算结果,则计算任务失败。
本申请实施例还提供一种芯片检测装置,包括处理器和存储器,该存储器用于存储程序代码,该处理器用于调用该程序代码执行上述方法实施例的芯片检测方法。
本申请实施例还提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机执行上述方法实施例的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(Digital Video Disc,DVD))、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (39)

1.一种芯片的检测方法,其特征在于,应用于包括M个芯片的计算系统,所述M个芯片形成有N条链,所述N条链中每条链包括分别位于所述M个芯片的M个核,每条链上的M个核用于共同处理一个计算任务,其中,M、N为大于1的正整数;所述检测方法包括:
全开所述M个芯片中的核,确定所述N条链中的至少一条正常链;
开启所述至少一条正常链上的核,所述N条链中除所述至少一条正常链外的其它链上的核关闭;
采用二分法开启所述其它链中的待检测链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
2.根据权利要求1所述的检测方法,其特征在于,所述全开所述M个芯片中的核,确定所述N条链中的至少一条正常链,包括:
全开所述M个芯片中的核,根据所述N条链处理的计算任务的结果,确定所述N条链中的疑似故障链;
仅开启一条疑似故障链,若所述一条疑似故障链处理的计算任务失败,确定所述一条疑似故障链为故障链;
将所述N条链中除所述故障链以外的N-i条链确定为所述至少一条正常链,其中,1≤i<N,i为正整数。
3.根据权利要求2所述的检测方法,其特征在于,所述待检测链为所述故障链;
所述采用二分法开启所述其它链中的待检测链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
采用二分法开启所述其它链中的所述故障链上的核,根据所述至少一条正常链处理的计算任务的结果,确定所述故障链上的故障核。
4.根据权利要求3所述的检测方法,其特征在于,所述采用二分法开启所述其它链中的所述故障链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
开启所述故障链上Kj个核,j为正整数;
根据所述至少一条正常链处理的计算任务的结果,开启所述故障链上Kj+1个核;
若所述至少一条正常链的计算任务均成功,Kj+1=Kj+Mj+1;若所述至少一条正常链中存在计算任务失败的链,Kj+1=Kj-Mj+1
其中,K1=M1
Figure FDA0002471301180000021
直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
5.根据权利要求4所述的检测方法,其特征在于,所述直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
若开启所述故障链上Kj个核后,所述至少一条正常链的计算任务均成功,且开启所述故障链上Kj+1个核后,所述至少一条正常链中存在计算任务失败的链,则确定所述故障链上第Kj+1个核为故障核;
若开启所述故障链上Kj个核后,所述至少一条正常链中存在计算任务失败的链,且开启所述故障链上Kj-1个核后,所述至少一条正常链的计算任务均成功,则确定所述故障链上第Kj个核为故障核。
6.根据权利要求3所述的检测方法,其特征在于,所述采用二分法开启所述故障链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
开启所述故障链上第Aj个核至第Bj个核,j为正整数;
根据所述至少一条正常链处理的计算任务的结果,开启所述故障链上第Aj+1个核至第Bj+1个核;
若所述至少一条正常链的计算任务均成功,Aj+1=Bj+1,Bj+1=Bj+Mj+1;若所述至少一条正常链中存在计算任务失败的链,Aj+1=Aj,Bj+1=Bj-Mj+1
其中,A1=1,B1=M1
Figure FDA0002471301180000022
直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
7.根据权利要求6所述的检测方法,其特征在于,所述直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
若开启所述故障链上第Aj个核至第Bj个核后,所述至少一条正常链的计算任务均成功,且开启所述故障链上第Bj+1个核后,所述至少一条正常链中存在计算任务失败的链,则确定所述故障链上第Bj+1个核为故障核;
若开启所述故障链上第Aj个核至第Bj个核后,所述至少一条正常链中存在计算任务失败的链,且开启所述故障链上第Aj个核至第Bj-1个核后,所述至少一条正常链的计算任务均成功,则确定所述故障链上第Bj个核为故障核。
8.根据权利要求3至7中任一项所述的检测方法,其特征在于,所述检测方法还包括:
开启所述M个芯片中除所述故障核以外的其它核;
若所述N条链中除所述故障链以外其它链的计算任务均成功,确认所述故障核发生故障。
9.根据权利要求3至7中任一项所述的检测方法,其特征在于,所述检测方法还包括:
关闭所述故障链中除所述故障核外其它核,开启所述故障核;
若所述N条链中除所述故障链以外其它链中存在计算任务失败的链,确认所述故障核发生故障。
10.根据权利要求3至7中任一项所述的检测方法,其特征在于,所述检测方法还包括:
控制所述故障核所在芯片中的备用核替代所述故障核处理计算任务。
11.根据权利要求1所述的检测方法,其特征在于,所述全开所述M个芯片中的核,确定所述N条链中的至少一条正常链,包括:
全开所述M个芯片中的核,根据所述N条链处理的计算任务的结果,确定所述N条链中的至少一条正常链。
12.根据权利要求1所述的检测方法,其特征在于,所述全开所述M个芯片中的核,确定所述N条链中的至少一条正常链,包括:
全开所述M个芯片中的核,根据所述N条链处理的计算任务的结果,确定所述N条链中的疑似故障链;
开启至少一条疑似故障链,若所述至少一条疑似故障链处理的计算任务成功,确定所述至少一条疑似故障链为至少一条正常链。
13.根据权利要求11或12所述的检测方法,其特征在于,所述待检测链为所述其它链中的每条链;
所述采用二分法开启所述其它链中的待检测链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
所述采用二分法开启所述其它链中每条链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
14.根据权利要求13所述的检测方法,其特征在于,所述采用二分法开启所述其它链中每条链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
开启所述其它链中每条链上前Kj个核,j为正整数;
根据所述至少一条正常链处理的计算任务的结果,开启所述其它链中每条链上前Kj+1个核;
若所述至少一条正常链的计算任务均成功,Kj+1=Kj+Mj+1;若所述至少一条正常链中存在计算任务失败的链,Kj+1=Kj-Mj+1
其中,K1=M1
Figure FDA0002471301180000041
直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
15.根据权利要求14所述的检测方法,其特征在于,所述直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
若开启所述其它链中每条链上前Kj个核后,所述至少一条正常链的计算任务均成功,且开启所述其它链中每条链上前Kj+1个核后,所述至少一条正常链中存在计算任务失败的链,则确定所述M个芯片中第Kj+1个芯片为故障芯片;
若开启所述其它链中每条链上前Kj个核后,所述至少一条正常链中存在计算任务失败的链,且开启所述其它链中每条链上前Kj-1个核后,所述至少一条正常链的计算任务均成功,则确定所述M个芯片中第Kj个芯片为故障芯片。
16.根据权利要求13所述的检测方法,其特征在于,所述采用二分法开启所述其它链中每条链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
开启所述其它链中每条链上第Aj个核至第Bj个核,j为正整数;
根据所述至少一条正常链处理的计算任务的结果,开启所述其它链中每条链上第Aj+1个核至第Bj+1个核;
若所述至少一条正常链的计算任务均成功,Aj+1=Bj+1,Bj+1=Bj+Mj+1;若所述至少一条正常链中存在计算任务失败的链,Aj+1=Aj,Bj+1=Bj-Mj+1
其中,A1=1,B1=M1
Figure FDA0002471301180000042
直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
17.根据权利要求16所述的检测方法,其特征在于,所述直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
若开启所述其它链中每条链上第Aj个核至第Bj个核后,所述至少一条正常链的计算任务均成功,且开启所述其它链中每条链上第Bj+1个核后,所述至少一条正常链中存在计算任务失败的链,则确定所述M个芯片中第Bj+1个芯片为故障芯片;
若开启所述其它链中每条链上第Aj个核至第Bj个核后,所述至少一条正常链中存在计算任务失败的链,且开启所述其它链中每条链上第Aj个核至第Bj-1个核后,所述至少一条正常链的计算任务均成功,则确定所述M个芯片中第Bj个芯片为故障芯片。
18.根据权利要求1所述的检测方法,其特征在于,所述M个芯片中每条链上的M个核相互串联,用于进行哈希运算;
若所述M个芯片中一条链的哈希运算结果在预设阈值内,则计算任务成功,若一条链的哈希运算结果在预设阈值外或者未输出计算结果,则计算任务失败。
19.一种芯片的检测装置,其特征在于,包括控制单元,用于对包括M个芯片的计算系统进行故障定位,其中,所述M个芯片形成有N条链,所述N条链中每条链包括分别位于所述M个芯片的M个核,每条链上的M个核用于共同处理一个计算任务,M、N为大于1的正整数;
所述控制单元用于:全开所述M个芯片中的核,确定所述N条链中的至少一条正常链;
开启所述至少一条正常链上的核,所述N条链中除所述至少一条正常链外的其它链上的核关闭;
采用二分法开启所述其它链中的待检测链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
20.根据权利要求19所述的检测装置,其特征在于,所述控制单元具体用于:
全开所述M个芯片中的核,根据所述N条链处理的计算任务的结果,确定所述N条链中的疑似故障链;
仅开启一条疑似故障链,若所述一条疑似故障链处理的计算任务失败,确定所述一条疑似故障链为故障链;
将所述N条链中除所述故障链以外的N-i条链确定为所述至少一条正常链,其中,1≤i<N,i为正整数。
21.根据权利要求20所述的检测装置,其特征在于,所述待检测链为所述故障链;
所述控制单元具体用于:采用二分法开启所述其它链中的所述故障链上的核,根据所述至少一条正常链处理的计算任务的结果,确定所述故障链上的故障核。
22.根据权利要求21所述的检测装置,其特征在于,所述控制单元具体用于:
开启所述故障链上Kj个核,j为正整数;
根据所述至少一条正常链处理的计算任务的结果,开启所述故障链上Kj+1个核;
若所述至少一条正常链的计算任务均成功,Kj+1=Kj+Mj+1;若所述至少一条正常链中存在计算任务失败的链,Kj+1=Kj-Mj+1
其中,K1=M1
Figure FDA0002471301180000061
直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
23.根据权利要求22所述的检测装置,其特征在于,所述控制单元具体用于:
若开启所述故障链上Kj个核后,所述至少一条正常链的计算任务均成功,且开启所述故障链上Kj+1个核后,所述至少一条正常链中存在计算任务失败的链,则确定所述故障链上第Kj+1个核为故障核;
若开启所述故障链上Kj个核后,所述至少一条正常链中存在计算任务失败的链,且开启所述故障链上Kj-1个核后,所述至少一条正常链的计算任务均成功,则确定所述故障链上第Kj个核为故障核。
24.根据权利要求21所述的检测装置,其特征在于,所述控制单元具体用于:
开启所述故障链上第Aj个核至第Bj个核,j为正整数;
根据所述至少一条正常链处理的计算任务的结果,开启所述故障链上第Aj+1个核至第Bj+1个核;
若所述至少一条正常链的计算任务均成功,Aj+1=Bj+1,Bj+1=Bj+Mj+1;若所述至少一条正常链中存在计算任务失败的链,Aj+1=Aj,Bj+1=Bj-Mj+1
其中,A1=1,B1=M1
Figure FDA0002471301180000071
直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
25.根据权利要求24所述的检测装置,其特征在于,所述控制单元具体用于:
若开启所述故障链上第Aj个核至第Bj个核后,所述至少一条正常链的计算任务均成功,且开启所述故障链上第Bj+1个核后,所述至少一条正常链中存在计算任务失败的链,则确定所述故障链上第Bj+1个核为故障核;
若开启所述故障链上第Aj个核至第Bj个核后,所述至少一条正常链中存在计算任务失败的链,且开启所述故障链上第Aj个核至第Bj-1个核后,所述至少一条正常链的计算任务均成功,则确定所述故障链上第Bj个核为故障核。
26.根据权利要求21至25中任一项所述的检测装置,其特征在于,所述控制单元还用于:
开启所述M个芯片中除所述故障核以外的其它核;
若所述N条链中除所述故障链以外其它链的计算任务均成功,确认所述故障核发生故障。
27.根据权利要求21至25中任一项所述的检测装置,其特征在于,所述控制单元还用于:
关闭所述故障链中除所述故障核外其它核,开启所述故障核;
若所述N条链中除所述故障链以外其它链中存在计算任务失败的链,确认所述故障核发生故障。
28.根据权利要求21至25中任一项所述的检测装置,其特征在于,所述M个芯片中的每个芯片包括备用核;
所述控制单元还用于控制所述故障核所在芯片中的备用核替代所述故障核处理计算任务。
29.根据权利要求19所述的检测装置,其特征在于,所述控制单元具体用于:
全开所述M个芯片中的核,根据所述N条链处理的计算任务的结果,确定所述N条链中的至少一条正常链。
30.根据权利要求19所述的检测装置,其特征在于,所述控制单元具体用于:
全开所述M个芯片中的核,根据所述N条链处理的计算任务的结果,确定所述N条链中的疑似故障链;
开启至少一条疑似故障链,若所述至少一条疑似故障链处理的计算任务成功,确定所述至少一条疑似故障链为至少一条正常链。
31.根据权利要求29或30所述的检测装置,其特征在于,所述待检测链为所述其它链中的每条链;
所述控制单元具体用于:所述采用二分法开启所述其它链中每条链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
32.根据权利要求31所述的检测装置,其特征在于,所述控制单元具体用于:
开启所述其它链中每条链上Kj个核,j为正整数;
根据所述至少一条正常链处理的计算任务的结果,开启所述其它链中每条链上Kj+1个核;
若所述至少一条正常链的计算任务均成功,Kj+1=Kj+Mj+1;若所述至少一条正常链中存在计算任务失败的链,Kj+1=Kj-Mj+1
其中,K1=M1
Figure FDA0002471301180000081
直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
33.根据权利要求32所述的检测装置,其特征在于,所述控制单元具体用于:
若开启所述其它链中每条链上Kj个核后,所述至少一条正常链的计算任务均成功,且开启所述其它链中每条链上Kj+1个核后,所述至少一条正常链中存在计算任务失败的链,则确定所述M个芯片中第Kj+1个芯片为故障芯片;
若开启所述其它链中每条链上Kj个核后,所述至少一条正常链中存在计算任务失败的链,且开启所述其它链中每条链上Kj-1个核后,所述至少一条正常链的计算任务均成功,则确定所述M个芯片中第Kj个芯片为故障芯片。
34.根据权利要求31所述的检测装置,其特征在于,所述控制单元具体用于:
开启所述其它链中每条链上第Aj个核至第Bj个核,j为正整数;
根据所述至少一条正常链处理的计算任务的结果,开启所述其它链中每条链上第Aj+1个核至第Bj+1个核;
若所述至少一条正常链的计算任务均成功,Aj+1=Bj+1,Bj+1=Bj+Mj+1;若所述至少一条正常链中存在计算任务失败的链,Aj+1=Aj,Bj+1=Bj-Mj+1
其中,A1=1,B1=M1
Figure FDA0002471301180000091
直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
35.根据权利要求34所述的检测装置,其特征在于,所述控制单元具体用于:
若开启所述其它链中每条链上第Aj个核至第Bj个核后,所述至少一条正常链的计算任务均成功,且开启所述其它链中每条链上第Bj+1个核后,所述至少一条正常链中存在计算任务失败的链,则确定所述M个芯片中第Bj+1个芯片为故障芯片;
若开启所述其它链中每条链上第Aj个核至第Bj个核后,所述至少一条正常链中存在计算任务失败的链,且开启所述其它链中每条链上第Aj个核至第Bj-1个核后,所述至少一条正常链的计算任务均成功,则确定所述M个芯片中第Bj个芯片为故障芯片。
36.根据权利要求19所述的检测装置,其特征在于,所述M个芯片中每条链上的M个核相互串联,用于进行哈希运算;
若所述M个芯片中一条链的哈希运算结果在预设阈值内,则计算任务成功,若一条链的哈希运算结果在预设阈值外或者未输出计算结果,则计算任务失败。
37.一种电子设备,其特征在于,包括芯片的检测装置和M个芯片;
所述M个芯片形成有N条链,所述N条链中每条链包括分别位于所述M个芯片的M个核,每条链上的M个核用于共同处理一个计算任务,其中,M、N为大于1的正整数;
所述检测装置为如权利要求19至36中任一项所述的检测装置,用于对包括M个芯片的计算系统进行故障定位。
38.根据权利要求37所述的电子设备,其特征在于,所述M个芯片中每条链上的M个核相互串联,用于进行哈希运算;
若所述M个芯片中一条链的哈希运算结果在预设阈值内,则计算任务成功,若一条链的哈希运算结果在预设阈值外或者未输出计算结果,则计算任务失败。
39.一种计算机可读存储介质,其特征在于,用于存储程序代码,所述程序代码用于执行根据权利要求1至18中任一项所述的芯片的检测方法。
CN202010349141.XA 2020-04-28 2020-04-28 芯片的检测方法、检测装置和电子设备 Active CN113568789B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010349141.XA CN113568789B (zh) 2020-04-28 2020-04-28 芯片的检测方法、检测装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010349141.XA CN113568789B (zh) 2020-04-28 2020-04-28 芯片的检测方法、检测装置和电子设备

Publications (2)

Publication Number Publication Date
CN113568789A true CN113568789A (zh) 2021-10-29
CN113568789B CN113568789B (zh) 2024-04-16

Family

ID=78157976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010349141.XA Active CN113568789B (zh) 2020-04-28 2020-04-28 芯片的检测方法、检测装置和电子设备

Country Status (1)

Country Link
CN (1) CN113568789B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115952026A (zh) * 2023-03-15 2023-04-11 燧原智能科技(成都)有限公司 一种虚拟芯片的异常定位方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168834A (zh) * 2017-05-05 2017-09-15 天津市英贝特航天科技有限公司 计算机开机故障的检测方法和装置
US9864004B1 (en) * 2016-03-17 2018-01-09 Cadence Design Systems, Inc. System and method for diagnosing failure locations in electronic circuits
CN109802855A (zh) * 2018-12-28 2019-05-24 华为技术有限公司 一种故障定位方法及装置
CN109901057A (zh) * 2019-04-15 2019-06-18 苏州浪潮智能科技有限公司 一种故障定位方法、装置、设备及存储介质
CN110928799A (zh) * 2019-12-05 2020-03-27 锐捷网络股份有限公司 一种软件故障定位方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9864004B1 (en) * 2016-03-17 2018-01-09 Cadence Design Systems, Inc. System and method for diagnosing failure locations in electronic circuits
CN107168834A (zh) * 2017-05-05 2017-09-15 天津市英贝特航天科技有限公司 计算机开机故障的检测方法和装置
CN109802855A (zh) * 2018-12-28 2019-05-24 华为技术有限公司 一种故障定位方法及装置
CN109901057A (zh) * 2019-04-15 2019-06-18 苏州浪潮智能科技有限公司 一种故障定位方法、装置、设备及存储介质
CN110928799A (zh) * 2019-12-05 2020-03-27 锐捷网络股份有限公司 一种软件故障定位方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115952026A (zh) * 2023-03-15 2023-04-11 燧原智能科技(成都)有限公司 一种虚拟芯片的异常定位方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113568789B (zh) 2024-04-16

Similar Documents

Publication Publication Date Title
Zeng et al. Finite state machine synthesis with concurrent error detection
US10802932B2 (en) Data processing system having lockstep operation
US8930752B2 (en) Scheduler for multiprocessor system switch with selective pairing
CN112015599B (zh) 错误恢复的方法和装置
EP2386960B1 (en) Computer system
US7568138B2 (en) Method to prevent firmware defects from disturbing logic clocks to improve system reliability
US8037350B1 (en) Altering a degree of redundancy used during execution of an application
EP3895018A1 (en) Hardware lockstep checking within a fault detection interval in a system on chip
US20040216003A1 (en) Mechanism for FRU fault isolation in distributed nodal environment
US9514842B2 (en) Memory testing system
US10303566B2 (en) Apparatus and method for checking output data during redundant execution of instructions
US6954886B2 (en) Deterministic hardware reset for FRC machine
CN113568789A (zh) 芯片的检测方法、检测装置和电子设备
US9043584B2 (en) Generating hardware events via the instruction stream for microprocessor verification
US8522076B2 (en) Error detection and recovery in a shared pipeline
EP3629176B1 (en) Fault detection circuit with progress register and status register
US9092333B2 (en) Fault isolation with abstracted objects
Balaz et al. Generic self repair architecture with multiple fault handling capability
US10002057B2 (en) Method and apparatus for managing mismatches within a multi-threaded lockstep processing system
CN113568790B (zh) 芯片的检测方法、检测装置和电子设备
JP2014132384A (ja) マイクコンピュータ及びその制御方法
US5280606A (en) Fault recovery processing for supercomputer
CN113722143A (zh) 一种程序流监控方法、装置、电子设备以及存储介质
JP2022124240A (ja) 診断パターン生成方法及び計算機
US11748221B2 (en) Test error scenario generation for computer processing system components

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