一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

芯片的检测方法、检测装置和电子设备与流程

2021-10-29 20:31:00 来源:中国专利 TAG:芯片 电子设备 检测方法 装置 检测


1.本技术涉及芯片技术领域,并且更为具体的,涉及一种芯片的检测方法、检测装置和电子设备。


背景技术:

2.随着信息技术的发展,在人工智能(artificial intelligence,ai)、数字凭证处理、超算等领域中,对进行数据运算的处理设备的运行效率、运行速度的要求越来越高。
3.目前,为了加快数据处理的速度,采用分布式并行计算(distributed parallel computing)系统进行数据处理以完成计算任务,其中,分布式并行计算系统中包括多个计算芯片,多个芯片中的每个芯片均参与数据运算,以得到最终的计算结果,但是,若多个芯片中存在性能不达标的故障芯片或者故障核,会造成最终的计算结果错误或者没有计算结果输出,影响整个系统的算力以及计算的正确率。
4.因此,如何定位分布式并行计算系统中的故障,提高系统的算力以及计算的正确率,是一项亟待解决的问题。


技术实现要素:

5.本技术实施例提供了一种芯片的检测方法、检测装置和电子设备,能够定位计算系统中的故障,提高计算系统的算力以及计算的正确率。
6.第一方面,提供一种芯片的检测方法,应用于包括m个芯片的计算系统,该m个芯片形成有n条链,该n条链中每条链包括分别位于该m个芯片的m个核,每条链上的m个核用于共同处理一个计算任务,其中,m、n为大于1的正整数;该检测方法包括:全开该m个芯片中的核;关闭该m个芯片中一个芯片中的至少一个核;根据关闭该一个芯片中的至少一个核前后,该n条链中计算任务失败的链的变化情况,进行故障定位。
7.通过本技术实施例的方案,关闭一个芯片中的至少一个核后,可以根据n条链中计算任务失败的链的变化情况,或者也可以根据计算任务成功的链的变化情况判断故障核是否在该芯片中,从而进行故障定位,确定m个芯片中的故障芯片,因此便于在生产阶段对故障芯片进行维修或者更换,提高生产良率。也便于在实际应用阶段,采用其他手段替代故障芯片或者故障核进行计算,提高计算系统的算力和正确率,从而提高计算系统的整体性能。
8.在一种可能的实施方式中,该关闭该m个芯片中一个芯片上的至少一个核,包括:关闭该m个芯片中第一芯片中的第一部分核;该根据关闭该一个芯片中的至少一个核前后,该n条链中计算任务失败的链的变化情况,进行故障定位,包括:根据关闭该第一芯片中的第一部分核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片是否为故障芯片。
9.在一种可能的实施方式中,该根据关闭该第一芯片中的第一部分核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片是否为故障芯片,包括:关闭该第一芯片中的第一部分核前后,若除该第一芯片中的第一部分核所在的链以外,其它链中计算任务
失败的链的数量减少,确定该第一芯片为故障芯片;或者,关闭该第一芯片中的第一部分核前后,若除该第一芯片中的第一部分核所在的链以外,其它链中计算任务失败的链的数量不变,关闭该第一芯片中的第二部分核直到关闭该第一芯片中的最后一部分核,根据关闭该第一芯片中的最后一部分核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片是否为故障芯片。
10.在一种可能的实施方式中,该根据关闭该第一芯片中的最后一部分核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片是否为故障芯片,包括:关闭该第一芯片中的最后一部分核前后,若除该最后一部分核所在的链以外,其它链中计算任务失败的链的数量减少,确定该第一芯片为故障芯片;或者,关闭该第一芯片中的最后一部分核前后,若除该最后一部分核所在的链以外,其它链中计算任务失败的链的数量不变,确定该第一芯片不为故障芯片。
11.在一种可能的实施方式中,若该第一芯片不为故障芯片,该关闭该m个芯片中一个芯片上的至少一个核,还包括:关闭该m个芯片中第二芯片中的第一部分核;该根据关闭该一个芯片中的至少一个核前后,该n条链中计算任务失败的链的变化情况,进行故障定位,还包括:根据关闭该第二芯片中的第一部分核前后,该n条链中计算任务失败的链的变化情况,确定该第二芯片是否为故障芯片。
12.在一种可能的实施方式中,该第一芯片中的每部分核数量相等。
13.在一种可能的实施方式中,该其它条链中计算任务失败的链的数量减少,确定该第一芯片为故障芯片,包括:该其它条链中计算任务失败的链的数量小于预设阈值,确定该第一芯片为故障芯片。
14.在一种可能的实施方式中,该预设阈值等于3。
15.在一种可能的实施方式中,该关闭该m个芯片中一个芯片上的至少一个核,包括:关闭该第一芯片中的第一核;该根据关闭该一个芯片中的至少一个核前后,该n条链中计算任务失败的链的变化情况,进行故障定位,包括:根据关闭该第一芯片中的第一核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片中的第一核是否为故障核。
16.在一种可能的实施方式中,该根据关闭该第一芯片中的第一核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片中的第一核是否为故障核,包括:关闭该第一芯片中的第一核前后,若除该第一芯片中的第一核所在的链以外,该n条链中计算任务失败的链的数量减少,确定该第一核为故障核;或者,关闭该第一芯片中的第一核前后,若除该第一芯片中的第一核所在的链以外,该n条链中计算任务失败的链的数量不变,确定该第一核不为故障核。
17.在一种可能的实施方式中,关闭该第一芯片中的第一核前后,若除该第一芯片中的第一核所在的链以外,该n条链中计算任务失败的链的数量不变,该检测方法还包括:关闭该第一芯片中的第二核直到关闭该第一芯片中的最后一个核;关闭该第一芯片中的最后一个核前后,若除该最后一个核所在的链以外,该n条链中计算任务失败的链的数量减少,确定该最后一个核为故障核;或者,关闭该第一芯片中的最后一个核前后,若除该最后一个核所在的链以外,该n条链中计算任务失败的链的数量不变,确定该最后一个核不为故障核。
18.在一种可能的实施方式中,若确定该最后一个核不为故障核,该检测方法还包括:
关闭该m个芯片中第二芯片中的一个核,根据关闭该第二芯片中的一个核前后,该n条链中计算任务失败的链的变化情况,确定该第二芯片中的一个核是否为故障核。
19.在一种可能的实施方式中,若确定该第一芯片中的一个核为故障核,该检测方法还包括:控制该第一芯片中的备用核替代该故障核处理计算任务。
20.在一种可能的实施方式中,该关闭该m个芯片中一个芯片中的至少一个核,包括:按照排列顺序遍历该m个芯片,以关闭该m个芯片中一个芯片中的至少一个核。
21.在一种可能的实施方式中,该m个芯片中每条链上的m个核相互串联,用于进行哈希运算;若该m个芯片中一条链的哈希运算结果在预设阈值内,则计算任务成功,若一条链的哈希运算结果在预设阈值外或者未输出计算结果,则计算任务失败。
22.第二方面,提供一种芯片的检测装置,包括控制单元,用于对包括m个芯片的计算系统进行故障定位,其中,该m个芯片形成有n条链,该n条链中每条链包括分别位于该m个芯片的m个核,每条链上的m个核用于共同处理一个计算任务,m、n为大于1的正整数;该控制单元用于:全开该m个芯片中的核;关闭该m个芯片中一个芯片中的至少一个核;根据关闭该一个芯片中的至少一个核前后,该n条链中计算任务失败的链的变化情况,进行故障定位。
23.在一种可能的实施方式中,该控制单元具体用于:关闭该m个芯片中第一芯片中的第一部分核;根据关闭该第一芯片中的第一部分核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片是否为故障芯片。
24.在一种可能的实施方式中,该控制单元具体用于:关闭该第一芯片中的第一部分核前后,若除该第一芯片中的第一部分核所在的链以外,其它链中计算任务失败的链的数量减少,确定该第一芯片为故障芯片;或者,关闭该第一芯片中的第一部分核前后,若除该第一芯片中的第一部分核所在的链以外,其它链中计算任务失败的链的数量不变,关闭该第一芯片中的第二部分核直到关闭该第一芯片中的最后一部分核,根据关闭该第一芯片中的最后一部分核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片是否为故障芯片。
25.在一种可能的实施方式中,该控制单元具体用于:关闭该第一芯片中的最后一部分核前后,若除该最后一部分核所在的链以外,其它链中计算任务失败的链的数量减少,确定该第一芯片为故障芯片;或者,关闭该第一芯片中的最后一部分核前后,若除该最后一部分核所在的链以外,其它链中计算任务失败的链的数量不变,确定该第一芯片不为故障芯片。
26.在一种可能的实施方式中,若该第一芯片不为故障芯片,该控制单元还用于:关闭该m个芯片中第二芯片中的第一部分核;根据关闭该第二芯片中的第一部分核前后,该n条链中计算任务失败的链的变化情况,确定该第二芯片是否为故障芯片。
27.在一种可能的实施方式中,该第一芯片中的每部分核数量相等。
28.在一种可能的实施方式中,该控制单元具体用于:该其它条链中计算任务失败的链的数量小于预设阈值,确定该第一芯片为故障芯片。
29.在一种可能的实施方式中,该预设阈值等于3。
30.在一种可能的实施方式中,该控制单元具体用于:关闭该第一芯片中的第一核;根据关闭该第一芯片中的第一核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片中的第一核是否为故障核。
31.在一种可能的实施方式中,该控制单元具体用于:关闭该第一芯片中的第一核前后,若除该第一芯片中的第一核所在的链以外,该n条链中计算任务失败的链的数量减少,确定该第一核为故障核;或者,关闭该第一芯片中的第一核前后,若除该第一芯片中的第一核所在的链以外,该n条链中计算任务失败的链的数量不变,确定该第一核不为故障核。
32.在一种可能的实施方式中,关闭该第一芯片中的第一核前后,若除该第一芯片中的第一核所在的链以外,该n条链中计算任务失败的链的数量不变,该控制单元还用于:关闭该第一芯片中的第二核直到关闭该第一芯片中的最后一个核;关闭该第一芯片中的最后一个核前后,若除该最后一个核所在的链以外,该n条链中计算任务失败的链的数量减少,确定该最后一个核为故障核;或者,关闭该第一芯片中的最后一个核前后,若除该最后一个核所在的链以外,该n条链中计算任务失败的链的数量不变,确定该最后一个核不为故障核。
33.在一种可能的实施方式中,若确定该最后一个核不为故障核,该控制单元还用于:关闭该m个芯片中第二芯片中的一个核,根据关闭该第二芯片中的一个核前后,该n条链中计算任务失败的链的变化情况,确定该第二芯片中的一个核是否为故障核。
34.在一种可能的实施方式中,若确定该第一芯片中的一个核为故障核,该控制单元还用于:控制该第一芯片中的备用核替代该故障核处理计算任务。
35.采用本实施方式的方法,能够定位出故障芯片中的故障核,提高故障定位的精度,既能够采用维修的手段对故障核所在的故障芯片进行维修,也可以不采用维修手段,而采用故障芯片中的备用核替代故障核工作,更为快速、便捷的修复故障芯片,提高整个计算系统的算力和正确率。
36.在一种可能的实施方式中,该控制单元具体用于:按照排列顺序遍历该m个芯片,以关闭该m个芯片中一个芯片中的至少一个核。
37.在一种可能的实施方式中,该m个芯片中每条链上的m个核相互串联,用于进行哈希运算;若该m个芯片中一条链的哈希运算结果在预设阈值内,则计算任务成功,若一条链的哈希运算结果在预设阈值外或者未输出计算结果,则计算任务失败。
38.第三方面,提供一种电子设备,包括芯片的检测装置和m个芯片;该m个芯片形成有n条链,该n条链中每条链包括分别位于该m个芯片的m个核,每条链上的m个核用于共同处理一个计算任务,其中,m、n为大于1的正整数;该检测装置为第二方面或第二方面的任一可能的实施方式中的检测装置,用于对包括m个芯片的计算系统进行故障定位。
39.在一种可能的实施方式中,该m个芯片中每条链上的m个核相互串联,用于进行哈希运算;若该m个芯片中一条链的哈希运算结果在预设阈值内,则计算任务成功,若一条链的哈希运算结果在预设阈值外或者未输出计算结果,则计算任务失败。
40.第四方面,提供一种计算机可读存储介质,其特征在于,用于存储程序代码,该程序代码用于执行第一方面或第一方面的任一可能的实施方式中的检测方法。
附图说明
41.图1是本技术可以适用的电子设备的平面示意图;
42.图2是根据本技术实施例的一种计算系统的示意性结构图;
43.图3是根据本技术实施例的一种芯片的检测方法的示意性流程框图;
44.图4是根据本技术实施例的另一计算系统的示意性结构图;
45.图5是根据本技术实施例的另一芯片的检测方法的示意性流程框图;
46.图6是根据本技术实施例的另一芯片的检测方法的示意性流程框图;
47.图7是根据本技术实施例的另一计算系统的示意性结构图;
48.图8是根据本技术实施例的一种芯片的检测装置的示意性框图;
49.图9是根据本技术实施例的一种电子设备的示意性框图。
具体实施方式
50.下面将结合附图,对本技术实施例中的技术方案进行描述。
51.应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本技术实施例,而非限制本技术实施例的范围。
52.还应理解,在本技术的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
53.还应理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本技术实施例对此并不限定。
54.除非另有说明,本技术实施例所使用的所有技术和科学术语与本技术的技术领域的技术人员通常理解的含义相同。本技术中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本技术的范围。本技术所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。
55.首先,介绍能够执行本技术实施例提供的电子设备的逻辑结构。
56.该电子设备可以为数字凭证的处理设备,也可以为其它用于针对专用业务进行运算处理的电子设备,例如计算服务器、通信设备、高性能个人计算机、超算设备等等,本技术实施例对此不做限定。
57.如图1所示,电子设备10可以包括电源模块110、处理模块120、控制模块130、存储模块140、接口模块150以及散热模块160。应当理解,电子设备10的组件可以比图示具有更少或更多的组件,或者具有不同的组件配置。图1所示的各种组件可以用硬件、软件或软硬件的组合来实现,包括一个或多个信号处理和/或专用集成电路。
58.电源模块110用于为电子设备10中的其它模块提供电源,可以包括交流-直流转换器(ac to dc converter)、直流-直流转换器(dc to dc converter)以及低压差线性稳压器(low dropout regulator,ldo),用于输出不同的直流电压,以满足不同芯片和电路的电压需求。
59.处理模块120为用于专用计算的计算处理模块,其可以包括多个用于运行计算的计算芯片。当电子模块10为数字凭证的处理设备时,该处理模块120可以包括一块或者多块算力板(也称之为运算板),多个芯片(chip),也称为集成电路(integrated circuit,ic)呈阵列排列在一块或者多块算力板的电路板(printed circuit board,pcb)上,用于进行哈希(hash)运算求解哈希值,从而获取数字凭证。
60.在算力板上,多个芯片的数据线串联连接,前一个芯片的运算结果通过数据线传输给后一个芯片,作为后一个芯片的输入,后一个芯片基于该输入继续进行数据运算。因
此,多个芯片共同运算得到的数据通过该数据线传输给控制模块130。
61.此外,在算力板上,多个芯片分布在多个电压域上,而不是分布在同一个电压域上,同一个电压域上的芯片并联连接,不同的电压域串联连接。采用该多个电压域的设计方式,使得不同电压域上的芯片不相互影响,提高多个芯片工作的稳定性和可靠性。
62.可选地,该算力板上的芯片可以为计算芯片或者其它专用类型的芯片,例如可以为专用集成电路(application specific integrated circuit,asic)芯片、图形处理器(graphics processing unit,gpu)芯片、中央处理器(central processing unit,cpu)芯片、现场可编程门阵列(field programmable gate array,fpga)芯片中的任意一种,本技术实施例对此不做限定。
63.可选地,算力板上的计算芯片可以为多核(core)芯片,计算芯片之间,或者说计算芯片的核之间通过串行器/解串器(serializer/deserializer,serdes)接口进行连接以传输数据,提高数据传输效率。且通过多核芯片进行数据运算,能够并行处理多个计算任务,从而提高数据处理的效率,提高算力板的算力。
64.控制模块130可以为一种控制板,包括一种系统级芯片(system on a chip,soc),用于连接控制电子设备10中的其它模块,保证各个模块间的有序进行和数据通信。该控制模块130可以包括微控制器(microcontroller unit,mcu),微处理器(microprocessor),数字信号处理器(digital signal processor,dsp)、模拟数字转换器(analog-to-digital converter,adc)、数字模拟转换器(digital to analog converter,dac)以及提供时间脉冲信号的振荡器(electronic oscillator)和锁相环电路(phase locked loops,pll)等等。
65.其中,控制模块130可以通过锁相环等时钟电路产生不同的时钟信号,从而控制处理模块120中的多个芯片工作在不同的工作频率。此外,控制模块130还可以通过微控制器以及微处理器等电路产生测试数据,并传输给处理模块120中的多个芯片,并接收多个芯片产生的随机数据并进行处理。换言之,控制模块130可以用于控制处理模块120中多个芯片的工作以及接收处理该多个芯片的数据。
66.此外,控制模块130还可以通过网口与外部网络连接,通过网络设置控制模块130,从而控制电子设备10的运行。
67.存储模块140可以包括一个或多个双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram),闪存(flash)等存储单元,用于存储运算中的数据以及软件程序等等。其中,软件程序用于控制电子设备10中的硬件模块运行。
68.具体地,存储模块140中的软件程序包括操作系统(operating system,os)以及通信指令集等等,其中,操作系统用于控制和管理常规系统任务,例如内存管理、存储控制以及电源管理等等,以及有助于各种软硬件之间通信的各种软件组件和/或驱动器。该操作系统包括但不限于:linux,unix,windows或者vxworks等嵌入式操作系统。通信指令集包括用于处理经过接口模块150接收的数据的软件组件,有助于经接口模块与其它设备进行通信。
69.接口模块150可以包括不同的连线接口,例如通用串行总线(universal serial bus,usb)、以太网(ethernet,eth)、通用异步收发传输(universal asynchronous receiver/transmitter,uatr)和串行外设接口(serial peripheral interface bus,spi)等,用于直接或者经网络连接多种不同的外部设备。
70.此外,电子设备10还包括散热模块160,该散热模块160可以为风扇(fan),水冷系统或者其它用于对电子设备10散热的装置。电源模块110用于给该散热模块160供电,并且控制模块130用于控制该散热模块160工作。
71.在电子设备10中,对计算任务的处理速度和处理能力取决于处理模块120。特别地,在数字凭证的处理设备中,该设备的系统性能绝大部分取决于算力板的算力和计算正确率。算力板上每一个芯片,乃至每一个核都会影响算力板的算力和计算正确率,从而影响设备整体的系统性能。
72.图2示出了一种包括多个多核芯片的计算系统,该计算系统可以为上述处理模块120,具体可以为一块算力板。
73.如图2所示,计算系统包括m个计算芯片,每个计算芯片包括n个核,m个芯片中m个核相互串联,形成一条链,因而该m个芯片形成有n条链,n条链中每条链上的m个核用于共同处理一个计算任务,其中,m、n为大于1的正整数。
74.具体地,一条链上,前一个核的数据线连接至下一个核中,若前一个核发生异常,无法输出计算结果或者输出的计算结果错误,则会造成下一个核也无法输出计算结果或者输出的计算结果错误,因此,在本技术实施例中,若一条链上存在一个核发生异常,则位于该核之后的全部核均会发生异常,从而导致该条链为一条异常链,无法输出计算结果或者输出的计算结果错误,造成该条链的计算任务失败。换言之,当且仅当一条链上的全部核均为正常核,均能够输出正确的计算结果时,该条链才为一条正常链,能够输出正确的计算结果,处理的计算任务成功。
75.具体地,上述发生异常的核可能为故障核,即硬件性能不达标的核,其运行结果必然会产生异常。此外,上述发生异常的核也可能为受到故障核影响而发生异常的正常核,此处,可以将其称之为疑似故障核,该疑似故障核为硬件性能达标的核,其与故障核位于同一芯片中,在其单独运行的情况下,可以输出正确的计算结果,但若与故障核共同运行,则会受到故障核的影响,输出错误的计算结果或者不输出计算结果。
76.因此,若计算系统中存在一个故障核,该故障核引发其所在芯片中的正常核发生异常,形成疑似故障核,造成疑似故障核和故障核所在的多条链均发生异常,导致多条链的计算任务失败,进而极大的影响了计算系统整体的算力以及正确率。
77.基于上述问题,本技术提出一种芯片的检测方法、检测装置以及电子设备,能够检测定位计算系统中故障芯片乃至故障核的位置,在计算系统的生产制造过程中,便于维修该故障芯片或者故障核,提高计算系统的生产良率。在实际的使用过程中,能够采用备用核取代故障核进行数据运算,提高计算系统的算力和正确率,提升计算系统的整体性能。
78.图3示出了一种芯片的检测方法100的示意性流程框图。
79.该芯片的检测方法100适用于上述图2中的包括m个芯片的计算系统。
80.该检测方法的执行主体可以为一种控制装置或者检测装置,用于获取上述计算系统中m个芯片的计算结果,例如,该检测方法的执行主体可以为上述图1中的控制模块130,在控制计算系统中m个芯片运行的同时,还可以检测m个芯片的运行结果。
81.如图3所示,该芯片的检测方法100可以包括以下步骤。
82.s110:全开m个芯片中的核。
83.s120:关闭m个芯片中一个芯片上的至少一个核。
84.s130:根据关闭至少一个核前后,n条链中计算任务失败的链的变化情况,进行故障定位。
85.在本技术实施例中,检测装置可以控制m个芯片中的每个核开启或关闭,n条链用于运行计算n个计算任务,例如,可以用于执行哈希运算,得到n个计算结果。检测装置可以检测该n条链中每条链的计算结果,换言之,该n条链中每条链的计算结果可以输出或者返回给检测装置。
86.具体地,全开m个芯片中的核时,其中的故障核可能会引起其所在的芯片中的一部分正常核发生异常,而另一部分正常核不会受到故障核的影响,则此时,n条链中存在部分正常链和部分异常链。
87.在另一些情况下,故障核也可能会引起所在的芯片中全部正常核发生异常,则此时,n条链全部为计算任务失败的异常链。
88.全开m个芯片中的核,检测n条链的计算结果,确定其中计算任务成功的正常链和计算任务失败的异常链后,关闭其中一个芯片上的至少一个核后,再次检测n条链的计算结果,检测其中计算任务成功的链以及计算任务失败的链。
89.若关闭的至少一个核中存在故障核,则关闭该至少一个核后,该至少一个核中的故障核对其所在芯片中其它正常核的影响消失,使得之前发生异常的正常核恢复正常,因此,之前发生异常的链也恢复正常,在n条链中,除了该至少一个核所在的链无法输出计算结果以外,其它链中的正常链数量增多,异常链数量减少。在一些情况下,其它链均为正常链,异常链的数量减少为0。
90.若关闭的至少一个核中不存在故障核,则关闭该至少一个核后,计算系统的故障核仍在运行,仍然会对其所在芯片中其它正常核产生影响,之前的异常链处理的计算任务仍然失败,在n条链中,除了该至少一个核所在的链无法输出计算结果以外,其它链中的异常链数量不变。
91.作为示例,如图4所示,全开m个芯片中的核之后,若芯片1中的核1为故障核,则该核1会影响其所在的链1计算任务失败,形成一条异常链,表现为无计算结果输出或者输出错误的计算结果。且与此同时,该核1也会影响芯片1中的其它部分核,例如核n出现异常,造成链n的计算任务也失败,表现为无计算结果输出或者输出错误的计算结果。
92.关闭该故障核核1后,链1无法输出计算结果,但与此同时,该故障核核1对芯片1中其它核的影响也消失,例如,对核n的影响消失,使得核n恢复正常,链n的计算任务成功。
93.因此,通过本技术实施例的方案,关闭一个芯片中的至少一个核后,可以根据n条链中计算任务失败的链的变化情况,或者也可以根据计算任务成功的链的变化情况判断故障核是否在该芯片中,从而进行故障定位,确定m个芯片中的故障芯片,因此便于在生产阶段对故障芯片进行维修或者更换,提高生产良率。也便于在实际应用阶段,采用其他手段替代故障芯片或者故障核进行计算,提高计算系统的算力和正确率,从而提高计算系统的整体性能。
94.图5示出了另一种芯片的检测方法100的示意性流程框图。
95.如图5所示,上述步骤s120包括:
96.s121:关闭m个芯片中第一芯片(一个芯片的一例)中的第一部分核。
97.该第一芯片可以为m个芯片中任意一个芯片,本技术实施例对该第一芯片的具体
位置不做具体限定。
98.在本技术实施例中,第一芯片中包括n个芯片,第一芯片中第一部分核的数量为x,其中,1≤x<n,x为正整数,本技术实施例对第一部分核的数量以及第一部分核在第一芯片中的位置不做具体限定。
99.上述步骤s130可以包括以下步骤。
100.s131:若关闭第一芯片中的第一部分核前后,除第一部分核所在的链以外,其它链中计算任务失败的链的数量减少。
101.s132:确定第一芯片为故障芯片。
102.具体地,参见上述s130中的描述,在关闭第一芯片中第一部分核前,即全开m个芯片中的核时,n条链中包括部分正常链以及部分异常链。若关闭该第一部分核后,在n条链中,除了该第一部分核所在的x条链无法输出计算结果以外,其它n-x条链中的正常链数量增多,异常链数量减少,则可以确定故障核位于该第一芯片的第一部分核中,该第一芯片为故障芯片。
103.可选地,在本技术实施例中,若其它n-x条链中异常链的数量小于预设阈值,确定故障核位于第一部分核中,第一芯片为故障芯片。其中,该预设阈值包括但不限于是3,本技术实施例对具体的预设阈值不做限定。
104.s133:若关闭第一芯片中的第一部分核前后,除第一部分核所在的链以外,其它链中计算任务失败的链的数量不变。
105.具体地,参见上述s130的描述,若关闭该第一部分核后,在n条链中,除了该第一部分核所在的y条链无法输出计算结果以外,其它n-x条链中的异常链和正常链的数量不变,则可以确定该第一部分核中不存在故障核。
106.s134:关闭第一芯片中第二部分核。
107.s135:根据关闭第一芯片中第二部分核前后,其它链中计算任务失败的链的变化情况,进行故障定位。
108.若第一芯片中的第一部分核中不存在故障核,则继续关闭该第一芯片中第二部分核,确定故障核是否在第二部分核中,具体地,该第二部分核的数量为y,其中,1≤y<n,y为正整数,本技术实施例对第二部分核的数量以及第二部分核在第一芯片中的位置不做具体限定。
109.类似地,若关闭该第二部分核后,在n条链中,除了该第二部分核所在的y条链无法输出计算结果以外,其它n-y条链中的正常链数量增多,异常链数量减少,则可以确定故障核位于该第一芯片的第二部分核中,确定该第一芯片为故障芯片。可选地,若其它n-y条链中异常链的数量小于预设阈值,确定故障核位于第二部分核中,第一芯片为故障芯片。
110.若关闭该第二部分核后,在n条链中,除了该第二部分核所在的y条链无法输出计算结果以外,其它n-y条链中的异常链和正常链的数量不变,则可以确定该第二部分核中不存在故障核。
111.同样地,在确定第二部分核中不存在故障核的情况下,可以继续对第一芯片中的第三部分核进行故障定位,直到确定第一芯片为故障芯片或者第一芯片中的全部核完成故障定位为止。
112.此处需要说明的是,若通过步骤s133和步骤s134确定故障核不在第一芯片中的第
一部分核之后,可以重新开启该第一部分核,再关闭第二部分核;换言之,在步骤s134中,关闭第一芯片中第二部分核时,第一芯片中除第二部分核以外的其他核开启。
113.可选地,上述第一部分核的数量x和第二部分核的数量y可以相等也可以不相等,本技术实施例对此不做具体限定。
114.采用上述方法,直到对第一芯片中的最后一部分核进行故障定位,换言之直到对第一芯片中的全部核进行故障定位后,确定第一芯片是否为故障芯片。具体地,该最后一部分核的数量为z,其中,1≤z<n,z为正整数,本技术实施例对最后一部分核的数量以及最后一部分核在第一芯片中的位置同样不做具体限定。
115.具体地,对第一芯片中的最后一部分核进行故障定位的过程可以参见以上对第一芯片中第一部分核进行故障定位的过程,关闭第一芯片中的最后一部分核前后,若除最后一部分核所在的z条链以外,其它n-z条链中计算任务失败的链的数量减少,确定第一芯片为故障芯片;若除最后一部分核所在的z条链以外,其它n-z条链中计算任务失败的链的数量不变,确定第一芯片不为故障芯片。
116.一些情况下,在上述方法实施例中,可以第一芯片中的n个核等分成多部分,每部分包括相同数量的核,换言之,上述第一部分核的数量x、第二部分核的数量y以及最后一部分核的数量z均相等。例如,若n=16,则可以将16个核等分为4部分,每部分包括4个核,每次关闭第一芯片中的4个核,对该4个核进行故障定位,检测除该4个核所在的4条链外,其它12条链中计算失败的链的数量是否发生变化,从而确定第一芯片是否为故障芯片。
117.在对第一芯片中的全部核进行故障定位后,可以继续采用上述方法对m个芯片中的第二芯片进行故障定位,确定第二芯片是否为故障芯片,直至依次对m个芯片中的每个芯片都按照上述方法进行故障定位,检测出m个芯片中的故障芯片。其中,第二芯片为m个芯片中除第一芯片外的其它任意核。
118.作为示例,可以按照排列顺序依次对m个芯片中的每个芯片进行故障定位,即上述第一芯片可以为串联的m个芯片中的第一个芯片,第二芯片可以为串联的m个芯片中的第二个芯片。当然,本技术实施例中的检测顺序包括但不限于是排列顺序,还可以采用随机顺序、倒排列顺序等等其它任意顺序对m个芯片进行故障定位,本技术实施例对此不做具体限定。
119.采用本技术实施例的方法,能够在生产制造阶段,定位出计算系统中的故障芯片,从而对该故障芯片进行维修,提高生产的良率。
120.图6示出了另一种芯片的检测方法100的示意性流程框图。
121.如图6所示,上述步骤s121包括:
122.s1211:关闭m个芯片中第一芯片中的第一核。
123.在本技术实施例中,第一核可以理解为上述图5所示的方法中第一部分核的数量为1。该第一核可以为第一芯片的n个核中的任意一个核,本技术实施例对该第一核在第一芯片中的具体位置不做具体限定。
124.上述步骤s131和步骤s132包括:
125.s1311:若关闭第一芯片中的第一核前后,除第一核所在的链以外,其它链中计算任务失败的链的数量减少。
126.s1321:确定第一核为故障核。
127.参见上述s132中的描述,在关闭第一芯片中第一核前,即全开m个芯片中的核时,n条链中包括部分正常链以及部分异常链。若关闭该第一核后,在n条链中,除了该第一核所在的链无法输出计算结果以外,其它n-1条链中的正常链数量增多,异常链数量减少,则可以确定第一核即为故障核,且第一芯片为故障芯片。
128.可选地,在本技术实施例中,若其它n-1条链中异常链的数量小于预设阈值,确定第一核为故障核。其中,该预设阈值包括但不限于是3,本技术实施例对具体的预设阈值不做限定。
129.上述步骤s133至步骤s135包括:
130.s1331:若关闭第一芯片中的第一核前后,除第一部分核所在的链以外,其它链中计算任务失败的链的数量不变。
131.具体地,参见上述s133的描述,若关闭该第一部分核后,在n条链中,除了该第一核所在的链无法输出计算结果以外,其它n-1条链中的异常链和正常链的数量不变,则可以确定该第一核不是故障核。
132.s1341:关闭第一芯片中第二核。
133.s1351:根据关闭第一芯片中第二核前后,n条链中计算任务失败的链的变化情况,进行故障定位。
134.若第一芯片中的第一核中不存在故障核,则继续关闭该第一芯片中第二核,确定第二核是否为故障核。
135.在本技术实施例中,第二核可以理解为上述图5所示的方法中第二部分核的数量为1。该第二核可以为第一芯片的n个核中除第一核以外的任意一个核,本技术实施例对该第二核在第一芯片中的具体位置也不做具体限定。
136.类似地,若关闭该第二核后,在n条链中,除了该第二核所在的链无法输出计算结果以外,其它n-1条链中的正常链数量增多,异常链数量减少,则可以确定第二核为故障核。可选地,若其它n-1条链中异常链的数量小于预设阈值,确定第二核为故障核。
137.若关闭该第二核后,在n条链中,除了该第二核所在的链无法输出计算结果以外,其它链中的异常链和正常链的数量不变,则可以确定该第二核不是故障核。
138.同样地,在确定第二核中不是故障核的情况下,可以继续对第一芯片中的第三核进行故障定位,直到确定第一芯片中的故障核或者第一芯片中的全部核完成故障定位为止。
139.采用上述方法,直到对第一芯片中的最后一个核进行故障定位,换言之直到对第一芯片中的全部核进行故障定位后,确定第一芯片是否包括故障核,具体地,对第一芯片中的最后一个核进行故障定位的过程可以参见以上对第一芯片中第一个核进行故障定位的过程,此处不再赘述。
140.在对第一芯片中的全部核进行故障定位后,可以继续采用上述方法对m个芯片中的第二芯片进行故障定位,确定第二芯片中是否包括故障核,直至依次对m个芯片中的每个芯片都按照上述方法进行故障定位,检测出m个芯片中的故障核。其中,第二芯片为m个芯片中除第一芯片外的其它任意核。
141.作为示例,可以按照排列顺序依次对m个芯片中的每个芯片进行故障定位,即上述第一芯片可以为串联的m个芯片中的第一个芯片,第二芯片可以为串联的m个芯片中的第二
个芯片。当然,本技术实施例中的检测顺序包括但不限于是排列顺序,还可以采用随机顺序、倒排列顺序等等其它任意顺序对m个芯片进行故障定位,本技术实施例对此不做具体限定。
142.可选地,如图6所示,该检测方法100还可以包括:
143.s140:控制第一芯片中的备用核替代第一核处理计算任务。
144.如图7所示,在本技术实施例中,计算系统的m个芯片中,每个芯片包括一个备用核,当检测出故障核后,可以通过控制故障所在芯片中的备用核替代故障核处理计算任务,从而恢复整个故障芯片,乃至整个计算系统的运行,提高计算系统的算力和准确率。
145.具体地,若通过上文中的故障定位方法定位出第一芯片中的第一核为故障核,则控制第一芯片中的备用核替代该第一核处理计算任务。同样的,若是定位出第一芯片中的其他核为故障核,则控制第一芯片中的备用核替代该其它核处理计算任务,或者是,若是定位出第二芯片或者其它芯片中的核为故障核,则控制第二芯片或者其它芯片中的备用核替代该故障核处理计算任务。
146.可以理解的是,计算系统中的每个芯片还可以包括多个备用核,以替代多个故障核工作,本技术实施例对备用核的具体数量不做限定。
147.采用本技术实施例的方法,除了能够在生产制造阶段,定位出计算系统中的故障芯片,从而对该故障芯片进行维修,提高生产的良率以外,还可以在实际的应用阶段,利用故障芯片中的备用核替代故障核进行任务计算,从而可以提高计算系统的算力和正确率。
148.上文结合图3至图7,详细描述了本技术的芯片检测方法实施例,下文结合图8,详细描述本技术的芯片检测装置实施例,应理解,装置实施例与方法实施例相互对应,类似的描述可以参照方法实施例。图8是根据本技术实施例的芯片的检测装置20的示意性框图。
149.如图8所示,该芯片的检测装置20包括:控制单元21,用于对包括m个芯片的计算系统进行故障定位,其中,该m个芯片形成有n条链,该n条链中每条链包括分别位于该m个芯片的m个核,每条链上的m个核用于共同处理一个计算任务,其中,m、n为大于1的正整数;
150.可选地,该控制单元21可以为图1中的控制模块130。
151.具体地,该控制单元21用于:全开该m个芯片中的核;关闭该m个芯片中一个芯片中的至少一个核;根据关闭该一个芯片中的至少一个核前后,该n条链中计算任务失败的链的变化情况,进行故障定位。
152.在一种可能的实施方式中,该控制单元21具体用于:关闭该m个芯片中第一芯片中的第一部分核;根据关闭该第一芯片中的第一部分核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片是否为故障芯片。
153.在一种可能的实施方式中,该控制单元21具体用于:关闭该第一芯片中的第一部分核前后,若除该第一芯片中的第一部分核所在的链以外,其它链中计算任务失败的链的数量减少,确定该第一芯片为故障芯片;或者,
154.关闭该第一芯片中的第一部分核前后,若除该第一芯片中的第一部分核所在的链以外,其它链中计算任务失败的链的数量不变,关闭该第一芯片中的第二部分核直到关闭该第一芯片中的最后一部分核,根据关闭该第一芯片中的最后一部分核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片是否为故障芯片。
155.在一种可能的实施方式中,该控制单元21具体用于:关闭该第一芯片中的最后一
部分核前后,若除该最后一部分核所在的链以外,其它链中计算任务失败的链的数量减少,确定该第一芯片为故障芯片;或者,
156.关闭该第一芯片中的最后一部分核前后,若除该最后一部分核所在的链以外,其它链中计算任务失败的链的数量不变,确定该第一芯片不为故障芯片。
157.在一种可能的实施方式中,若该第一芯片不为故障芯片,该控制单元21还用于:关闭该m个芯片中第二芯片中的第一部分核;根据关闭该第二芯片中的第一部分核前后,该n条链中计算任务失败的链的变化情况,确定该第二芯片是否为故障芯片。
158.在一种可能的实施方式中,该第一芯片中的每部分核数量相等。
159.在一种可能的实施方式中,该控制单元21具体用于:该其它条链中计算任务失败的链的数量小于预设阈值,确定该第一芯片为故障芯片。
160.在一种可能的实施方式中,该预设阈值等于3。
161.在一种可能的实施方式中,该控制单元21具体用于:关闭该第一芯片中的第一核;根据关闭该第一芯片中的第一核前后,该n条链中计算任务失败的链的变化情况,确定该第一芯片中的第一核是否为故障核。
162.在一种可能的实施方式中,该控制单元21具体用于:关闭该第一芯片中的第一核前后,若除该第一芯片中的第一核所在的链以外,该n条链中计算任务失败的链的数量减少,确定该第一核为故障核;或者,
163.关闭该第一芯片中的第一核前后,若除该第一芯片中的第一核所在的链以外,该n条链中计算任务失败的链的数量不变,确定该第一核不为故障核。
164.在一种可能的实施方式中,关闭该第一芯片中的第一核前后,若除该第一芯片中的第一核所在的链以外,该n条链中计算任务失败的链的数量不变,该控制单元21还用于:关闭该第一芯片中的第二核直到关闭该第一芯片中的最后一个核;关闭该第一芯片中的最后一个核前后,若除该最后一个核所在的链以外,该n条链中计算任务失败的链的数量减少,确定该最后一个核为故障核;或者,
165.关闭该第一芯片中的最后一个核前后,若除该最后一个核所在的链以外,该n条链中计算任务失败的链的数量不变,确定该最后一个核不为故障核。
166.在一种可能的实施方式中,若确定该最后一个核不为故障核,该控制单元21还用于:关闭该m个芯片中第二芯片中的一个核,根据关闭该第二芯片中的一个核前后,该n条链中计算任务失败的链的变化情况,确定该第二芯片中的一个核是否为故障核。
167.在一种可能的实施方式中,若确定该第一芯片中的一个核为故障核,该控制单元21还用于:控制该第一芯片中的备用核替代该故障核处理计算任务。
168.在一种可能的实施方式中,该控制单元21具体用于:按照排列顺序遍历该m个芯片,以关闭该m个芯片中一个芯片中的至少一个核。
169.在一种可能的实施方式中,该m个芯片中每条链上的m个核相互串联,用于进行哈希运算;若该m个芯片中一条链的哈希运算结果在预设阈值内,则计算任务成功,若一条链的哈希运算结果在预设阈值外或者未输出计算结果,则计算任务失败。
170.本技术实施例还提供了一种电子设备,该电子设备可以包括上述本技术各种实施例的芯片的检测装置。可选地,在一种可能的实施方式中,该电子设备可以为图1中的电子设备10。
171.图9是根据本技术实施例的电子设备2的示意性框图。
172.如图9所示,该电子设备2包括:上述芯片检测装置20以及包括m个芯片的计算系统21。
173.具体地,该m个芯片形成有n条链,该n条链中每条链包括分别位于m个芯片的m个核,每条链上的m个核用于共同处理一个计算任务,其中,m、n为大于1的正整数。
174.芯片检测装置20用于对包括计算系统21进行故障定位。
175.可选地,该计算系统21可以为图2或者图7中的计算系统。
176.可选地,该m个芯片中每条链上的m个核相互串联,用于进行哈希运算;若m个芯片中一条链的哈希运算结果在预设阈值内,则计算任务成功,若一条链的哈希运算结果在预设阈值外或者未输出计算结果,则计算任务失败。
177.本技术实施例还提供一种芯片检测装置,包括处理器和存储器,该存储器用于存储程序代码,该处理器用于调用该程序代码执行上述方法实施例的芯片检测方法。
178.本技术实施例还提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机执行上述方法实施例的方法。
179.本技术实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
180.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
181.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
182.在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
183.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
184.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
185.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