# US 12,001,944 B2 · Tool for facilitating efficiency in machine learning

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,944 B2
- Document ID: US12001944B2
- Status: Granted
- Kind: B2
- Application number: 17/874,876
- Filed: 2022-07-27
- Published: 2023-01-19
- Granted: 2024-06-04
- Earliest claimed: 2017-04-28
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Rajkishore Barik; Brian T. Lewis; Murali Sundaresan; Jeffrey Jackson; Feng Chen; Xiaoming Chen; Mike Macpherson
- Web page: https://patentgrep.com/patent/US12001944B2

## CPC

- G06N 3/063: using electronic means
- G06F 9/46: Multiprogramming arrangements
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/0495: Quantised networks; Sparse networks; Compressed networks
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 3/09: Supervised learning
- G06N 3/098: Distributed learning, e.g. federated learning
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06F 9/505: {considering the load}
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A mechanism is described for facilitating smart distribution of resources for deep learning autonomous machines. A method of embodiments, as described herein, includes detecting one or more sets of data from one or more sources over one or more networks, and introducing a library to a neural network application to determine an optimal point at which to apply frequency scaling without degrading performance of the neural network application at a computing device.

## Claims

### Claim 1

An apparatus comprising:
a graphics processor to:
cause a neural network application to implement a library comprising machine learning primitives, wherein the machine learning primitives are usable to analyze a skew pattern observed in a distributed gradient synchronization implemented by the neural network application;
determine, using the machine learning primitives of the library, a point to apply frequency scaling in the graphics processor without degrading performance of the neural network application, the point determined based on analysis of the skew pattern generated by the distributed gradient synchronization; and
determine, using the library as implemented by the neural network application, a core frequency of the frequency scaling applied at the point, wherein the library is to account for skew characteristics associated with the distributed gradient synchronization to decide the core frequency.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the point is determined through the distributed gradient synchronization using a tree-like structure such that local weight vectors start at one or more nodes represented as leaves of the tree-like structure and communicate up to a root of the tree-like structure.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the graphics processor is further to introduce sparse matrix representation for weights to overlap communication and computation across multiple nodes associated with the neural network application to reduce communication costs.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the graphics processor is further to automatically analyze failed execution of programs including or relevant to the neural network application to obtain insights on one or more faults of hardware performance counters.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the graphics processor is further to provide one or more of successful execution information obtained from successful execution of the programs and failed execution information obtained from the failed execution of the programs to a trained network model to seek out one or more of the hardware performance counters that are regarded as faulty or outside a range of approval.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the graphics processor is further to perform local error propagation by computing high precision and low precision for local weights and compute local errors at each of multiple nodes associated with the neural network application, wherein performing the local error propagation includes facilitating weight synchronization across the multiple nodes to track the local errors for accuracy and reduced communication.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the apparatus comprises an autonomous machine including one or more of a vehicle, a device, and an equipment, wherein the autonomous machine comprises one or more processors including the graphics processor, wherein the graphics processor is co-located with an application processor on a common semiconductor package.

### Claim 8

A method comprising:
causing a neural network application to implement a library comprising machine learning primitives, wherein the machine learning primitives are usable to analyze a skew pattern observed in a distributed gradient synchronization implemented by the neural network application;
determining, using the machine learning primitives of the library, a point to apply frequency scaling in a computing device hosting the neural network application without degrading performance of the neural network application at the computing device, the point determined based on analysis of the skew pattern generated by the distributed gradient synchronization; and
determining, using the library as implemented by the neural network application, a core frequency of the frequency scaling applied at the point, wherein the library is to account for skew characteristics associated with the distributed gradient synchronization to decide the core frequency.

### Claim 9 (depends on 8)

The method of claim 8, wherein the point is determined through the distributed gradient synchronization using a tree-like structure such that local weight vectors start at one or more nodes represented as leaves of the tree-like structure and communicate up to a root of the tree-like structure.

### Claim 10 (depends on 8)

The method of claim 8, further comprising introducing sparse matrix representation for weights to overlap communication and computation across multiple nodes associated with the neural network application to reduce communication costs.

### Claim 11 (depends on 8)

The method of claim 8, further comprising automatically analyzing failed execution of programs including or relevant to the neural network application to obtain insights on one or more faults of hardware performance counters.

### Claim 12 (depends on 11)

