CN113568789A - 芯片的检测方法、检测装置和电子设备 - Google Patents
芯片的检测方法、检测装置和电子设备 Download PDFInfo
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 89
- 238000004364 calculation method Methods 0.000 claims abstract description 314
- 238000000034 method Methods 0.000 claims abstract description 87
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000012360 testing method Methods 0.000 claims description 6
- 230000004807 localization Effects 0.000 claims description 4
- 230000004888 barrier function Effects 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 19
- 230000002159 abnormal effect Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 230000017525 heat dissipation Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010516 chain-walking reaction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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
- G06F11/2242—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 in multi-processor systems, e.g. one processor becoming the test master
-
- 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
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)
- Hardware Redundancy (AREA)
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,
直至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;
直至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,
直至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;
直至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,
(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条正常链的计算任务的结果,其中:
若开启前M1个核后,X条正常链的计算任务均成功,则开启其它N-X条链中每条链上前M1+M2个核,检测X条正常链的计算任务的结果;
若开启前M1+M2个核后,X条正常链中存在计算任务失败的链,则开启其它N-X条链中每条链上前M1-M2个核,检测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条正常链的计算任务的结果。若开启前M1-M2个核后,X条正常链中存在计算任务失败的链,则开启其它N-X条链中每条链上前M1-M2-M3个核,检测X条正常链的计算任务的结果;其中:
依次按照上述方法开启其它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;
(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条正常链的计算任务的结果,其中:
若开启第1个核至第M1个核后,X条正常链的计算任务均成功,则开启其它N-X条链中每条链上第M1+1个核至第M1+M2个核,检测X条正常链的计算任务的结果;
若开启第1个核至第M1个核后,X条正常链中存在计算任务失败的链,则开启其它N-X条链中每条链上第1个核至第M1-M2个核,检测X条正常链的计算任务的结果;其中:
类似地,若开启第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条正常链的计算任务的结果;其中:
依次按照上述方法开启其它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,
(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条正常链的计算任务的结果,其中:
若开启前M1个核后,X条正常链的计算任务均成功,则开启故障链上前M1+M2个核,检测X条正常链的计算任务的结果;
若开启前M1+M2个核后,X条正常链中存在计算任务失败的链,则开启故障链上前M1-M2个核,检测X条正常链的计算任务的结果;其中:
类似地,若开启前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条正常链的计算任务的结果;其中:
依次按照上述方法开启故障链上前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;
(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;
直至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;
直至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;
直至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;
直至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所述的检测方法,其特征在于,所述待检测链为所述故障链;
所述采用二分法开启所述其它链中的待检测链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
采用二分法开启所述其它链中的所述故障链上的核,根据所述至少一条正常链处理的计算任务的结果,确定所述故障链上的故障核。
5.根据权利要求4所述的检测方法,其特征在于,所述直至Mj+1=1,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
若开启所述故障链上Kj个核后,所述至少一条正常链的计算任务均成功,且开启所述故障链上Kj+1个核后,所述至少一条正常链中存在计算任务失败的链,则确定所述故障链上第Kj+1个核为故障核;
若开启所述故障链上Kj个核后,所述至少一条正常链中存在计算任务失败的链,且开启所述故障链上Kj-1个核后,所述至少一条正常链的计算任务均成功,则确定所述故障链上第Kj个核为故障核。
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所述的检测方法,其特征在于,所述待检测链为所述其它链中的每条链;
所述采用二分法开启所述其它链中的待检测链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位,包括:
所述采用二分法开启所述其它链中每条链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
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;
直至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所述的检测装置,其特征在于,所述待检测链为所述故障链;
所述控制单元具体用于:采用二分法开启所述其它链中的所述故障链上的核,根据所述至少一条正常链处理的计算任务的结果,确定所述故障链上的故障核。
23.根据权利要求22所述的检测装置,其特征在于,所述控制单元具体用于:
若开启所述故障链上Kj个核后,所述至少一条正常链的计算任务均成功,且开启所述故障链上Kj+1个核后,所述至少一条正常链中存在计算任务失败的链,则确定所述故障链上第Kj+1个核为故障核;
若开启所述故障链上Kj个核后,所述至少一条正常链中存在计算任务失败的链,且开启所述故障链上Kj-1个核后,所述至少一条正常链的计算任务均成功,则确定所述故障链上第Kj个核为故障核。
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所述的检测装置,其特征在于,所述待检测链为所述其它链中的每条链;
所述控制单元具体用于:所述采用二分法开启所述其它链中每条链上的核,根据所述至少一条正常链处理的计算任务的结果,进行故障定位。
33.根据权利要求32所述的检测装置,其特征在于,所述控制单元具体用于:
若开启所述其它链中每条链上Kj个核后,所述至少一条正常链的计算任务均成功,且开启所述其它链中每条链上Kj+1个核后,所述至少一条正常链中存在计算任务失败的链,则确定所述M个芯片中第Kj+1个芯片为故障芯片;
若开启所述其它链中每条链上Kj个核后,所述至少一条正常链中存在计算任务失败的链,且开启所述其它链中每条链上Kj-1个核后,所述至少一条正常链的计算任务均成功,则确定所述M个芯片中第Kj个芯片为故障芯片。
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中任一项所述的芯片的检测方法。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115952026A (zh) * | 2023-03-15 | 2023-04-11 | 燧原智能科技(成都)有限公司 | 一种虚拟芯片的异常定位方法、装置、设备及存储介质 |
Citations (5)
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 | 锐捷网络股份有限公司 | 一种软件故障定位方法及装置 |
-
2020
- 2020-04-28 CN CN202010349141.XA patent/CN113568789B/zh active Active
Patent Citations (5)
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)
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 |
---|---|---|
US10802932B2 (en) | Data processing system having lockstep operation | |
Zeng et al. | Finite state machine synthesis with concurrent error detection | |
US20160092320A1 (en) | Electronic fault detection unit | |
US20030005380A1 (en) | Method and apparatus for testing multi-core processors | |
US8930752B2 (en) | Scheduler for multiprocessor system switch with selective pairing | |
CN112015599B (zh) | 错误恢复的方法和装置 | |
US8589612B2 (en) | Computer system including an interrupt controller | |
US8671311B2 (en) | Multiprocessor switch with selective pairing | |
US7568138B2 (en) | Method to prevent firmware defects from disturbing logic clocks to improve system reliability | |
EP3895018A1 (en) | Hardware lockstep checking within a fault detection interval in a system on chip | |
US8037350B1 (en) | Altering a degree of redundancy used during execution of an application | |
US9514842B2 (en) | Memory testing system | |
US5978936A (en) | Run time error probe in a network computing environment | |
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 | |
US20110320855A1 (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 | |
CN113568790B (zh) | 芯片的检测方法、检测装置和电子设备 | |
CN116225810A (zh) | 用于双核锁步的周期故障检测修复架构和检测修复方法 | |
JP2014132384A (ja) | マイクコンピュータ及びその制御方法 | |
US5280606A (en) | Fault recovery processing for supercomputer |
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 |