Patent ID: 11886979
Assignee: PERCEIVE CORPORATION
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 0:
1. For a neural network inference circuit that executes a neural network comprising a plurality of computation nodes, each of a set of the computation nodes comprising a dot product of input values and weight values, a method comprising:
over a first plurality of clock cycles of the neural network inference circuit, loading a first set of input values into an input buffer;
in a first single clock cycle of the neural network inference circuit after the first plurality of clock cycles, simultaneously computing a first plurality of dot products for a first plurality of computation nodes of the neural network, wherein each respective dot product of the first plurality of dot products is between (i) the first set of input values and (ii) a different respective set of a plurality of sets of weight values;
over a second plurality of clock cycles of the neural network inference circuit after the first single clock cycle, shifting the first set of input values in the input buffer while loading a second set of input values into the input buffer such that (i) a first subset of the first set of input values is removed from the input buffer, (ii) a second subset of the first set of input values is moved to new locations in the input buffer, and (iii) the second set of input values are loaded into locations in the input buffer vacated by the shifting of the first set of input values; and
in a second single clock cycle of the neural network inference circuit after the second plurality of clock cycles, simultaneously computing a second plurality of dot products for a second plurality of computation nodes of the neural network, wherein each respective dot product of the second plurality of dot products is between (i) the second set of input values and the second subset of the first set of input values and (ii) a different respective set of the plurality of sets of weight values, wherein the respective sets of weight values used for the first plurality of dot products are the same as the respective sets of weight values used for the second plurality of dot products.