The method of claim 11, further comprising providing one or more of successful execution information obtained from successful execution of the programs and failed execution information obtained from the failed execution of the programs to a trained network model to seek out one or more of the hardware performance counters that are regarded as faulty or outside a range of approval.

### Claim 13 (depends on 8)

The method of claim 8, further comprising performing local error propagation by computing high precision and low precision for local weights and compute local errors at each of multiple nodes associated with the neural network application, wherein performing the local error propagation includes facilitating weight synchronization across the multiple nodes to track the local errors for accuracy and reduced communication.

### Claim 14 (depends on 8)

The method of claim 8, wherein the computing device comprises an autonomous machine including one or more of a vehicle, a device, and an equipment, wherein the autonomous machine comprises one or more processors including a graphics processor, wherein the graphics processor is co-located with an application processor on a common semiconductor package.

### Claim 15

A non-transitory machine-readable medium comprising instructions that when executed by a computing device, cause the computing device to perform operations comprising:
causing a neural network application to implement a library comprising machine learning primitives, wherein the machine learning primitives are usable to analyze a skew pattern observed in a distributed gradient synchronization implemented by the neural network application;
determining, using the machine learning primitives of the library, a point to apply frequency scaling in the computing device without degrading performance of the neural network application, the point determined based on analysis of the skew pattern generated by the distributed gradient synchronization; and
determining, using the library as implemented by the neural network application, a core frequency of the frequency scaling applied at the point, wherein the library is to account for skew characteristics associated with the distributed gradient synchronization to decide the core frequency.

### Claim 16 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein the point is determined through the distributed gradient synchronization using a tree-like structure such that local weight vectors start at one or more nodes represented as leaves of the tree-like structure and communicate up to a root of the tree-like structure.

### Claim 17 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein the operations further comprise introducing sparse matrix representation for weights to overlap communication and computation across multiple nodes associated with the neural network application to reduce communication costs.

### Claim 18 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein the operations further comprise automatically analyzing failed execution of programs including or relevant to the neural network application to obtain insights on one or more faults of hardware performance counters.

### Claim 19 (depends on 18)

The non-transitory machine-readable medium of claim 18, wherein the operations further comprise providing one or more of successful execution information obtained from successful execution of the programs and failed execution information obtained from the failed execution of the programs to a trained network model to seek out one or more of the hardware performance counters that are regarded as faulty or outside a range of approval.

### Claim 20 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein the operations further comprise performing local error propagation by computing high precision and low precision for local weights and compute local errors at each of multiple nodes associated with the neural network application, wherein performing the local error propagation includes facilitating weight synchronization across the multiple nodes to track the local errors for accuracy and reduced communication, wherein the computing device comprises an autonomous machine including one or more of a vehicle, a device, and an equipment, wherein the autonomous machine comprises one or more processors including a graphics processor, wherein the graphics processor is co-located with an application processor on a common semiconductor package.

### Claim 21

A system comprising:
a memory; and
a graphics processor communicably coupled to the memory, the graphics processor to:
cause a neural network application to implement a library comprising machine learning primitives, wherein the machine learning primitives are usable to analyze a skew pattern observed in a distributed gradient synchronization implemented by the neural network application;
determine, using the machine learning primitives of the library, a point to apply frequency scaling in the graphics processor without degrading performance of the neural network application, the point determined based on analysis of the skew pattern generated by the distributed gradient synchronization; and
determine, using the library as implemented by the neural network application, a core frequency of the frequency scaling applied at the point, wherein the library is to account for skew characteristics associated with the distributed gradient synchronization to decide the core frequency.

### Claim 22 (depends on 21)

The system of claim 21, wherein the point is determined through the distributed gradient synchronization using a tree-like structure such that local weight vectors start at one or more nodes represented as leaves of the tree-like structure and communicate up to a root of the tree-like structure.

### Claim 23 (depends on 21)

The system of claim 21, wherein the graphics processor is further to introduce sparse matrix representation for weights to overlap communication and computation across multiple nodes associated with the neural network application to reduce communication costs.

### Claim 24 (depends on 21)

The system of claim 21, wherein the graphics processor is further to automatically analyze failed execution of programs including or relevant to the neural network application to obtain insights on one or more faults of hardware performance counters.

### Claim 25 (depends on 24)

The system of claim 24, wherein the graphics processor is further to provide one or more of successful execution information obtained from successful execution of the programs and failed execution information obtained from the failed execution of the programs to a trained network model to seek out one or more of the hardware performance counters that are regarded as faulty or outside a range of approval.
