IP Library › Granted Patent US 11,126,912
Granted Patent B2
US 11,126,912 · App. 16/709,507 · Granted Sep 21, 2021

Realigning streams of neuron outputs in artificial neural network computations

Inventors: Sebastien Delerse (Brétigny sur orge, FR); Ludovic Larzul (El Dorado Hills, CA); Benoit Chappet De Vangel (Paris, FR); Taoufik Chouta (Massy, FR)
Assignee: MIPSOLOGY SAS
G06N3/063G06N3/049
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,126,912
App. No.
16/709,507
Granted
Sep 21, 2021
Kind
B2
Abstract

Systems and methods for realigning streams of neuron outputs are provided. An example method may include generating, by a processing unit, neuron outputs including at least a first neuron output and a second neuron output, generating, by at least one further processing unit, further neuron outputs including at least a further first neuron output and a further second neuron output, receiving, by a synchronization module communicatively coupled to the processing unit and the further processing unit, the neuron outputs, wherein the neuron outputs and the further neuron outputs are received in an arbitrary order, and ordering, by the synchronization module, the first neuron output, the further first neuron output, the second neuron output and the further second neuron output according to a further order, the further order being different from the arbitrary order.

Claims (56)

1. A system for realigning streams of neuron outputs, the system comprising:

a processing unit;

at least one further processing unit; and

a synchronization module communicatively coupled to the processing unit and the at least one further processing unit; and wherein:

the processing unit is configured to:

generate neuron outputs, the neuron outputs including at least a first neuron output and a second neuron output; and

provide, to the synchronization module, an indication of a last neuron output of the neuron outputs;

the at least one further processing unit is configured to:

generate further neuron outputs, the further neuron outputs including at least a further first neuron output and a further second neuron output, wherein a count of the neuron outputs differs from a count of the further neuron outputs; and

provide, to the synchronization module, a further indication of a last further neuron output of the further neuron outputs; and

the synchronization module is configured to:

receive the neuron outputs from the processing unit and the further neuron outputs from the at least one further processing unit, wherein the neuron outputs and the further neuron outputs are received in an arbitrary order;

order the first neuron output, the further first neuron output, the second neuron output and the further second neuron output according to a further order, the further order being different from the arbitrary order; and

upon receiving the indication and the further indication, stand ready for receiving a next set of neuron outputs from the processing unit and a further next set of further neuron outputs from the at least one further processing unit.

2. The system of claim 1 , wherein the first neuron output and the further first neuron output are ordered prior to the second neuron output and the further second neuron output.

3. The system of claim 1 , wherein the ordering includes positioning an i-th neuron output of the neuron outputs before an i-th further neuron output of the further neuron outputs for i=1, . . . , N and wherein N is a number of the neuron outputs.

4. The system of claim 1 , wherein the synchronization module is further configured to write an ordered sequence to a memory storage, wherein the ordered sequence includes the first neuron output, the further first neuron output, the second neuron output and the further second neuron output ordered according to the further order.

5. The system of claim 1 , wherein the ordered sequence is to be used as further input values for further neurons.

6. The system of claim 1 , wherein a time of the indication differs from a time of the further indication.

7. The system of claim 1 , wherein the processing unit is configured to:

receive input values and offsets;

select, based on the received offsets, weight values form a set of weights; and

perform arithmetic operations on the received input values and the selected weight values to generate at least one neuron output of the neuron outputs.

8. The system of claim 7 , wherein a count of the input values used in the arithmetic operations for generating the neuron outputs is different from a count of the weight values selected for performing the arithmetic operations.

9. The system of claim 7 , wherein the at least one further processing unit is configured to:

receive further input values and further offsets; and

to select, based on received further offsets, further weights values from a further set of weights; and

perform further arithmetic operations on the further input values and the selected further weight values to generate at least one further neuron of the further neurons; and wherein the offsets differ from the further offsets.

