CN112148536A - 检测深度学习芯片的方法、装置、电子设备和计算机存储介质 - Google Patents
检测深度学习芯片的方法、装置、电子设备和计算机存储介质 Download PDFInfo
- Publication number
- CN112148536A CN112148536A CN201910559182.9A CN201910559182A CN112148536A CN 112148536 A CN112148536 A CN 112148536A CN 201910559182 A CN201910559182 A CN 201910559182A CN 112148536 A CN112148536 A CN 112148536A
- Authority
- CN
- China
- Prior art keywords
- chip
- deep learning
- logic units
- inference
- training
- 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.)
- Pending
Links
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/2263—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
- G11C29/883—Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/08—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Neurology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本公开的实施例涉及一种检测深度学习芯片的方法、装置、电子设备和计算机可读存储介质。该方法包括对深度学习芯片中的多个逻辑单元进行检测,多个逻辑单元用于执行深度学习的推理操作和训练操作中的至少一种操作。该方法还包括获取多个逻辑单元中未通过检测的错误单元。此外,该方法还可以包括响应于错误单元的个数占多个逻辑单元的总数的比率低于或等于预定比率,将深度学习芯片确定为合格芯片。本公开的技术方案通过利用了深度学习芯片中包含多个相同或重复的逻辑单元的特性,使得芯片利用率显著提高。
Description
技术领域
本公开的实施例主要涉及芯片检测领域,并且更具体地,涉及用于检测深度学习芯片的方法、装置、电子设备和计算机可读存储介质。
背景技术
芯片的可利用率(或称为“良率”)通常是指在一片晶圆、一个批次、或者一个产品的生命周期里通过测试的芯片与总芯片之间的比率。由于生产环境中可能会有随机掉落的灰尘或其它颗粒,并且集成电路在设计过程中可能存在缺陷,导致芯片利用率较低。针对目前的深度学习芯片(或称为“人工智能芯片”),其通常包含多个推理逻辑单元和多个训练逻辑单元,如果芯片中的任一逻辑单元存在瑕疵,则该芯片将被标记为未通过测试。芯片的成本跟芯片利用率线性相关。利用率越低,成本越高。所以芯片利用率对于芯片成本的影响巨大,提高芯片利用率对于提高芯片的竞争力非常重要。
发明内容
根据本公开的示例实施例,提供了一种检测深度学习芯片的方案。
在本公开的第一方面中,提供了一种检测深度学习芯片的方法。该方法包括对深度学习芯片中的多个逻辑单元进行检测,多个逻辑单元用于执行深度学习的推理操作和训练操作中的至少一种操作。该方法还包括获取多个逻辑单元中未通过检测的错误单元。此外,该方法还可以包括响应于错误单元的个数占多个逻辑单元的总数的比率低于或等于预定比率,将深度学习芯片确定为合格芯片。
在本公开的第二方面中,提供了一种检测深度学习芯片的装置。该装置包括:逻辑单元检测模块,被配置为对深度学习芯片中的多个逻辑单元进行检测,多个逻辑单元用于执行深度学习的推理操作和训练操作中的至少一种操作;错误单元获取模块,被配置为获取多个逻辑单元中未通过检测的错误单元;以及合格芯片确定模块,被配置为响应于错误单元的个数占多个逻辑单元的总数的比率低于或等于预定比率,将深度学习芯片确定为合格芯片。
在本公开的第三方面中,提供了一种设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现根据本公开的第一方面的方法。
在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了本公开的多个实施例能够在其中实现的示例环境的示意图;
图2示出了根据本公开的实施例的深度学习芯片的示意图;
图3示出了根据本公开的实施例的用于检测深度学习芯片的过程的流程图;
图4示出了根据本公开的实施例的用于检测深度学习芯片的装置的示意框图;以及
图5示出了能够实施本公开的多个实施例的计算设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如上文提及的,亟需一种深度学习芯片检测方法,来快速高效且低成本地检测深度学习芯片,从而提高芯片利用率。传统的深度学习芯片检测方法通常是对深度学习芯片进行检测,一旦该深度学习芯片未通过检测,则认为该深度学习芯片不可用。即便该深度学习芯片中仅一个逻辑单元为错误单元,其余逻辑单元均完好无损,该深度学习芯片仍会被视为故障芯片。因此,传统的深度学习芯片检测方法造成了对深度学习芯片的极大浪费。
根据本公开的实施例,提出了一种用于检测深度学习芯片的方案。在该方案中,可以对待测的深度学习芯片中的多个逻辑单元进行检测,一旦发现存在错误单元,就将错误单元的个数与深度学习芯片上的逻辑单元的总数的比率与预定比率进行比较,如果没超过预定阈值,则认为该深度学习芯片仍是合格芯片。具体地,可以对深度学习芯片的多个推理逻辑单元进行检测。由于目前的深度学习芯片在功耗上存在限制,故其上的所有推理逻辑单元通常不会全部工作,因此即便检测出个别推理逻辑单元是错误单元,也仅需存储错误芯片的信息,而在该深度学习芯片使用是禁用该错误单元。由于本公开的芯片检测方案细化了判定芯片不合格的标准,故提高了芯片利用率,降低的成本极为可观。
以下将参照附图来具体描述本公开的实施例。图1示出了本公开的多个实施例能够在其中实现的示例环境100的示意图。如图1所示,示例环境100中包含检测设备110、待测芯片120和检测结果130。待测芯片120可以是运用于数据中心的深度学习芯片,其可以支持语音识别、图像处理、机器翻译、搜索推荐等基于深度学习算法的业务场景。检测设备110可以接收待测芯片120,并通过诸如自动测试机台(ATE)扫描的技术来确定待测芯片120的检测结果130。
在图1中,生成待测芯片120的检测结果130的关键在于两点。其一,检测设备110对待测芯片120上的多个逻辑单元进行检测。应注意,这里用于进行检测的待测芯片120可以是从未经过检测的芯片,也可以是未通过传统检测设备的检测的芯片。其二,当检测到发生故障的逻辑单元之后,检测设备110需要进一步判断故障单元占所有逻辑单元的比率是否足够小,如果足够小,则该待测芯片120仍可以被确定为是合格芯片,从而使测试结果130中反映的芯片利用率显著提高。下文将通过图2来详细描述包含多个逻辑单元的待测芯片120的结构。
图2示出了根据本公开的实施例的深度学习芯片120的示意图。如图2所示,深度学习芯片120包括多个用于执行深度学习的推理操作的推理逻辑单元210、211、…、M以及用于执行深度学习的训练操作的训练逻辑单元220、221、…N。此外,深度学习芯片120还包括诸如片上电可编程熔丝(eFUSE)的存储单元230,用于记录错误单元的信息。
为了清楚的目的,本公开的图2仅示出了若干逻辑单元以及存储单元,并未示出其他功能单元。此外,还应当理解,仅出于示例性的目的描述深度学习芯片120的结构和功能并不旨在限制本文所描述主题的范围。本文所描述主题可以在不同的结构和/或功能中实施。作为示例,除了存储单元230和其他必要组件,深度学习芯片120可以仅包括多个用于执行深度学习的推理操作的推理逻辑单元210、211、…、M或者用于执行深度学习的训练操作的训练逻辑单元220、221、…N。为了更清楚地解释上述方案的原理,下文将参考图3来更详细描述检测深度学习芯片的过程。
图3示出了根据本公开的实施例的用于检测深度学习芯片的过程300的流程图。过程300可以由图1的检测设备110来实现。为了方便讨论,将结合图1和图2来描述过程300。
在310,检测设备110对作为待测芯片120的深度学习芯片中的多个逻辑单元进行检测。作为示例,待测芯片120可以是用于深度学习的推理芯片,则此时该多个逻辑单元用于执行深度学习的推理操作。此外,待测芯片120还可以是用于深度学习的训练芯片,则此时该多个逻辑单元用于执行深度学习的训练操作。此外,待测芯片120还可以是推理和训练芯片,用于执行推理操作和训练操作中的至少一种操作。如图2所示,检测设备110对待测芯片120所包含的用于执行深度学习的推理操作的推理逻辑单元210、211、…、M以及用于执行深度学习的训练操作的训练逻辑单元220、221、…N进行检测。
在320,检测设备110获取上述多个逻辑单元中未通过检测的错误单元。作为示例,图2中的任意推理逻辑单元210、211、…、M或者任意训练逻辑单元220、221、…N均可能被检测为错误单元。之后,检测设备110可以对错误单元的个数进行统计。以此方式,检测设备110对待测芯片120中的每个逻辑单元均进行检测,从而细化了检测过程,从而有助于后续更为精确的检测结果。
在330,检测设备110将错误单元的个数占待测芯片120上的逻辑单元的总数的比率与预定比率进行比较。作为示例,该预定比率可以为5%、10%、15%或其他比率,并且该预定比率的大小取决于待测芯片120的功率限制。以推理逻辑单元为例,由于待测芯片120作为深度学习芯片存在功率限制,待测芯片120中的所有推理逻辑单元并不会同时工作,故待测芯片120中几乎永远存在空闲的推理逻辑单元用于替换错误单元。因此,只要错误单元的个数不过高,就可以有足够的空闲推理逻辑单元来替换错误单元。并且,传统的冗余设计方式并不适用于深度学习芯片中的各逻辑单元,因为这会是芯片的制造成本大幅上升。接下来,如果该比率低于或等于预定比率,则过程进入到340。
在340,检测设备110将作为待测芯片120的深度学习芯片确定为合格芯片。以推理逻辑单元为例,如果待测芯片120中的上述多个逻辑单元仅包括用于执行推理操作的多个推理逻辑单元,并且如果错误单元的个数占待测芯片120上的推理逻辑单元的总数的比率低于或等于预定比率,则将错误单元的信息记录在待测芯片120的存储单元230中,以便在待测芯片120被用于执行推理操作时禁用该错误单元。以此方式,很大一部分未通过传统检测设备的芯片可以被重新利用,避免了不必要的浪费。
此外,以训练逻辑单元为例,如果待测芯片120中的上述多个逻辑单元仅包括用于执行训练操作的多个训练逻辑单元,并且如果错误单元的个数占待测芯片120上的训练逻辑单元的总数的比率低于或等于预定比率,则将错误单元的信息记录在待测芯片120的存储单元230中,以便在待测芯片120被用于执行训练操作时禁用错误单元。以此方式,同样可以提高芯片利用率,避免浪费。
在某些实施例中,待测芯片120可以是既包含推理逻辑单元又包含训练逻辑单元的深度学习芯片,故上述多个逻辑单元可以如图2所示既包括用于执行推理操作的多个推理逻辑单元210、211、…、M也包括用于执行训练操作的多个训练逻辑单元220、221、…N。此时,如果多个推理逻辑单元中210、211、…、M中存在错误单元,则将待测芯片120设置为仅用于执行深度学习的训练操作,而如果多个训练逻辑单元220、221、…N中存在错误单元,则将待测芯片120设置为仅用于执行深度学习的推理操作。备选地或附加地,如果多个训练逻辑单元220、221、…N中不存在错误单元,则将待测芯片120设置为用于执行深度学习的推理操作和训练操作中的至少一种操作。以此方式,可以有选择地舍弃深度学习芯片的部分功能,但深度学习芯片的其他部分仍然可用。
在某些实施例中,如果错误单元的个数占逻辑单元的总数的比率高于预定比率,则检测设备110将作为待测芯片120的深度学习芯片确定为故障芯片。
在本公开中,存储单元230可以是片上电可编程熔丝,并且多个推理逻辑单元210、211、…、M可以是人工智能协处理单元SDCDNN以及人工智能处理器XPU中的至少一种单元。
根据本公开的一个或多个实施方式,可以得到检测结果130。由于利用了深度学习芯片中包含多个相同或重复的逻辑单元的特性,检测设备110容忍了待测芯片120中存在少量错误单元的情形,使得该检测结果130的芯片利用率显著高于传统检测设备的检测结果。
与传统技术相比,本公开的方案的意义在于,通过将芯片检测操作细化为对深度学习芯片中的每个逻辑单元进行检测,在不增加芯片面积的前提下,以及在不影响芯片正常工作性能的前提下,使得上文中提到的深度学习芯片上除SRAM之外的其它占芯片70%面积的逻辑单元可以有生产错误的可能,并且绝大部分具有错误单元的芯片均可以得到利用,从而显著提高了深度学习芯片的利用率,降低了芯片成本,并且进一步增加了芯片的市场竞争力。
以上讨论了在一些示例场景下综合了推理逻辑单元和训练逻辑单元的深度学习芯片的检测方案。然而,应当理解,这些场景的描述仅为了以示例方式来解释说明本公开的实施例。取决于实际需要,在不同或类似场景下,还可以选择不同的检测对象。本公开的技术方案在应用于检测深度学习芯片中的其他重复单元时同样可以具备上文提到的各种优点。
图4示出了根据本公开的实施例的用于检测深度学习芯片的装置400的示意框图。装置400可以被包括在图1的检测设备110中,或者被实现为检测设备110。如图4所示,装置400可以包括逻辑单元检测模块410,其被配置为对深度学习芯片中的多个逻辑单元进行检测,该多个逻辑单元用于执行深度学习的推理操作和训练操作中的至少一种操作。装置400还可以包括错误单元获取模块420,其被配置为获取该多个逻辑单元中未通过检测的错误单元。此外,装置400还可以包括合格芯片确定模块430,其被配置为响应于错误单元的个数占多个逻辑单元的总数的比率低于或等于预定比率,将深度学习芯片确定为合格芯片。
在某些实施例中,该多个逻辑单元可以包括用于执行推理操作的多个推理逻辑单元,并且合格芯片确定模块430可以包括第一信息记录模块(未示出),其被配置为将错误单元的信息记录在深度学习芯片的存储单元中,以便在深度学习芯片被用于执行推理操作时禁用该错误单元。
在某些实施例中,该多个逻辑单元可以包括用于执行训练操作的多个训练逻辑单元,并且合格芯片确定模块430可以包括第二信息记录模块(未示出),其被配置为将错误单元的信息记录在深度学习芯片的存储单元中,以便在深度学习芯片被用于执行训练操作时禁用该错误单元。
在某些实施例中,该多个逻辑单元可以包括用于执行推理操作的多个推理逻辑单元和用于执行训练操作的多个训练逻辑单元,该装置400还可以包括训练操作设置模块(未示出),其被配置为响应于多个推理逻辑单元中存在错误单元,将深度学习芯片设置为仅用于执行深度学习的训练操作。或者,该装置400还可以包括推理操作设置模块(未示出),其被配置为响应于多个训练逻辑单元中存在错误单元,将深度学习芯片设置为仅用于执行深度学习的推理操作。
在某些实施例中,该装置400还可以包括操作设置模块(未示出),其被配置为响应于多个训练逻辑单元中不存在错误单元,将深度学习芯片设置为用于执行深度学习的推理操作和训练操作中的至少一种操作。
在某些实施例中,该装置400还可以包括故障芯片确定模块(未示出),其被配置为响应于错误单元的个数占多个逻辑单元的总数的比率高于预定比率,将深度学习芯片确定为故障芯片。
在某些实施例中,存储单元可以是片上电可编程熔丝,并且多个推理逻辑单元可以包括以下至少一项:人工智能协处理单元SDCDNN;以及人工智能处理器XPU。
根据本公开的一个或多个实施方式,由于上述各实施例的装置400利用了深度学习芯片中包含多个相同或重复的逻辑单元的特性,装置400容忍了深度学习芯片中存在少量错误单元的情形,使得检测结果的芯片利用率显著高于传统检测设备的检测结果。
图5示出了可以用来实施本公开的实施例的示例设备500的示意性框图。设备500可以用于实现图1的计算设备110。如图所示,设备500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序指令,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元501执行上文所描述的各个方法和处理,例如过程300。例如,在一些实施例中,过程300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由CPU 501执行时,可以执行上文描述的过程300的一个或多个步骤。备选地,在其他实施例中,CPU 501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程300。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (16)
1.一种用于检测深度学习芯片的方法,包括:
对所述深度学习芯片中的多个逻辑单元进行检测,所述多个逻辑单元用于执行深度学习的推理操作和训练操作中的至少一种操作;
获取所述多个逻辑单元中未通过检测的错误单元;以及
响应于所述错误单元的个数占所述多个逻辑单元的总数的比率低于或等于预定比率,将所述深度学习芯片确定为合格芯片。
2.根据权利要求1所述的方法,其中所述多个逻辑单元包括用于执行所述推理操作的多个推理逻辑单元,并且其中将所述深度学习芯片确定为所述合格芯片包括:
将所述错误单元的信息记录在所述深度学习芯片的存储单元中,以便在所述深度学习芯片被用于执行所述推理操作时禁用所述错误单元。
3.根据权利要求1所述的方法,其中所述多个逻辑单元包括用于执行所述训练操作的多个训练逻辑单元,并且其中将所述深度学习芯片确定为所述合格芯片包括:
将所述错误单元的信息记录在所述深度学习芯片的存储单元中,以便在所述深度学习芯片被用于执行所述训练操作时禁用所述错误单元。
4.根据权利要求1所述的方法,其中所述多个逻辑单元包括用于执行所述推理操作的多个推理逻辑单元和用于执行所述训练操作的多个训练逻辑单元,所述方法还包括:
响应于所述多个推理逻辑单元中存在所述错误单元,将所述深度学习芯片设置为仅用于执行深度学习的所述训练操作;或者
响应于所述多个训练逻辑单元中存在所述错误单元,将所述深度学习芯片设置为仅用于执行深度学习的所述推理操作。
5.根据权利要求4所述的方法,还包括:
响应于所述多个训练逻辑单元中不存在所述错误单元,将所述深度学习芯片设置为用于执行深度学习的所述推理操作和所述训练操作中的至少一种操作。
6.根据权利要求1所述的方法,还包括:
响应于所述错误单元的个数占所述多个逻辑单元的总数的比率高于所述预定比率,将所述深度学习芯片确定为故障芯片。
7.根据权利要求2或4所述的方法,其中所述存储单元是片上电可编程熔丝,并且所述多个推理逻辑单元包括以下至少一项:
人工智能协处理单元SDCDNN;以及
人工智能处理器XPU。
8.一种用于检测深度学习芯片的装置,包括:
逻辑单元检测模块,被配置为对所述深度学习芯片中的多个逻辑单元进行检测,所述多个逻辑单元用于执行深度学习的推理操作和训练操作中的至少一种操作;
错误单元获取模块,被配置为获取所述多个逻辑单元中未通过检测的错误单元;以及
合格芯片确定模块,被配置为响应于所述错误单元的个数占所述多个逻辑单元的总数的比率低于或等于预定比率,将所述深度学习芯片确定为合格芯片。
9.根据权利要求8所述的装置,其中所述多个逻辑单元包括用于执行所述推理操作的多个推理逻辑单元,并且其中所述合格芯片确定模块包括:
第一信息记录模块,被配置为将所述错误单元的信息记录在所述深度学习芯片的存储单元中,以便在所述深度学习芯片被用于执行所述推理操作时禁用所述错误单元。
10.根据权利要求8所述的装置,其中所述多个逻辑单元包括用于执行所述训练操作的多个训练逻辑单元,并且其中所述合格芯片确定模块包括:
第二信息记录模块,被配置为将所述错误单元的信息记录在所述深度学习芯片的存储单元中,以便在所述深度学习芯片被用于执行所述训练操作时禁用所述错误单元。
11.根据权利要求8所述的装置,其中所述多个逻辑单元包括用于执行所述推理操作的多个推理逻辑单元和用于执行所述训练操作的多个训练逻辑单元,所述装置还包括:
训练操作设置模块,被配置为响应于所述多个推理逻辑单元中存在所述错误单元,将所述深度学习芯片设置为仅用于执行深度学习的所述训练操作;或者
推理操作设置模块,被配置为响应于所述多个训练逻辑单元中存在所述错误单元,将所述深度学习芯片设置为仅用于执行深度学习的所述推理操作。
12.根据权利要求11所述的装置,还包括:
操作设置模块,被配置为响应于所述多个训练逻辑单元中不存在所述错误单元,将所述深度学习芯片设置为用于执行深度学习的所述推理操作和所述训练操作中的至少一种操作。
13.根据权利要求8所述的装置,还包括:
故障芯片确定模块,被配置为响应于所述错误单元的个数占所述多个逻辑单元的总数的比率高于所述预定比率,将所述深度学习芯片确定为故障芯片。
14.根据权利要求9或11所述的装置,其中所述存储单元是片上电可编程熔丝,并且所述多个推理逻辑单元包括以下至少一项:
人工智能协处理单元SDCDNN;以及
人工智能处理器XPU。
15.一种电子设备,所述电子设备包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910559182.9A CN112148536A (zh) | 2019-06-26 | 2019-06-26 | 检测深度学习芯片的方法、装置、电子设备和计算机存储介质 |
KR1020200016999A KR102216281B1 (ko) | 2019-06-26 | 2020-02-12 | 딥 러닝 칩을 검출하는 방법, 장치, 전자 기기 및 컴퓨터 저장 매체 |
EP20165653.5A EP3758003B1 (en) | 2019-06-26 | 2020-03-25 | Methods, apparatuses, and computer storage media for testing depth learning chip |
US16/871,473 US11615296B2 (en) | 2019-06-26 | 2020-05-11 | Methods, electronic devices, and computer storage media for testing depth learning chip |
JP2020108976A JP6993472B2 (ja) | 2019-06-26 | 2020-06-24 | 深層学習チップを検出する方法、装置、電子機器、およびコンピュータ記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910559182.9A CN112148536A (zh) | 2019-06-26 | 2019-06-26 | 检测深度学习芯片的方法、装置、电子设备和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148536A true CN112148536A (zh) | 2020-12-29 |
Family
ID=70056810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910559182.9A Pending CN112148536A (zh) | 2019-06-26 | 2019-06-26 | 检测深度学习芯片的方法、装置、电子设备和计算机存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11615296B2 (zh) |
EP (1) | EP3758003B1 (zh) |
JP (1) | JP6993472B2 (zh) |
KR (1) | KR102216281B1 (zh) |
CN (1) | CN112148536A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116609642B (zh) * | 2023-07-18 | 2023-09-19 | 上海孤波科技有限公司 | 芯片测试误差的补偿方法、装置、电子设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067633A (en) * | 1998-03-31 | 2000-05-23 | International Business Machines Corp | Design and methodology for manufacturing data processing systems having multiple processors |
JP2005309867A (ja) * | 2004-04-22 | 2005-11-04 | Fujitsu Ltd | マルチコア・プロセサ試験方法 |
US7610537B2 (en) | 2006-04-04 | 2009-10-27 | International Business Machines Corporation | Method and apparatus for testing multi-core microprocessors |
JP2011215853A (ja) | 2010-03-31 | 2011-10-27 | Renesas Electronics Corp | 半導体装置、半導体装置の制御方法 |
US8856602B2 (en) * | 2011-12-20 | 2014-10-07 | International Business Machines Corporation | Multi-core processor with internal voting-based built in self test (BIST) |
US9575120B2 (en) * | 2013-03-29 | 2017-02-21 | International Business Machines Corporation | Scan chain processing in a partially functional chip |
WO2016097804A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Programmable load replay precluding mechanism |
US10541044B2 (en) * | 2016-10-31 | 2020-01-21 | Qualcomm Incorporated | Providing efficient handling of memory array failures in processor-based systems |
US10552270B2 (en) * | 2016-12-22 | 2020-02-04 | Intel Corporation | Systems and methods for in-field core failover |
WO2018126073A1 (en) * | 2016-12-30 | 2018-07-05 | Lau Horace H | Deep learning hardware |
WO2018193354A1 (en) | 2017-04-17 | 2018-10-25 | Cerebras Systems Inc. | Wavelet representation for accelerated deep learning |
JP2019003588A (ja) | 2017-06-12 | 2019-01-10 | 正仁 櫨田 | Cpuチップ上のコア・ブロックの1個が動作していなかったり、コア・ブロック内のトランジスターが熱崩壊をして異常な消費電流値を示してコア・ブロックが熱破壊した場合等に、cpuのコア・ブロックの今現在の全部の状態をレジスター群に保存してcpuのコア・ブロック自体へのシステム・クロックの供給や電力供給を停止してcpu自体の発熱や消費電力を抑え、cpuの動作を元の状態に復元してプログラムを再実行する時には、外部割込みに依り、cpuのコア・ブロックにシステム・クロックを再供給してレジスター群から情報を読み込んでcpuの状態を戻して、システム・クロックに従ってプログラム・カウンターの値から、メモリー上のプログラムを再起動する方法。 |
US20190303741A1 (en) * | 2018-03-30 | 2019-10-03 | International Business Machines Corporation | Defect resistant designs for location-sensitive neural network processor arrays |
US11442889B2 (en) * | 2018-09-28 | 2022-09-13 | Intel Corporation | Dynamic deep learning processor architecture |
CN109684087B (zh) * | 2018-12-17 | 2020-01-10 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
-
2019
- 2019-06-26 CN CN201910559182.9A patent/CN112148536A/zh active Pending
-
2020
- 2020-02-12 KR KR1020200016999A patent/KR102216281B1/ko active IP Right Grant
- 2020-03-25 EP EP20165653.5A patent/EP3758003B1/en active Active
- 2020-05-11 US US16/871,473 patent/US11615296B2/en active Active
- 2020-06-24 JP JP2020108976A patent/JP6993472B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
KR20210001882A (ko) | 2021-01-06 |
JP2021005379A (ja) | 2021-01-14 |
JP6993472B2 (ja) | 2022-01-13 |
EP3758003A1 (en) | 2020-12-30 |
EP3758003B1 (en) | 2022-03-02 |
US11615296B2 (en) | 2023-03-28 |
KR102216281B1 (ko) | 2021-02-16 |
US20200410332A1 (en) | 2020-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9251915B2 (en) | Seamless fail analysis with memory efficient storage of fail lists | |
US20090172483A1 (en) | On-chip failure analysis circuit and on-chip failure analysis method | |
WO2019019429A1 (zh) | 一种虚拟机异常检测方法、装置、设备及存储介质 | |
CN117333424A (zh) | 晶圆缺陷评估方法、装置、存储器芯片和可读存储介质 | |
CN115080446A (zh) | 一种软件测试用测试实例生成方法及*** | |
US20140282327A1 (en) | Cutter in diagnosis (cid) a method to improve the throughput of the yield ramp up process | |
CN112148536A (zh) | 检测深度学习芯片的方法、装置、电子设备和计算机存储介质 | |
KR100939198B1 (ko) | 시험 장치, 시험 방법, 해석 장치, 및 프로그램 | |
CN113823349A (zh) | 芯片失效模式的确定方法、终端 | |
CN114329108B (zh) | 基于芯片功能电路仿真测试的生产情况分析方法及*** | |
US20180372799A1 (en) | Testing mechanism for a proximity fail probability of defects across integrated chips | |
US20120109561A1 (en) | Wafer test apparatus, wafer test method, and program | |
CN116540059B (zh) | 半导体芯片测试方法、装置、设备及存储介质 | |
CN116882361B (zh) | 芯片缺陷分析方法、电子设备及存储介质 | |
US11720506B2 (en) | Device and method for inspecting process, and electronic control device | |
US6717870B2 (en) | Method for assessing the quality of a memory unit | |
JP3973507B2 (ja) | 半導体試験装置 | |
CN112650681A (zh) | 自动化测试方法、装置、电子设备及可读存储介质 | |
CN115421024A (zh) | 一种电路的测试方法、装置及存储介质 | |
JP2808988B2 (ja) | メモリーic試験システム | |
CN117648252A (zh) | 软件应用的功能测试方法、装置、电子设备及存储介质 | |
CN117711472A (zh) | 闪存硬盘的生产质检方法、设备及存储介质 | |
JPH11345500A (ja) | 半導体テスト装置および半導体テスト方法 | |
CN117457057A (zh) | 数据保持性能的测试方法、装置、***、设备及介质 | |
CN115732347A (zh) | 集成电路修补方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211012 Address after: Baidu building, No. 10, Shangdi 10th Street, Haidian District, Beijing 100086 Applicant after: Kunlun core (Beijing) Technology Co.,Ltd. Address before: 2 / F, *** building, 10 Shangdi 10th Street, Haidian District, Beijing 100094 Applicant before: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |