Neural network processor fault handling method and apparatus
The method identifies and addresses faults in neural network processors by determining the faulty module and applying adjustment control modes, enhancing fault handling efficiency and maintaining system responsiveness.
Patent Information
- Application Number
- JP2025518684
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-09-30
- Filing Date
- 2023-08-24
- Publication Date
- 2025-10-15
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Neural network processors in systems like autonomous driving systems face significant downtime due to faults, requiring a full restart, which disrupts task execution and response to external information.
A fault handling method that identifies the faulty module and type within the neural network processor, allowing for targeted adjustment control modes to quickly recover the processor without full restart, ensuring continuous task execution.
Improves fault handling efficiency by enabling the neural network processor to quickly recover and respond to external information without affecting task execution processes.
Smart Images

Figure 2025534366000001_ABST
Abstract
Description
[Technical Field]
[0001] [CROSS-REFERENCE TO RELATED APPLICATIONS] This disclosure claims priority to a Chinese patent application filed on September 30, 2022, bearing application number 202211208823.4 and entitled "Method and apparatus for handling faults in neural network processors," the entire contents of which are incorporated herein by reference.
[0002] The present disclosure relates to the technical field of artificial intelligence, and in particular to a neural network processor fault processing method and apparatus, a readable storage medium, and an electronic device. [Background technology]
[0003] Neural network technology is widely used in fields such as safety monitoring, driving assistance, intelligent robots, and smart healthcare to complete various tasks. For example, in autonomous driving systems, it is used for image recognition, image classification, and voice recognition. When performing various tasks using neural network algorithms, it is necessary to use a neural network processor to complete data processing. Therefore, to ensure the smooth execution of various tasks, fault handling for neural network processors (also called neural network accelerators) is very important.
[0004] Currently, when a fault is detected in a neural network processor, the entire neural network processor is generally restarted. However, restarting the entire neural network processor takes a relatively long time, which prevents the neural network processor from quickly processing and feeding back external information, affecting the task execution process. Summary of the Invention [Problem to be solved by the invention]
[0005] To solve the above problems, the embodiments of the present disclosure provide a fault handling method and apparatus for a neural network processor, which can quickly locate the module where the fault occurred and perform fault recognition so that the neural network processor can quickly recover to a normal operating state and continue to execute the task before the fault occurred, thereby improving the fault handling efficiency of the neural network processor, and further ensuring that the neural network processor can quickly respond to external information without affecting the task execution process. [Means for solving the problem]
[0006] A fault processing method for a neural network processor according to a first aspect of the present disclosure includes: obtaining fault information of the neural network processor; determining a fault type of a faulty module in the neural network processor based on the fault information; and handling the fault occurring in the faulty module using a preset regulation control mode according to the fault type.
[0007] A fault processing device for a neural network processor according to a second aspect of the present disclosure includes: a failure information acquisition module configured to acquire failure information of the neural network processor; a fault type determination module configured to determine a fault type of a faulty module in the neural network processor based on the fault information; a failure processing module configured to process a failure occurring in the failure module using a preset adjustment control mode depending on the failure type.
[0008] A computer-readable storage medium according to a third aspect of the present disclosure stores a computer program for executing the above-described fault handling method for a neural network processor.
[0009] An electronic device according to a fourth aspect of the present disclosure includes: a neural network processor; a memory for storing instructions executable by the neural network processor; The neural network processor is used to read executable instructions from the memory and execute the instructions to implement the fault handling method of the neural network processor. [Effects of the Invention]
[0010] Compared with the prior art, the fault handling method and apparatus for neural network processors according to the present disclosure includes at least the following beneficial effects:
[0011] Compared with conventional fault handling methods, the embodiments of the present disclosure do not immediately restart the entire neural network processor and even the entire system (e.g., an autonomous driving system) when a fault is detected. Instead, they first obtain fault information of the neural network processor, determine the fault type of the faulty module in the neural network processor based on the fault information, and then use a preset adjustment control mode to handle the fault occurring in the faulty module according to the fault type, so that the neural network processor can quickly recover to a normal operating state and continue to perform the task before the fault occurred, thereby improving the fault handling efficiency of the neural network processor, ensuring that the autonomous driving system can quickly respond to external information, and not affect the task execution process. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 is a structural schematic diagram of a fault processing system for a neural network processor according to one exemplary embodiment of the present disclosure. [Figure 2]1 is a schematic flowchart of a fault handling method for a neural network processor according to one exemplary embodiment of the present disclosure. [Figure 3] 1 is a schematic flowchart of steps S201 and S202 in a fault processing method for a neural network processor according to an exemplary embodiment of the present disclosure. [Figure 4] 10 is a schematic flowchart of step S203 in a fault processing method for a neural network processor according to an exemplary embodiment of the present disclosure. [Figure 5] FIG. 1 is a structural schematic diagram of a neural network processor according to one exemplary embodiment of the present disclosure. [Figure 6] 10 is a schematic flowchart of step S401 in a fault processing method for a neural network processor according to an exemplary embodiment of the present disclosure. [Figure 7] 10 is another schematic flowchart of step S203 in the fault processing method for a neural network processor according to an exemplary embodiment of the present disclosure. [Figure 8] 10 is a schematic flowchart of a fault processing method for a neural network processor according to an exemplary embodiment of the present disclosure, before processing a fault that has occurred in a faulty module. [Figure 9] 10 is another schematic flowchart of step S203 in the fault processing method for a neural network processor according to an exemplary embodiment of the present disclosure. [Figure 10] 10 is a schematic flowchart of step S901 in a fault processing method for a neural network processor according to an exemplary embodiment of the present disclosure. [Figure 11] FIG. 2 is a structural schematic diagram of a fault processing device of a neural network processor according to one exemplary embodiment of the present disclosure. [Figure 12] FIG. 1 is a structural schematic diagram of a first type fault processing module 113 in a fault processing device of a neural network processor according to an exemplary embodiment of the present disclosure. [Figure 13] FIG. 10 is a structural schematic diagram of a second type fault processing module 113 in the fault processing device of the neural network processor according to one exemplary embodiment of the present disclosure. [Figure 14] FIG. 10 is a structural schematic diagram of a third type fault processing module 113 in the fault processing device of the neural network processor according to one exemplary embodiment of the present disclosure. [Figure 15] FIG. 1 is a structural schematic diagram of a failure information acquisition module 111 in a failure processing device of a neural network processor according to an exemplary embodiment of the present disclosure. [Figure 16] 1 is a structural diagram of an electronic device according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the drawings. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, but are not all of the embodiments of the present disclosure, and the present disclosure is not limited to the exemplary embodiments described in this specification.
[0014] Unless otherwise specifically stated, the relative arrangement of components and steps, formulas and numerical values described in these examples do not limit the scope of the present disclosure.
[0015] [Summary of this disclosure] Neural networks (NNs) are already used in fields such as image processing and speech analysis. For example, convolutional neural networks (CNNs) are widely used in fields such as driver assistance, safety monitoring, human-computer interaction, and industrial control.
[0016] Taking an autonomous driving system as an example, after training a neural network model, a neural network processor can complete tasks such as target recognition and image classification. For example, sensing data such as audio and images are acquired from on-board sensors (camera, infrared, lidar, radar, etc.) as input data. The neural network processor executes the compiled neural network model to process the sensing data, perform various tasks (e.g., target detection, target classification, target recognition, image segmentation, etc.), and obtain output data. For example, in a target detection task, the output data of the neural network may be several coordinate frames indicating the location where the target object may exist. For example, in a target classification task, the output data of the neural network may be scoring data of the detected object in a certain class or classes, indicating the likelihood that the object belongs to a certain class.
[0017] During the calculation process, the neural network processor, for example, tFaults such as timeouts, invalid instructions, computational logic faults, and static random access memory (SRAM) ECC faults can cause discrepancies between computational results and expected results. In one application scenario, in a target classification task, the discrepancy between computational results and expected results is embodied in a deviation between the score value of a certain classification of a detected object output by a neural network and the expected result. Generally, in systems requiring relatively high safety performance (e.g., autonomous driving systems), related fault detection mechanisms are configured to detect neural network processor faults and perform corresponding fault handling. Related technologies can detect several faults that occur in neural network processors, such as timeouts, invalid instructions, computational logic faults, and static random access memory (SRAM) ECC faults. However, when an autonomous driving system detects a fault in the neural network accelerator or receives a fault signal indication reported by the neural network accelerator, it immediately discards the current calculation results, restarts the neural network processor, and then restarts the entire system. However, the restart process takes time, and during the restart process, the neural network processor is unable to normally process the demands of the autonomous driving system. As a result, the task of the autonomous driving system is interrupted. Therefore, after restarting the neural network processor, the task calculation needs to be performed again. This method is disadvantageous to the autonomous driving system in quickly responding to external information, and not only affects the task execution process, but may also affect the safety of the autonomous driving system.
[0018] Compared with the related art, the fault handling method for a neural network processor according to the embodiment of the present disclosure is different in that, when a fault in the neural network processor is discovered or a fault signal indication is received from the neural network processor, the method first determines the fault type of the faulty module in the neural network processor based on the fault information, without immediately abandoning the current calculation result, restarting the neural network processor, or restarting the entire autonomous driving system, and then selects a corresponding adjustment control mode to handle the fault occurring in the faulty module, thereby enabling the neural network processor to quickly recover to a normal operating state and continue to perform the task before the fault occurred, improving the fault handling efficiency of the neural network processor, ensuring that the autonomous driving system can quickly respond to external information, and not affect the task execution process.
[0019] [Example System] 1 is a structural schematic diagram of a neural network processor fault processing system according to an exemplary embodiment of the present disclosure. As shown in FIG. 1, the system includes a fault control processing device 101 and a neural network processor 102 connected to the fault control processing device 101.
[0020] In one exemplary embodiment of the present invention, the fault control processing device 101 first detects or collects fault information of the neural network processor 102, then evaluates and analyzes the fault information to determine the fault type of the faulty module in the neural network processor, and then uses a preset adjustment control mode according to the fault type to handle the fault occurring in the faulty module of the neural network processor 102. As can be seen from the above, when the technical solution of the embodiment of the present disclosure detects a fault in the neural network processor or receives a fault signal indication reported by the neural network processor, it does not immediately abandon the current calculation result and restart the neural network processor or restart the entire autonomous driving system, but uses the above method to first determine the fault type of the fault occurring in the neural network processor 102, and then selects a corresponding adjustment control mode to handle the fault according to the fault type, thereby enabling the neural network processor to quickly recover to a normal operating state and continue to perform the task before the fault occurred, further improving the fault handling efficiency of the neural network processor, ensuring that the autonomous driving system can quickly respond to external information without affecting the task execution process.
[0021] [Exemplary Method] FIG. 2 is a schematic flowchart of a fault handling method for a neural network processor according to one exemplary embodiment of the present disclosure.
[0022] The neural network processor in the present invention refers to any form of processing unit having data processing capability and / or instruction execution capability, such as a general-purpose processor (CPU), a graphics processor (GPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), etc., and may also be an application-specific neural network processor or accelerator. The neural network processor may be configured such that its operating state is detected and / or monitored after startup (e.g., power-on) in order to detect and / or monitor its fault information and perform corresponding fault processing. As shown in FIG. 2, a fault processing method for a neural network processor according to an exemplary embodiment of the present disclosure includes at least the following steps:
[0023] Steps S In 201, fault information of the neural network processor is acquired.
[0024] 1, the fault control processing device 101 can detect whether any fault has occurred in the neural network processor 102 and collect related fault information. For example, by providing the fault control processing device 101 with a plurality of fault detection units associated with the external interface, calculation logic, internal buffer memory, etc. of the neural network processor 102, or a single integrated fault detection unit, it can determine whether the operating state of each module of the processor is normal or in a faulty state.
[0025] In one embodiment, the fault detection unit can detect whether a change / distortion has occurred in the program code currently being executed by the neural network processor 102, and if a change / distortion has occurred in the program code currently being executed, it indicates that a program fault has occurred, and related fault information can be collected.
[0026] In one embodiment, a fault detection unit can detect whether the codes, positions, etc. of each communication interface of the neural network processor 102 match the preset codes, positions, etc. If a mismatch occurs in the codes, positions, etc. of some or all of the communication interfaces, it indicates that an interface fault has occurred, and related fault information can be collected.
[0027] In one embodiment, the fault detection unit can detect whether the neural network processor 102 experiences a no-response or excessively long response time when performing an operation, and can indicate a time-out fault and collect related fault information if the response time is too long.
[0028] Furthermore, the fault control processing device 101 can collect fault information reported from the neural network processor 102. In one embodiment, the neural network processor 102 can detect the operating status of each part, such as its external interface, neural network calculation logic, internal buffer memory, etc., and report the detected fault information to the fault control processing device 101. For example, the neural network processor 102 can be provided with multiple detection units associated with the external interface, calculation logic, internal buffer memory, etc., or with a single integrated detection unit, to determine whether the operating status of each module of the processor is normal or in a faulty state, and report the detected fault information to the fault control processing device 101.
[0029] In one embodiment, the detection unit can detect whether a fault related to neural network operation occurs in a network layer of the neural network processor 102. For example, if it detects that a fault occurs in a unit of a convolutional (conv) layer, a fully connected (FC) layer, or a classification (e.g., softmax) layer, it indicates that a calculation logic fault has occurred, and can report the detected fault information to the fault control processing device 101.
[0030] In one embodiment, the detection unit can detect whether a fault has occurred in the arithmetic logic unit (ALU) number and type of the neural network processor 102. For example, if it detects that the number and type of a convolution (conv), pooling (pooling), drive (move), etc. does not match a preset number and type, it indicates that a fault has occurred in the arithmetic logic unit (ALU) number and type, and can report the detected fault information to the fault control processing device 101.
[0031] In one embodiment, the detection unit can detect whether a fault has occurred in the array at the position of the MAC address of the neural network processor 102. For example, if it detects that the position of the MAC address of the neural network processor 102 in the array has shifted or changed, it can indicate that a fault has occurred in the MAC position in the array, and report the detected fault information to the fault control processing device 101.
[0032] In one embodiment, the detection unit can detect whether a fault has occurred in the internal storage process of the neural network processor 102. For example, when the intermediate results of a convolution operation are stored in an internal static random access memory (SRAM), if a fault in the location and address of the SRAM is detected, it can indicate that a fault has occurred in the location and address of the static random access memory (SRAM), and report the detected fault information to the fault control processing device 101.
[0033] Steps S At 202, a fault type of a faulty module in the neural network processor is determined based on the fault information.
[0034] The failure control processing device 101 evaluates and analyzes the collected failure information, and can determine the failure type of the failed module in the neural network processor 102 based on the results of the evaluation and analysis.
[0035] Fault types generally include recoverable faults (transient recoverable faults), non-recoverable faults (permanent non-recoverable faults), and confirmed faults (i.e., faults that are not yet determined to be transient or permanent).
[0036] Steps S In 203, a preset regulation control mode is used to handle the fault occurring in the faulty module according to the fault type.
[0037] The preset adjustment control modes include a recalculation mode and a restart mode.
[0038] In actual use, the correspondence between the fault type and the adjustment control mode can be established in advance, and after determining the fault type of the neural network processor, the corresponding adjustment control mode can be selected based on this correspondence to deal with the faulty module in the neural network processor where the fault has occurred, so that the fault can be eliminated as quickly as possible and the normal operating state of the neural network processor can be restored.
[0039] The fault processing method for a neural network processor according to this embodiment has at least the following beneficial effects.
[0040] Compared with the related art, when detecting and finding a fault in a neural network processor or receiving a fault signal indication reported by the neural network processor, first determine the fault type of the faulty module in the neural network processor based on the fault information, and then select a corresponding adjustment control mode according to the fault type to handle the fault occurring in the faulty module, so that the neural network processor can quickly recover to a normal working state and continue to perform the task before the fault occurs, which is beneficial to improving the fault handling efficiency of the neural network processor and ensuring that the neural network processor can quickly respond to external information, without affecting the task execution process.
[0041] In addition, the fault processing method according to the embodiment of the present disclosure can be applied not only to multiple technical fields such as vehicle driving assistance, autonomous driving, driver monitoring, and human-computer interaction, but also to other scenarios requiring the use of neural network processors, such as aerospace aircraft, unmanned aerial vehicles, and industrial control fields.
[0042] As shown in FIG. 3, in the embodiment shown in FIG. 2, in one exemplary embodiment of the present disclosure, the step of acquiring fault information of the neural network processor shown in step S201 specifically includes: The method includes a step S301 of obtaining model-related information, hardware-related information and operation-related information of a faulty module in a neural network processor.
[0043] Deep neural network models typically involve the computation of many network layers. The computation of each network layer involves many different computation types, such as convolution, fully connected operations, pooling, scaling, transformation, and activation function calculation, as well as tensor or vector operations. Convolution operations can be further subdivided into depthwise convolution (which does not change the number of channels and only changes the size of the feature map) and pointwise convolution (which does not change the size of the feature map and only changes the number of channels).
[0044] A neural network processor may be composed of multiple component modules, which may include a storage module, multiple feedback control modules, multiple calculation modules, and an internal control module. A faulty module is one or more of the component modules that has a fault during the operation of the neural network processor. For example, if a calculation module 01 in the neural network processor fails during operation, the faulty module is the calculation module 01.
[0045] In the process of completing the processing steps of a certain calculation, reasoning, recognition and control task based on a neural network, and the neural network processor executing the neural network model, the information that needs to be collected includes model-related information corresponding to the deep neural network model, hardware-related information corresponding to each module of the neural network processor, and calculation-related information.
[0046] The model-related information includes information on aspects such as the neural network type calculation layer and calculation type to which the current calculation of the faulty module where the fault occurred belongs.
[0047] The hardware-related information includes information about the module in which the fault occurred and information related to the type classification of the module in which the fault occurred (eg, control portion, computation portion, storage portion).
[0048] The computation-related information includes information related to data dependencies, i.e., information on the impact of the current fault on the data of the computation module.
[0049] As shown in FIG. 3, the neural network processor performs the following steps based on the fault information shown in step S202: Therefore The step of determining the failure type of the faulty module specifically includes: The method includes determining a fault type of the faulty module based on at least one of model-related information, hardware-related information, or operation-related information in a step S302.
[0050] Based on the model-related information, the hardware-related information, and the operation-related information, the specific fault location and the fault cause of the faulty module in the neural network processor where the current fault has occurred can be accurately located. , Mo Dell Related Information Collect and analyzeThis allows us to determine which network layer in the neural network model has a fault in the current execution stage, and further to determine which convolution calculation or pooling operation in that network layer has the fault. For example, when a neural network model is compiled and executed on a neural network processor using a compiler, a calculation in a single layer of the network may be divided into multiple calculation steps. For example, a complete convolution calculation may be divided into 10 relatively small sub-convolution calculation sequences. In this case, the information indicating the fault can be located in a specific sub-convolution. By collecting and analyzing hardware-related information, we can determine whether the faulty module is a calculation module, such as a convolution module, pooling module, or transformation module in neural network processing, or a control module, such as a flow control module or internal memory access control module, or a related module in a data storage module composed of SRAM. By collecting and analyzing operation-related information, we can determine whether the faulty module affects the data flow of the neural network calculation modules. For example, the output result of conv (convolution) is stored in a space in SRAM (static random access memory), which may overlap or partially overlap with the input data space of conv. In this case, during the conv calculation process, the calculation result directly covers the input data of conv. In this case, if conv fails, it will affect the input data of its own module. Also, for example, conv (convolution) and pooling are calculated simultaneously, and the output of conv may cover the input of pooling. In this case, if conv fails, it will affect the input data of pooling. If a failure occurs in the storage module, the information also includes the location of the faulted data in the calculation flow.For example, a fault may occur in the input data of the current conv (or sub-conv) calculation, or in the intermediate result of the conv calculation, or in the final calculation result of the conv calculation.
[0051] Furthermore, based on the determined cause of failure and location of failure, it can be determined whether the failure type of the faulty module in which a current failure has occurred in the neural network processor is a recoverable failure, a permanent failure, or a failure to be confirmed.
[0052] As one possible form of classification of fault types, if a fault (e.g., a fault alarm from a hardware redundancy mechanism of the control circuit) occurs in the control circuit during the original calculation process, and if a fault still occurs in the control circuit after recalculation, it can be determined to be a "permanent fault" (also called an "irrecoverable fault"). If no fault occurs in the control circuit after recalculation, it can be determined to be a "transient fault" (also called a "recoverable fault").
[0053] In this embodiment, the received model-related information, hardware-related information, and operation-related information can be used to quickly and accurately determine the cause and location of the fault in the currently faulty module in the neural network processor, and determine the corresponding fault type.
[0054] 4 shows a schematic flow chart of step S203 in the embodiment shown in FIG. 2. As shown in FIG. 4, in one exemplary embodiment of the present disclosure, based on the embodiment shown in FIG. 2, the step of handling a fault occurring in a faulty module using a preset adjustment control mode according to the fault type shown in step S203 specifically includes: Step S401: if the fault type belongs to a first fault to be confirmed, taking over control of a first control module of the neural network processor, so as to control at least one calculation module of the neural network processor to perform a recalculation operation; and step S402, in response to receiving no new fault information after the recalculation operation is completed, updating the fault type to a recovered fault and releasing the first control module from taking over control.
[0055] 5 shows a structural schematic diagram of a neural network processor according to an exemplary embodiment of the present disclosure. As shown in FIG. 5, the neural network processor 102 may include an internal control module 501, a calculation module 502, a feedback control module 503, a storage module 504, an interface bus 505, and a control switching module 506.
[0056] 1 and 5, the internal control module 501 is generally an internal control and scheduling module relative to the external fault control processing device 101 of the neural network processor. The internal control module 501 is responsible for controlling and scheduling the neural network calculations of one or more calculation modules 502. The internal control module 501 may include a first control module and a second control module.
[0057] The calculation module 502 is mainly used for neural network calculation or for a part of the calculation in the neural network calculation, and may include a control information holding unit, a memory unit, and a state recording unit.
[0058] The control information storage unit can be used to store control information required for recalculation of the calculation module 502, and ensures that the control information is not covered or cleared before the calculation module 502 completes the calculation, so that the calculation module 502 can perform recalculation under the control of the internal control module 501. The control information storage unit can also store configuration information required for the current calculation of the calculation module 502 or configuration information for multiple calculations completed by the calculation module 502 in the past, and can also mark the validity of the configuration information. For example, the configuration information for the most recent four calculations of the pooling (polling) calculation module can be used. If the input data required for one of the four pooling calculations stored in SRAM has already been covered, the past configuration is recorded as an invalid configuration.
[0059] The storage unit (memory) can be used to store the input, intermediate results and final calculation results of the calculation module 502.
[0060] The status recording unit is , Mo The model information can be used to record various information related to the computing module 502, including model information, hardware information, data dependency information, etc. Among them, the model information can be written to the state recording unit through a specific interface when the internal control module of the NN (neural network) processor performs computation scheduling, or can be transmitted to the computing module 502 through a specific information segment in the control command and then stored in the state recording unit. The hardware information can be information such as the computation process, computation flow, computation state, and fault state recorded by the computing module. The data dependency information can be written to the state recording unit through a specific interface when the internal control module of the NN (neural network) processor performs computation scheduling. Data Dependency Informationmay be written to the status recording unit, or transmitted to the calculation module 502 through a specific information segment in the control command and then stored in the status recording unit, or may be information obtained through mutual communication between the calculation module 502 and other calculation modules. The fault control processing device 101 can obtain the information recorded by the status recording unit for use in subsequent judgment and control.
[0061] The feedback control module 503 can be used to feed back the recalculation operation status of the calculation module 502 to the internal control module 501. The feedback control module 503 can also be used to switch the status signal output from the calculation module 502 that performs the recalculation operation. For example, when a fault is detected, the status output signal of the recalculation is selected and used as the final output signal instead of the status output signal of the initial normal calculation.
[0062] The interface bus 505 can be used for data exchange transmission between the neural network processor 102 and the fault control processing unit 101 .
[0063] The control switching module 506 can control the computing module 502 to switch between two modes: internal control and external control. Normally, it is in the internal control mode. After a failure occurs in the computing module 502, it can switch to the external control mode, where a fault control processing unit external to the NN processor takes over and controls the operation of the computing module 502. In the external control mode, the control switching module 506 can cause the computing module 502 to switch between a functional mode, a recalculation mode, and a self-test mode. For example, in the external control mode, the computing module 502 can be directly controlled to perform a replay calculation (or enter a test mode to perform a test), or the computing module 502 that has experienced a failure can choose to continue running until the calculation is completed and then control the computing module 502 to perform a replay calculation.
[0064] In one exemplary embodiment, when the fault control processing device 101 detects that a fault has occurred in the neural network processor, it can analyze the detected fault information. After the analysis, if it determines that the fault type of the fault module currently failing in the neural network processor is the first fault to be confirmed, for example, a fault has occurred in the convolution calculation logic, it takes over the control authority of the first control module in the internal control module 501 released by the neural network processor and controls at least one calculation module 502 in the neural network processor to perform a recalculation operation (i.e., a replay operation). At the same time, it can feed back the state of the calculation module 502 performing the recalculation operation to the internal control module 501 through communication with the feedback control module 503, so that the internal control module 501 can cooperatively control the calculations of other calculation modules based on the fed back notification. If the calculation module 502 performing the above-mentioned recalculation operation finishes (completes) the recalculation operation and does not receive any new fault information, it updates the fault type of the faulty module in the neural network processor where the current fault has occurred to a recovered fault, and at the same time releases the handover of control of the first control module, i.e., returns the control authority of the first control module to the internal control module 501 of the neural network processor, so that the neural network processor can continue to perform subsequent calculations.
[0065] In another possible implementation, after the calculation module 502 that performs the recalculation operation described above finishes (completes) the recalculation operation, in response to receiving new fault information, the fault type is updated to an irrecoverable fault (or a permanent fault). At this time, the fault control processing unit 101 can perform a restart operation (i.e., a reset operation) on the NN processor or report it to an external system.
[0066] In this embodiment, if the fault control processing device 101 determines that the fault type of the currently faulty faulty module in the neural network processor is the first fault to be confirmed (e.g., a fault occurs in a certain convolutional calculation logic in the calculation module 502), it will take over from the first control module in the internal control module 501 of the neural network processor and control the calculation module 502 in which the currently faulty convolutional calculation logic has occurred to perform a recalculation operation. If the calculation module 502 does not receive any new fault information after performing the recalculation operation, it will update the fault type to a recovered fault and release the control takeover from the first control module. This will restart the neural network processor and eliminate the need to restart the system, allowing the neural network processor to quickly restore to a normal operating state. This will improve the fault handling efficiency of the neural network processor, ensure that the autonomous driving system can quickly respond to external information, and will not affect the task execution process.
[0067] Fig. 6 shows a schematic flowchart of step S401 in the embodiment shown in Fig. 4. As shown in Fig. 6, in one exemplary embodiment of the present disclosure, in the embodiment shown in Fig. 4, if the fault type shown in step S401 belongs to the first fault to be confirmed, the step of taking over control of the first control module in the neural network processor to control at least one calculation module in the neural network processor to perform a recalculation operation specifically includes: Step S601: if the fault type belongs to the first fault to be confirmed, send the first fault to be confirmed to a second control module in the neural network processor, and obtain the calculation execution order of at least two related calculation modules related to processing the first fault to be confirmed, which is returned from the second control module; The method may include a step S602 of taking over from a first control module in the neural network processor and controlling at least two associated calculation modules to perform recalculation operations according to a calculation execution order.
[0068] The neural network processor is not limited to one calculation module, but may have multiple calculation modules. The multiple calculation modules may have the same functional configuration, or may have different functional configurations. There may be data dependencies between the multiple calculation modules; for example, the calculation of one calculation module depends on the calculation results output from another calculation module. Therefore, if the fault control processing device 101 determines, based on the evaluation and analysis results of the collected failure information, that the neural network processor is currently involved in the occurrence of a failure in at least two calculation modules, and that the failure type of the failure is a first failure to be confirmed, it notifies a second control module in the neural network processor of the first failure to be confirmed. send The neural network processor then receives a calculation execution order of at least two associated calculation modules related to processing of the first fault to be confirmed, which is returned from the second control module, and controls the at least two associated calculation modules to perform recalculation operations in accordance with the calculation execution order, taking over the control authority of the first control module released by the neural network processor.
[0069] Related computing modules are generally those that have a data dependency relationship with each other. For example, the output result of computing module 01 is the input of computing module 02, and the output result of computing module 02 is the input of computing module 03. Therefore, computing module 01, computing module 02, and computing module 03 are considered to be related computing modules.
[0070] For example, the calculation execution order of at least two related calculation modules related to the processing of the first fault to be confirmed, which is received by the fault control processing device 101 from the second control module, is assumed to be calculation module 01 → calculation module 02 → calculation module 03. In this case, the fault control processing device 101 can control calculation module 01 to execute a recalculation operation first after taking over the control authority of the first control module released by the neural network processor. At the same time, the fault control processing device 101 can control calculation module 01 to transmit the status of the recalculation operation (e.g., not yet calculated, calculating, calculation completed, etc.) to the related calculation modules 02 and 03. After the calculation of calculation module 01 is completed, the calculation module 02 is controlled to execute the recalculation operation, and after the calculation of calculation module 02 is completed, the calculation module 03 is controlled to execute the recalculation operation.
[0071] Note that if the calculation of calculation module 02 or calculation module 03 depends on the calculation result of calculation module 01, or if calculation cannot be performed until calculation module 01 finishes, calculation module 02 or calculation module 03 needs to wait until calculation module 01 has finished executing the recalculation operation. Otherwise, calculation module 02 and calculation module 03 do not need to wait for calculation module 01 to finish its calculation, and can freely execute the recalculation operation.
[0072] In this embodiment, if it is determined that the faulty module in which a fault has occurred in the neural network processor is involved in a plurality of calculation modules and that the fault type of the fault that has occurred is the fault that is the first target of confirmation, the second control module is notified of the first target of confirmation. sendAfter obtaining the calculation execution order of at least two associated calculation modules related to the processing of the first fault to be confirmed returned from the second control module, the first control module in the neural network processor can take over and control the at least two associated calculation modules to perform recalculation operations according to the calculation execution order, thereby ensuring the accuracy and reliability of the recalculation results of the calculation modules.
[0073] FIG. 7 shows step S20 in the embodiment shown in FIG. 3 7 shows another schematic flowchart of the embodiment shown in FIG. 2 above. In one exemplary embodiment of the present disclosure, the step of processing a fault occurring in a faulty module using a preset adjustment control mode according to the fault type shown in step S202 specifically includes: If the fault type belongs to the second fault to be confirmed, a step S701 of taking over control of a first control module in the neural network processor, so as to control a calculation module in the neural network processor to perform a first recalculation operation to obtain a first calculation result; Step S702: controlling the calculation module to perform a second recalculation operation based on the first calculation result; and step S703, in response to receiving no new fault information after the first recalculation operation and the second recalculation operation are completed, updating the fault type to a recovered fault and releasing the first control module from taking over control.
[0074] In one exemplary embodiment, an ECC fault occurs in the SRAM (Static Random Access Memory) of the neural network processor 102, and the fault control processing unit 101, after analyzing the collected fault information, determines that a fault occurs in the input data of the conv calculation, and Data Dependency InformationThis traces back to the fact that the input data is the calculation result of the previous pooling calculation. If further detection analysis finds that the configuration information of the previous pooling calculation still exists in the control information storage unit of the corresponding calculation module and that the validity signature of the configuration information is valid (indicating that the corresponding input data is still valid in the SRAM and is not covered by other data), it can determine that the fault type of the fault currently occurring in the neural network processor 102 is the fault to be confirmed for the second time. The fault control processing device 101 then takes over control of the first control module in the neural network processor and controls the calculation module in the neural network processor to perform a first recalculation operation of the pooling calculation to obtain a first calculation result. Then, it controls the failed conv calculation to perform a second recalculation operation using the first calculation result as input. If no new fault information is received after completing the first and second recalculation operations, it updates the fault type to a recovered fault and releases the control takeover of the first control module. If new fault information is received after the first recalculation operation and / or the second recalculation operation is completed, the fault type is updated to an irrecoverable fault (or permanent fault). At this time, the fault control processing device 101 can perform a restart operation on the NN processor or report it to an external system.
[0075] In this embodiment, if the fault control processing device 101 determines that the fault type of the currently faulty fault module in the neural network processor is the second fault to be confirmed, it takes over the first control module in the internal control module of the neural network processor, controls the calculation module in the neural network processor to perform a first recalculation operation to obtain a first calculation result, and then controls the calculation module to perform a second recalculation operation using the first calculation result as input. If no new fault information is received after the first and second recalculation operations are completed, the fault type is updated to a recovered fault, and the first control module's control takeover is released, thereby restarting the neural network processor and eliminating the need to restart the system. This allows the neural network processor to quickly restore to a normal operating state, improving the fault handling efficiency of the neural network processor, ensuring that the autonomous driving system can quickly respond to external information, and not affecting the task execution process.
[0076] FIG. 8 shows a schematic flowchart of the embodiment shown in FIGS. 4, 6 and 7 before handling a fault occurring in a faulty module using a preset adjustment control mode depending on the fault type.
[0077] As shown in FIG. 8, in addition to the embodiments shown in FIGS. 4, 6, and 7, in one exemplary embodiment of the present disclosure, before the step of handling the fault occurring in the faulty module using a preset adjustment control mode according to the fault type, specifically: Step S801: if the fault type belongs to the fault to be confirmed, taking over control to a first control module in the neural network processor to control a calculation module in the neural network processor to perform a self-test operation; Step S802: in response to receiving no new fault information after the self-test operation is completed, update the fault type to a transient recoverable fault and control the calculation module to perform a re-calculation operation; Step S803 of releasing the takeover of control of the first control module in response to receiving no new fault information after the recalculation operation is completed. and , In response to receiving new fault information after the self-test operation is completed, step S804 may include updating the fault type to a permanent, unrecoverable fault and controlling the neural network processor to perform a restart operation.
[0078] In one exemplary embodiment, when the fault control processing device 101 detects that a fault has occurred in the neural network processor and determines that the fault type of the fault is a fault to be confirmed, the fault control processing device 101 can control the computing module in the neural network processor where the fault occurred to perform a self-test operation by taking over control of a first control module in the neural network processor. For example, the fault control processing device 101 controls the computing module to test its computing array using a preset test mode. If no new fault information is received after the self-test operation is completed, the fault control processing device 101 updates the fault type to a transient recoverable fault and controls the computing module to perform a re-calculation operation. If no new fault information is received after the re-calculation operation is completed, the fault control processing device 101 releases the control from the first control module. If new fault information is received after the self-test operation is completed, the fault control processing device 101 updates the fault type to a permanent unrecoverable fault and controls the neural network processor to perform a restart operation or report to an external system.
[0079] The self-test operation may be one or a combination of LBSIT test, test pattern test, or multiple different pattern modes, where pattern is a category in java.util.regex. A pattern is an expression mode after compiling a regular expression. It may also be other customized test modes.
[0080] In this embodiment, when a fault occurs in the neural network processor and it is determined that the fault type of the fault is a fault to be confirmed, the fault control processing device 101 takes over the first control module of the neural network processor, performs a self-test operation first, and then controls the calculation module in which the fault occurred to determine whether further recalculation operations are required based on the results of the self-test operation, thereby improving the efficiency of fault processing.
[0081] FIG. 9 shows step S20 in the embodiment shown in FIG. 3 9 shows another schematic flowchart of the embodiment shown in FIG. 2. As shown in FIG. 9, in one exemplary embodiment of the present disclosure, step S20 3 Specifically, If the fault type belongs to the fault to be confirmed, the fault type is sent to a second control module in the neural network processor, and the second control module controls a calculation module in the neural network processor to perform a recalculation operation and obtain a recalculation result according to the preset configuration information required for recalculation in step S901; Step S902: re-determine the fault type based on the recalculation result and obtain the re-determined fault type; The method may further include a step S903 of processing the fault occurring in the faulty module using a preset adjustment control mode in response to the redetermined fault type being the same as the previously determined fault type.
[0082] The preset configuration information required for recalculation may include a validity indicator of the configuration information, related configuration information holding the current calculation of one or more past calculations of the calculation module, and the like.
[0083] In one exemplary embodiment, the fault control processing unit 101 detects that a fault has occurred in the neural network processor, and if it determines that the fault type of the fault is a fault to be confirmed, it notifies the second control module in the neural network processor of the fault type. send The second control module then controls the calculation module in the neural network processor to perform a recalculation operation and obtain a recalculation result based on the preset configuration information required for the recalculation. The fault control processing device 101 redetermines the fault type of the fault currently occurring in the neural network processor based on the recalculation result returned from the second control module, and obtains the redetermined fault type. It is assumed that the redetermined fault type is the fault to be confirmed first and that the previously determined fault type is also the fault to be confirmed first, i.e., both are the same. Then, by taking over control of the first control module in the neural network processor, the subsequent flow shown in the embodiment shown in Figure 4 can be executed.
[0084] In this embodiment, when the fault control processing device 101 determines that the fault type of the fault currently occurring in the neural network processor is the fault to be checked, it first notifies the second control module of the fault type. sendThe second control module can then control the calculation module of the neural network processor to perform a recalculation operation and obtain a recalculation result. Next, if the fault control processing device 101 re-determines, based on the recalculation result returned from the second control module, that the fault type is the same as the previously determined fault type, it takes over control of the first control module and controls the calculation module of the neural network processor to perform a recalculation operation. In other words, by mutual cooperation between the internal control module (second control module) of the neural network processor and the fault control processing device 101, fault processing for a fault in the neural network processor can be realized and the reliability of the fault processing result can be improved.
[0085] FIG. 10 shows a process in which the second control module in the embodiment shown in FIG. 9 controls the calculation module in the neural network processor to perform a recalculation operation based on the preset configuration information required for recalculation, and outputs the recalculation result. obtain 1 shows a schematic flow chart of the steps.
[0086] As shown in FIG. 10 , in addition to the embodiment shown in FIG. 9 , in one exemplary embodiment of the present disclosure, the step of the second control module controlling the calculation module in the neural network processor to perform a recalculation operation and obtain a recalculation result based on the preset configuration information required for recalculation is specifically as follows: Step S1001: controlling a calculation module to perform at least two recalculation operations based on preset configuration information required for recalculation, and obtaining at least two recalculation results; Step S1002 of comparing at least two recalculation results and obtaining a comparison result; The method may include step S1003 of determining a recalculation result based on the comparison result.
[0087] In one exemplary embodiment, the second control module can control the calculation module of the neural network processor to perform at least two recalculations based on preset configuration information required for recalculation, where the at least two recalculations are hash calculations, thereby obtaining at least two hash values, and storing each hash value in a different storage space for easy subsequent reading. Then, the at least two hash values are compared, and the comparison method can be to determine whether the at least two hash values are the same. If the comparison result shows that the at least two hash values are not completely the same, it is determined that a fault still exists in the neural network processor. ,ratio If the comparison results in at least two hash values being exactly the same, it is determined that the neural network processor does not currently have a fault.
[0088] In one exemplary embodiment, if it is determined that a fault still exists in the neural network processor, a message may be sent back to the fault control processor 101 that a fault still exists in the neural network processor.
[0089] In this embodiment, the calculation module is controlled to perform at least two recalculation operations, and the at least two recalculation results are compared to obtain a comparison result. Then, whether a fault exists in the neural network processor is determined based on the comparison result, thereby ensuring the reliability of the fault assessment analysis result.
[0090] In the above embodiment, when executing the recalculation operation or self-test operation step, it is necessary to perform necessary processing for other fault detection mechanisms. For example, it is necessary to process the watchdog mechanism for timeout detection while controlling the recalculation operation. It is also necessary to process the watchdog mechanism for timeout detection and the disable mechanism while controlling the self-test operation. Among them, the watchdog mechanism, i.e., the Linux watchdog, is a computer program that is standard in Linux (registered trademark) and is used to monitor the operation of the monitoring system.
[0091] [Example Device] The embodiment of the present disclosure further provides a fault processing device for a neural network processor based on the same concept as the embodiment of the method of the present disclosure.
[0092] FIG. 11 shows a structural schematic diagram of a fault handling device of a neural network processor according to one exemplary embodiment of the present disclosure.
[0093] As shown in FIG. 11 , a fault processing device of a neural network processor according to one exemplary embodiment of the present disclosure includes: a failure information acquisition module 111 configured to acquire failure information of the neural network processor; a fault type determination module 112 configured to obtain fault information of the neural network processor and determine a fault type of the faulty module in the neural network processor based on the fault information; a failure processing module 113 configured to process a failure occurring in the failure module using a preset adjustment control mode depending on the failure type.
[0094] As shown in FIG. 12, in one exemplary embodiment of the present invention, the fault processing module 113: a first calculation unit 1131 configured to take over control of a first control module in the neural network processor, so as to control at least one calculation module in the neural network processor to perform a recalculation operation if the fault type belongs to a first confirmed fault; and a first updating unit 1132 configured to update the failure type to a recovered failure and release the first control module from taking over control in response to receiving no new failure information after the recalculation operation is completed.
[0095] In one exemplary embodiment of the present invention, the first calculation unit 1131 specifically includes: a sending component configured to, when the fault type belongs to the first fault to be confirmed, send the first fault to be confirmed to a second control module in the neural network processor, and obtain a calculation execution order of at least two associated calculation modules related to processing the first fault to be confirmed, returned from the second control module; and a takeover component configured to take over from the first control module in the neural network processor and control at least two associated calculation modules to perform recalculation operations according to a calculation execution order.
[0096] As shown in FIG. 13, in another exemplary embodiment of the present invention, the fault processing module 113: a second calculation unit 1133 configured to take over control of a first control module in the neural network processor when the fault type belongs to a second fault to be confirmed, so as to control a calculation module in the neural network processor to perform a first recalculation operation to obtain a first calculation result; a control unit 1134 configured to control the calculation module to perform a second recalculation operation based on the first calculation result; and a second update unit 1135 configured to update the failure type to a recovered failure and release the first control module from taking over control in response to receiving no new failure information after the first recalculation operation and the second recalculation operation are completed.
[0097] In the embodiment of the present invention shown in FIGS. 12 and 13, the fault processing device specifically includes: a self-test module configured to take over control of a first control module in the neural network processor to control a calculation module in the neural network processor to perform a self-test operation if the fault type belongs to the fault to be confirmed; an update module configured to, in response to receiving no new fault information after the self-test operation is completed, update the fault type to a transient recoverable fault and control the calculation module to perform a re-calculation operation; a release module configured to release the takeover of control of the first control module in response to receiving no new fault information after the recalculation operation is completed; The system may further include a restart module configured to update the failure type to a permanent, unrecoverable failure and control the neural network processor to perform a restart operation in response to receiving new failure information after the self-test operation is completed.
[0098] As shown in FIG. 14, in another exemplary embodiment of the present invention, the fault processing module 113: If the fault type belongs to the fault to be confirmed, the second control module in the neural network processor performs a recalculation operation based on the configuration information required for the recalculation that is set in advance, and outputs the recalculation result. of Tori gain a sending unit 1136 configured to send the fault type to the second control module, so as to control the calculation module in the neural network processor to a receiving unit 1137 configured to redetermine the fault type based on the recalculation result and obtain a redetermined fault type; and a processing unit 1138 configured to process the fault occurring in the faulty module using a preset adjustment control mode in response to the redetermined fault type being the same as the previously determined fault type.
[0099] In one embodiment of the present invention, in the embodiment shown in FIG. 14, the second control module: a recalculation unit configured to control the calculation module to perform at least two recalculation operations based on preset configuration information required for recalculation, and obtain at least two recalculation results; a comparison unit configured to compare at least two recalculation results to obtain a comparison result; 、 of include.
[0100] As shown in FIG. 15 , in another exemplary embodiment of the present invention, the failure information acquisition module 111 includes an information receiving unit 1111 configured to acquire model-related information, hardware-related information and operation-related information of the failure module in the neural network processor.
[0101] The fault type determination module 112 is configured to determine a fault type of the failing module based on at least one of the model-related information, the hardware-related information, or the operation-related information.
[0102] [Example electronic devices] FIG. 16 is a structural diagram of an electronic device according to one exemplary embodiment of the present disclosure.
[0103] As shown in FIG. 16, the electronic device 160 includes one or more processors 161 and a memory 162.
[0104] Processor 161 may be a central processing unit (CPU) or other form of processing device having data processing and / or instruction execution capabilities, and may control other components in electronic device 160 to perform desired functions.
[0105] The memory 162 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory. The non-volatile memory may include, for example, read-only memory (ROM), a hard disk, and flash memory. The computer-readable storage media may store one or more computer program instructions, and the processor 161 may execute the program instructions to implement the neural network processor fault handling method and / or other desired functions according to the above-described embodiments of the present disclosure.
[0106] As an example, electronic device 160 may further include input devices 163 and output devices 164, with these components interconnected via a bus system and / or other form of connection (not shown).
[0107] 16 shows only some of the components of the electronic device 160 that are relevant to the present disclosure, and omits components such as buses, input / output interfaces, etc. In addition, the electronic device 160 may further include any other appropriate components depending on the specific application.
[0108] Exemplary Computer Program Products and Computer-Readable Storage Media In addition to the methods and apparatus described above, embodiments of the present disclosure may be computer program products that include computer program instructions that, when executed by a processor, cause the processor to implement neural networking according to various embodiments of the present disclosure as described in the "Exemplary Methods" section above of this specification. Fault handling method for network processor Execute the steps in
[0109] The computer program product may have program code for carrying out operations of embodiments of the present disclosure written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and traditional procedural programming languages such as "C" or similar programming languages. The program code may execute entirely on a user's computing device, partially on a user's device, as separate software packages, partially on a user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0110] Furthermore, an embodiment of the present disclosure may be a computer-readable storage medium having stored thereon computer program instructions that, when executed by a processor, cause the processor to perform steps in the neural network processor fault handling methods according to various embodiments of the present disclosure described above in the "Exemplary Method" section of this specification.
[0111] The computer-readable storage medium may be one or any combination of multiple readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable medium may include, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include an electrical connection having one or more leads, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fiber, a compact disc read-only memory (CD-ROM), an optical storage element, a magnetic storage element, or any suitable combination of the above.
[0112] Although the basic principles of the present disclosure have been described above with reference to specific embodiments, the benefits, advantages, effects, etc. mentioned in the present disclosure are not limited but merely illustrative, and these benefits, advantages, effects, etc. do not necessarily exist in each embodiment of the present disclosure. Furthermore, the specific details disclosed above are not limited but merely serve to serve as examples and to facilitate understanding, and the above details do not necessarily limit the present disclosure to be realized by the above specific details.
[0113] The foregoing description has been presented for purposes of illustration and description. Furthermore, the description is not intended to limit the disclosed embodiments to the precise form disclosed. While several exemplary aspects and embodiments have been discussed above, those skilled in the art may contemplate certain modifications, alterations, variations, additions, and subcombinations.
Claims
1. obtaining fault information of the neural network processor; determining a fault type of a faulty module in the neural network processor based on the fault information; and processing the fault occurring in the faulty module using a preset adjustment control mode according to the fault type.
2. The step of handling the fault occurring in the faulty module using a preset adjustment control mode according to the fault type includes: if the fault type belongs to a first confirmed fault, taking over control to a first control module in the neural network processor to control at least one calculation module in the neural network processor to perform a recalculation operation; and in response to receiving no new fault information after completing the recalculation operation, updating the fault type to a recovered fault and releasing takeover of control of the first control module.
3. If the fault type belongs to a first fault to be confirmed, taking over control to a first control module in the neural network processor to control at least one calculation module in the neural network processor to perform a recalculation operation, If the fault type belongs to a first fault to be confirmed, transmitting the first fault to be confirmed to a second control module in the neural network processor, and obtaining a calculation execution order of at least two related calculation modules related to processing the first fault to be confirmed, which is returned from the second control module; and a step of: taking over from a first control module in the neural network processor and controlling the at least two associated calculation modules to perform recalculation operations according to the calculation execution order.
4. The step of handling the fault occurring in the faulty module using a preset adjustment control mode according to the fault type includes: if the fault type belongs to a second fault to be confirmed, taking over control of a first control module in the neural network processor to control a calculation module in the neural network processor to perform a first recalculation operation to obtain a first calculation result; controlling the calculation module to perform a second recalculation operation based on the first calculation result; 2. The method of claim 1, further comprising: updating the failure type to a recovered failure and releasing control of the first control module in response to receiving no new failure information after completing the first recalculation operation and the second recalculation operation.
5. before the step of processing the fault occurring in the faulty module using a preset adjustment control mode according to the fault type; if the fault type belongs to the faults to be confirmed, taking over control to a first control module in the neural network processor to control a calculation module in the neural network processor to perform a self-test operation; In response to receiving no new fault information after a self-test operation is completed, updating the fault type to a transient recoverable fault and controlling the calculation module to perform a recalculation operation; releasing the takeover of control of the first control module in response to receiving no new fault information after the recalculation operation has finished; or and updating the fault type to a permanent, unrecoverable fault and controlling the neural network processor to perform a restart operation in response to receiving new fault information after a self-test operation has ended.
6. The step of handling the fault occurring in the faulty module using a preset adjustment control mode according to the fault type includes: If the fault type belongs to the fault to be confirmed, transmitting the fault type to a second control module in the neural network processor, and the second control module controls a calculation module in the neural network processor to perform a recalculation operation and obtain a recalculation result based on preset configuration information required for recalculation; re-determining the fault type based on the recalculation result to obtain a re-determined fault type; and in response to the redetermined fault type being the same as the previously determined fault type, processing the fault that occurred in the faulty module using a preset adjustment control mode.
7. The step of the second control module controlling the calculation module in the neural network processor to perform a recalculation operation and obtain a recalculation result based on preset configuration information required for recalculation, the second control module controls the calculation module based on the preset configuration information required for recalculation to perform at least two recalculation operations to obtain at least two recalculation results; the second control module comparing the at least two recalculation results to obtain a comparison result; and obtaining the recalculated result based on the comparison result.
8. The step of acquiring failure information of the neural network processor includes: obtaining model-related information, hardware-related information and operation-related information of a faulty module in the neural network processor; The step of determining a fault type of a faulty module in the neural network processor, in which a fault has occurred, based on the fault information, comprises: The method of claim 1 , further comprising determining a fault type of the failing module based on at least one of the model-related information, the hardware-related information, or the operation-related information.
9. a failure information acquisition module configured to acquire failure information of the neural network processor; a fault type determination module configured to determine a fault type of a fault module in the neural network processor based on the fault information; a fault processing module configured to process a fault occurring in the fault module using a preset adjustment control mode according to the fault type.
10. A computer-readable storage medium storing a computer program for executing the neural network processor fault processing method according to any one of claims 1 to 8.
11. a neural network processor; a memory for storing instructions executable by said neural network processor; The neural network processor reads and executes the executable instructions from the memory to implement the fault processing method for a neural network processor according to any one of claims 1 to 8.
Citation Information
Patent Citations
Software management device
JP2006011647A
Repeater and hot water supplier
JP2019128653A
System and method for handling errors in a vehicle neural network processor
US20190155678A1