IP Library Granted Patent US 11,361,051
Granted Patent B1
US 11,361,051 · App. 16/725,811 · Granted Jun 14, 2022

Dynamic partitioning

Inventors: Jonathan Ross (Mountain View, CA); Charles Henry Leichner, IV (Palo Alto, CA)
Assignee: Google LLC
G06F17/16G06F9/5061G06F15/8046G06N3/04
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,361,051
App. No.
16/725,811
Granted
Jun 14, 2022
Kind
B1
Abstract

A matrix computation unit includes a systolic array of cells arranged along a first and second dimension, in which the systolic array of cells includes a first multiple of cells, each cell of the first multiple of cells including: a weight register configured to store a weight input; multiple activation registers, each activation register of the multiple activation registers configured to store a corresponding activation input; multiplexer circuitry communicatively coupled to the multiple activation registers and configured to select, from the multiple activation registers, one of the activation inputs as a selected activation input; and multiplication circuitry communicatively coupled to the weight register and to the multiplexer, in which the multiplication circuitry is configured to output a product of the weight input and the selected activation input.

Claims (19)

1. A device comprising a dynamically reconfigurable two-dimensional systolic array of cells, wherein each cell of the dynamically reconfigurable two-dimensional systolic array of cells comprises:

a plurality of activation registers;

a vertical partition data selector circuitry configured to select an activation value from among the plurality of activation registers;

arithmetic computation circuitry arranged to receive the activation value selected by the vertical partition data selector circuitry; and

a horizontal partition data selector circuitry configured to pass an output from the cell to an adjacent cell of the dynamically reconfigurable two-dimensional systolic array of cells or to an escape line.

2. The device of claim 1 , further comprising a plurality of value loaders, wherein each value loader of the plurality of value loaders is coupled to a different corresponding row of the dynamically reconfigurable two-dimensional systolic array of cells, and wherein each value loader of the plurality of value loaders is configured to simultaneously output a plurality of activation values.

3. The device of claim 2 , wherein each value loader of the plurality of value loaders is coupled to a different corresponding cell at a far-most edge of the dynamically reconfigurable two-dimensional systolic array of cells so as to pass the plurality of activation values to the plurality of activation registers of the corresponding cell at the far-most edge of the dynamically reconfigurable two-dimensional systolic array of cells.

4. The device of claim 3 , wherein at least one cell of the dynamically reconfigurable two-dimensional systolic array of cells is configured to shift activation values stored within the plurality of activation registers of the at least one cell to an adjacent cell of the dynamically reconfigurable two-dimensional systolic array of cells.

5. The device of claim 1 , further comprising a plurality of vertical partition select registers, each vertical partition select register being coupled to a different corresponding column of the dynamically reconfigurable two-dimensional systolic array of cells.

6. The device of claim 5 , wherein each vertical partition select register of the plurality of vertical partition select registers is coupled to a different corresponding cell at a far-most edge of the dynamically reconfigurable two-dimensional systolic array of cells so as to pass an activation-value select input to the vertical partition data selector circuitry of the corresponding cell at the far-most edge of the dynamically reconfigurable two-dimensional systolic array of cells.

7. The device of claim 6 , wherein at least one cell of the dynamically reconfigurable two-dimensional systolic array of cells is configured to shift an activation-value select input of the at least one cell to an adjacent cell of the dynamically reconfigurable two-dimensional systolic array of cells.

8. The device of claim 1 , comprising a plurality of horizontal partition select registers, each horizontal position select register being coupled to a different corresponding row of the dynamically reconfigurable two-dimensional systolic array of cells.

9. The device of claim 8 , wherein each horizontal partition select register of the plurality of horizontal partition select registers is coupled to a different corresponding cell at a far-most edge of the dynamically reconfigurable two-dimensional systolic array of cells so as to pass an horizontal partition select value to the horizontal partition data selector circuitry of the corresponding cell at the far-most edge of the dynamically reconfigurable two-dimensional systolic array of cells.

10. The device of claim 9 , wherein at least one cell of the dynamically reconfigurable two-dimensional systolic array of cells is configured to shift a horizontal partition select value of the at least one cell to an adjacent cell of the dynamically reconfigurable two-dimensional systolic array of cells.

11. The device of claim 1 , wherein the vertical partition data selector circuitry comprises a multiplexer.

12. The device of claim 1 , wherein the horizontal partition data selector circuitry comprises a demultiplexer.

13. The device of claim 1 , wherein the arithmetic computation circuitry comprises multiplication circuitry and summation circuitry.

14. The device of claim 13 , wherein one or more of the cells of the dynamically reconfigurable two-dimensional systolic array of cells comprise an adjacent cell input register configured to receive a data input from an adjacent cell of the dynamically reconfigurable two-dimensional systolic array of cells.

15. The device of claim 1 , further comprising a vector computation unit, wherein the escape line of each cell of the dynamically reconfigurable two-dimensional systolic array of cells is coupled to an adjacent cell input register or to an adjacent cell or to the vector computation unit.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2021
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 057353/0295 →
EMPLOYMENT AGREEMENT Recorded May 4, 2021
From: ROSS, JONATHAN
To: X DEVELOPMENT LLC
Reel/Frame 056135/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2021
From: LEICHNER IV, CHARLES HENRY
To: X DEVELOPMENT LLC
Reel/Frame 055696/0132 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2020
From: ROSS, JONATHAN
To: GOOGLE INC.
Reel/Frame 052923/0099 →
ENTITY CONVERSION Recorded Jun 12, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 053581/0427 →
Continuity (2)
Continuation 15811042 · Nov 13, 2017
Provisional Application 62440613 · Dec 30, 2016