IP Library Granted Patent US 11,113,140
Granted Patent B2
US 11,113,140 · App. 16/416,726 · Granted Sep 7, 2021

Detecting error in executing computation graph on heterogeneous computing devices

Inventor: Weifeng Zhang (San Mateo, CA)
Assignee: Alibaba Group Holding Limited
G06F11/079G06F9/461G06F11/0709G06F11/0751
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,113,140
App. No.
16/416,726
Granted
Sep 7, 2021
Kind
B2
Abstract

The present disclosure relates to a method for detecting error in executing a computation graph on heterogeneous computing devices. The method comprises receiving a first reference value as an execution result for a first node of the computation graph from a reference device included in the heterogeneous computing devices, receiving a first target value from a target device included in the heterogeneous computing devices as an execution result by the target device for the first node, comparing the first reference value and the first target value, and determining whether the first target value is in error based on the comparison of the first reference value and the first target value. The method can further comprise generating multiple execution contexts for executing the computation graph on the heterogeneous computing devices.

Claims (62)

1. A method for detecting error in executing a computation graph on heterogeneous computing devices, the method comprising:

receiving a first reference value from a reference computing device included in the heterogeneous computing devices, the first reference value being an execution result by the reference computing device for a first node of the computation graph representing a machine learning model;

receiving a first target value from a target computing device included in the heterogeneous computing devices as an execution result by the target computing device for the first node;

comparing the first reference value and the first target value; and

determining whether the first target value is in error based on the comparison of the first reference value and the first target value.

2. The method of claim 1 , wherein determining whether the first target value is in error comprises:

determining whether a difference value between the first reference value and the first target value is within a pre-set threshold value.

3. The method of claim 2 , further comprising:

in response to the determination that the difference value between the first reference value and the first target value is not within the pre-set threshold value, classifying the first node corresponding to the target computing device as a node that has an error.

4. The method of claim 1 , further comprising:

receiving a second reference value from the reference computing device as an execution result by the reference computing device for a second node of the computation graph;

receiving a second target value from the target computing device as an execution result by the target computing device for the second node, wherein the second target value is obtained by executing the second node using the first reference value as an execution result for the first node;

comparing the second reference value and the second target value; and

determining whether the second target value is in error based on the comparison between the second reference value and the second target value.

5. The method of any one of claim 1 , further comprising:

generating a reference execution context for executing the computation graph on the reference computing device and a target execution context for executing the computation graph on the target computing device.

6. The method of claim 1 , wherein:

after completion of execution of the first node, execution of the computation graph by the target computing device is suspended until the classification of the first node is completed.

7. The method of claim 6 , wherein:

after the classification of the first node is completed, execution of the computation graph by the target computing device is resumed.

8. A system for detecting error in executing a computation graph on heterogeneous computing devices, the system comprising:

heterogeneous computing devices including a reference computing device and a target computing device each of which is configured to execute the computation graph representing a machine learning model; and

an error detection apparatus configured to:

receive a first reference value from the reference computing device as an execution result by the reference computing device for a first node of the computation graph;

receive a first target value from the target computing device as an execution result by the target computing device for the first node;

compare the first reference value and the first target value; and

determine whether the first target value is in error based on the comparison of the first reference value and the first target value.

9. The system of claim 8 , wherein the error detection apparatus is configured to determine whether the first target value is in error by:

determining whether a difference value between the first reference value and the first target value is within a pre-set threshold value.

10. The system of claim 9 , wherein the error detection apparatus is further configured to:

in response to the determination that the difference value between the first reference value and the first target value is not within the pre-set threshold value, classify the first node corresponding to the target computing device as a node that has an error.

11. The system of claim 8 , wherein the error detection apparatus is further configured to:

receive a second reference value from the reference computing device as an execution result by the reference computing device for a second node of the computation graph;

receive a second target value from the target computing device as an execution result by the target computing device for the second node, wherein the second target value is obtained by executing the second node using the first reference value as an execution result for the first node;

compare the second reference value and the second target value; and

determine whether the second target value is in error based on the comparison between the second reference value and the second target value.

12. The system of claim 8 , wherein the error detection apparatus is further configured to:

generate a reference execution context for executing the computation graph on the reference computing device and a target execution context for executing the computation graph on the target computing device.

13. The system of claim 8 , wherein:

after completion of execution of the first node, execution of the computation graph by the target computing device is suspended until the classification of the first node is completed by the error detection apparatus.

14. The system of claim 13 , wherein:

after the classification of the first node is completed by the error detection apparatus, execution of the computation graph by the target computing device is resumed.

15. A non-transitory computer readable medium that stores a set of instructions that is executable by at least one processor of a computing device to cause the computing device to perform a method for detecting error in executing a computation graph on heterogeneous computing devices, the method comprising:

receiving a first reference value from a reference computing device included in the heterogeneous computing devices, the first reference value being an execution result by the reference computing device for a first node of the computation graph representing a machine learning model;

receiving a first target value from a target computing device included in the heterogeneous computing devices as an execution result by the target computing device for the first node;

comparing the first reference value and the first target value; and

determining whether the first target value is in error based on the comparison of the first reference value and the first target value.

16. The computer readable medium of claim 15 , wherein determining whether the first target value is in error comprises:

determining whether a difference value between the first reference value and the first target value is within a pre-set threshold value.

17. The computer readable medium of claim 16 , further comprising:

in response to the determination that the difference value between the first reference value and the first target value is not within the pre-set threshold value, classifying the first node corresponding to the target computing device as a node that has an error.

18. The computer readable medium of claim 15 , wherein the set of instructions that is executable by at least one processor of the computing device to cause the computing device to further perform:

receiving a second reference value from the reference computing device as an execution result by the reference computing device for a second node of the computation graph;

receiving a second target value from the target computing device as an execution result by the target computing device for the second node, wherein the second target value is obtained by executing the second node using the first reference value as an execution result for the first node;

comparing the second reference value and the second target value; and

determining whether the second target value is in error based on the comparison between the second reference value and the second target value.

19. The computer readable medium of claim 15 , wherein the set of instructions that is executable by at least one processor of the computing device to cause the computing device to further perform:

generating a reference execution context for executing the computation graph on the reference computing device and a target execution context for executing the computation graph on the target computing device.

20. The computer readable medium of claim 15 , wherein:

after completion of execution of the first node, execution of the computation graph by the target computing device is suspended until the classification of the first node is completed.

21. The computer readable medium of claim 20 , wherein:

after the classification of the first node is completed, execution of the computation graph by the target computing device is resumed.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2020
From: ZHANG, WEIFENG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 054215/0270 →
Continuity (1)
Related Publication 20200371856A1 · Nov 26, 2020