US 11,940,946 B2
Vector reduction processor
Gregory Michael Thorson, Waunakee, WI (US); Andrew Everett Phelps, Middleton, WI (US); and Olivier Temam, Antony (FR)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Jun. 22, 2021, as Appl. No. 17/354,947.
Application 17/354,947 is a continuation of application No. 16/918,448, filed on Jul. 1, 2020, granted, now 11,061,854.
Application 16/918,448 is a continuation of application No. 16/129,663, filed on Sep. 12, 2018, granted, now 10,706,007, issued on Jul. 7, 2020.
Application 16/129,663 is a continuation of application No. 15/477,791, filed on Apr. 3, 2017, granted, now 10,108,581, issued on Oct. 23, 2018.
Prior Publication US 2021/0318983 A1, Oct. 14, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/30 (2018.01); G06F 9/38 (2018.01); G06F 15/80 (2006.01); G06F 17/16 (2006.01); G06N 3/084 (2023.01)
CPC G06F 15/8053 (2013.01) [G06F 9/3001 (2013.01); G06F 9/30036 (2013.01); G06F 9/3877 (2013.01); G06F 9/3897 (2013.01); G06F 17/16 (2013.01); G06N 3/084 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a vector reduction unit configured to perform vector reduction operations for one or more input vectors; the vector reduction unit comprising a plurality of cells, at least one cell of the plurality of cells configured to:
receive an input element from a plurality of input elements included in an input vector;
receive a temporary reduction element that is either an output of a vector reduction operation performed by a cell that precedes the at least one cell or an initialization value from the cell that precedes the at least one cell;
receive a control element from a plurality of control elements included in a control vector that includes a respective control element for each of the plurality of cells; wherein each respective control element indicates to the corresponding cell whether to output a result of the vector reduction operation generated by the corresponding cell to an output circuit or provide the result of the vector reduction operation generated by the corresponding cell to another cell of the plurality of cells;
perform the vector reduction operation using the input element and the temporary reduction element based on the control element to generate an output element; and
in response to the control element indicating not to output the result to the output circuit, provide the output element to another cell of the plurality of cells, the output element being a new temporary reduction element for the other cell.