# US 12,223,427 B2 · Real time context dependent deep learning

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

- Number: US 12,223,427 B2
- Document ID: US12223427B2
- Status: Granted
- Kind: B2
- Application number: 18/325,744
- Filed: 2023-05-30
- Published: 2023-12-07
- Granted: 2025-02-11
- Earliest claimed: 2017-04-24
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Lev Faivishevsky; Tomer Bar-On; Yaniv Fais; Jacob Subag; Jeremie Dreyfuss; Amit Bleiweiss; Tomer Schwartz; Raanan Yonatan Yehezkel Rohekar; Michael Behar; Amitai Armon; Uzi Sarel
- Web page: https://patentgrep.com/patent/US12223427B2

## CPC

- G06N 3/08: Learning methods
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/09: Supervised learning
- G06N 3/098: Distributed learning, e.g. federated learning
- G06N 20/00: Machine learning
- G06N 20/10: using kernel methods, e.g. support vector machines [SVM]
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

In an example, an apparatus comprises a plurality of execution units comprising and logic, at least partially including hardware logic, to receive a plurality of data inputs for training a neural network, wherein the data inputs comprise training data and weights inputs; represent the data inputs in a first form; and represent the weight inputs in a second form. Other embodiments are also disclosed and claimed.

## Claims

### Claim 1

An apparatus comprising:
a general purpose graphics processing unit (GPGPU) comprising a plurality of streaming multiprocessors (SMs), the GPGPU to:
receive data inputs for training a neural network executed by the plurality of SMs, wherein the data inputs comprise training data and weights inputs;
perform measurements of latency of the plurality of SMs;
determine a ratio of the latency for the plurality of SMs; and
assign, in accordance with the ratio of the latency, the training data in a low precision form and assign the weights inputs in a high precision form among the plurality of SMs, wherein the low precision form is lower than the high precision form.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein:
the training data are assigned to a first type of graphics processor; and
the weights inputs are assigned to a second type of graphics processor.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein the first type of graphics processor and the second type of graphics processor are on a single integrated circuit.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein errors accumulate on the weights inputs.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the training data does not accumulate errors.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the GPGPU to assign the training data in accordance with the ratio of the latency further comprises the GPGPU to assign the training data proportionally to the ratio of latency for the plurality of SMs.

### Claim 7

A system, comprising:
an interconnect fabric; and
a general purpose graphics processing unit (GPGPU) comprising a plurality of streaming multiprocessors (SMs) communicatively coupled to the interconnect fabric, the GPGPU comprising a plurality of execution resources and a local cache memory, and the GPGPU to:
receive a plurality of data inputs for training a neural network executed by the plurality of SMs, wherein the data inputs comprise training data and weights inputs;
perform measurements of latency of the plurality of SMs;
determine a ratio of the latency for the plurality of SMs; and
assign, in accordance with the ratio of the latency, the training data in a low precision form and assign the weights inputs in a high precision form among the plurality of SMs, wherein the low precision form is lower than the high precision form.

### Claim 8 (depends on 7)

The system of claim 7, wherein:
the training data are assigned to a first type of graphics processor; and
the weights inputs are assigned to a second type of graphics processor.

### Claim 9 (depends on 7)

The system of claim 7, wherein errors accumulate on the weights inputs.

### Claim 10 (depends on 7)

The system of claim 7, wherein the training data does not accumulate errors.

### Claim 11 (depends on 7)

The system of claim 7, wherein the GPGPU to assign the training data in accordance with the ratio of the latency further comprises the GPGPU to assign the training data proportionally to the ratio of latency for the plurality of SMs.

### Claim 12

A method comprising:
receiving, in a general purpose graphics processing unit (GPGPU) comprising a plurality of streaming multiprocessors (SMs), a plurality of data inputs for training a neural network executed by the plurality of SMs, wherein the data inputs comprise training data and weights inputs;
performing measurements of latency of the plurality of SMs;
determining a ratio of the latency for the plurality of SMs; and
assigning, in accordance with the ratio of the latency, the training data in a low precision form and assigning the weights inputs in a high precision form among the plurality of SMs, wherein the low precision form is lower than the high precision form.

### Claim 13 (depends on 12)

The method of claim 12, wherein:
the training data are assigned to a first type of graphics processor; and
the weights inputs are assigned to a second type of graphics processor.

### Claim 14 (depends on 12)

The method of claim 12, wherein errors accumulate on the weights inputs.

### Claim 15 (depends on 12)

The method of claim 12, wherein the training data does not accumulate errors.

### Claim 16 (depends on 12)

The method of claim 12, wherein assigning the training data in accordance with the ratio of the latency further comprises assigning the training data proportionally to the ratio of latency for the plurality of SMs.

### Claim 17

A non-transitory machine-readable storage medium having stored thereon executable computer program instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving, in a general purpose graphics processing unit (GPGPU) comprising a plurality of streaming multiprocessors (SMs), data inputs for training a neural network executed by the plurality of SMs, wherein the data inputs comprise training data and weights inputs;
performing measurements of latency of the plurality of SMs;
determining a ratio of the latency for the plurality of SMs; and
assigning, in accordance with the ratio of the latency, the training data in a low precision form and assigning the weights inputs in a high precision form among the plurality of SMs, wherein the low precision form is lower than the high precision form.

### Claim 18 (depends on 17)

The non-transitory machine-readable storage medium as in claim 17, wherein:
the training data are assigned to a first type of graphics processor; and
the weights inputs are assigned to a second type of graphics processor.

### Claim 19 (depends on 17)

The non-transitory machine-readable storage medium as in claim 17, wherein errors accumulate on the weights inputs, and wherein the training data does not accumulate errors.

### Claim 20 (depends on 17)

The non-transitory machine-readable storage medium as in claim 17, wherein assigning the training data in accordance with the ratio of the latency further comprises assigning the training data proportionally to the ratio of latency for the plurality of SMs.