10. The system of claim 1 , wherein at least one of the processing unit, the at least one further processing unit, and the synchronization module are carried out on an electronic circuit.

11. A method for realigning streams of neuron outputs, the method comprising:

generating, by a processing unit, neuron outputs, the neuron outputs including at least a first neuron output and a second neuron output;

generating, by at least one further processing unit, further neuron outputs, the further neuron outputs including at least a further first neuron output and a further second neuron output wherein a count of the neuron outputs differs from a count of the further neuron outputs;

receiving, by a synchronization module communicatively coupled to the processing unit and the at least one further processing unit, the neuron outputs from the processing unit and the further neuron outputs from the at least one further processing unit, wherein the neuron outputs and the further neuron outputs are received in an arbitrary order;

ordering, by the synchronization module, the first neuron output, the further first neuron output, the second neuron output and the further second neuron output according to a further order, the further order being different from the arbitrary order;

providing, by the processing unit to the synchronization module, an indication of a last neuron output of the neuron outputs; and

providing, by the at least one further processing unit to the synchronization unit, a further indication of a last further neuron output of the further neuron outputs; and wherein:

the synchronization module is configured to, upon receiving the indication and the further indication, stand ready for receiving a next set of neurons from the processing unit and a further next set of further neurons from the at least one further processing unit; and

a time of the indication differs from a time of the further indication.

12. The method of claim 11 , wherein the first neuron output and the further first neuron output are ordered prior to the second neuron output and the further second neuron output.

13. The method of claim 11 , wherein the ordering includes positioning an i-th neuron output of the neuron outputs before an i-th further neuron output of the further neuron outputs for i=1, . . . , N and wherein N is a number of the neuron outputs.

14. The method of claim 11 , further comprising writing, by the synchronization module, an ordered sequence to a memory storage, wherein the ordered sequence includes the first neuron output, the further first neuron output, the second neuron output and the further second neuron output ordered according to the further order.

15. The method of claim 11 , wherein the ordered sequence is to be used as further input values for further neurons.

16. A system for realigning streams of neuron outputs, the system comprising:

a processing unit;

at least one further processing unit; and

a synchronization module communicatively coupled to the processing unit and the at least one further processing unit; and wherein:

the processing unit is configured to generate neuron outputs, the neuron outputs including at least a first neuron output and a second neuron output;

the at least one further processing unit is configured to generate further neuron outputs, the further neuron outputs including at least a further first neuron output and a further second neuron output; and

the synchronization module is configured to:

receive the neuron outputs from the processing unit and the further neuron outputs from the at least one further processing unit, wherein the neuron outputs and the further neuron outputs are received in an arbitrary order;

order the first neuron output, the further first neuron output, the second neuron output and the further second neuron output according to a further order, the further order being different from the arbitrary order;

receive, from the processing unit, an indication of a last neuron output of the neuron outputs; and

receive, from the at least one further processing unit, a further indication of a last further neuron output of the further neuron outputs, wherein a time of the indication differs from a time of the further indication; and

upon receiving the indication and the further indication:

write an ordered sequence to a memory storage, wherein the ordered sequence includes the first neuron output, the further first neuron output, the second neuron output and the further second neuron output ordered according to the further order; and

stand ready for receiving a next set of neuron outputs from the processing unit and a further next set of further neuron outputs from the at least one further processing unit.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2026
From: MIPSOLOGY SAS
To: XILINX, INC.
Reel/Frame 073663/0308 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2019
From: DELERSE, SEBASTIEN; LARZUL, LUDOVIC; DE VANGEL, BENOIT CHAPPET; CHOUTA, TAOUFIK
To: MIPSOLOGY SAS
Reel/Frame 051255/0778 →
Continuity (3)
Continuation In Part 16215685 · Dec 11, 2018
Continuation In Part PCTIB2018059878 · Dec 11, 2018
Related Publication 20200184322A1 · Jun 11, 2020