NEURAL NETWORK PROCESSOR WITH A WINDOW EXPANDER CIRCUIT
First Claim
1. A neural network processor configured to perform convolution operations on input data and N by N matrices, wherein N is a positive integer greater than one, the neural network processor comprising:
- a plurality of multiplier circuits;
a window expander circuit comprising;
a first logic circuit configured to store a set of data elements, corresponding to at least a subset of the input data, into a Q number of logical memories, wherein each of a P number of data elements of the set of the data elements is stored in each of the Q number of logical memories, wherein P is an integer equal to or greater than one and Q is an integer equal to or greater than N, anda second logic circuit configured to receive the first set of data elements and additional data elements corresponding to the subset of the input data from the Q number of logical memories and expand the at least the subset of the input data until the at least the subset of the input data is expanded based on a predetermined factor selected at least to increase utilization of the plurality of the multiplier circuits.
1 Assignment
0 Petitions
Accused Products
Abstract
Neural network processors including a window expander circuit and related methods are provided. The window expander circuit may include a first logic circuit configured to store a set of data elements, corresponding to at least a subset of the input data, into a Q number of logical memories, where each of a P number of data elements of the set of the data elements is stored in each of the Q number of logical memories. The window expander circuit may further include a second logic circuit configured to receive the first set of data elements and additional data elements corresponding to the at least the subset of the input data from the Q number of logical memories and expand the at least the subset of the input data until the at least the subset of the input data is expanded based on a predetermined factor.
-
Citations
20 Claims
-
1. A neural network processor configured to perform convolution operations on input data and N by N matrices, wherein N is a positive integer greater than one, the neural network processor comprising:
-
a plurality of multiplier circuits; a window expander circuit comprising; a first logic circuit configured to store a set of data elements, corresponding to at least a subset of the input data, into a Q number of logical memories, wherein each of a P number of data elements of the set of the data elements is stored in each of the Q number of logical memories, wherein P is an integer equal to or greater than one and Q is an integer equal to or greater than N, and a second logic circuit configured to receive the first set of data elements and additional data elements corresponding to the subset of the input data from the Q number of logical memories and expand the at least the subset of the input data until the at least the subset of the input data is expanded based on a predetermined factor selected at least to increase utilization of the plurality of the multiplier circuits. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method in a neural network processor configured to perform convolution operations on input data and N by N matrices, wherein N is a positive integer greater than one, wherein the neural network comprises a plurality of multiply circuits, the method comprising:
-
automatically determining whether the input data received by the neural network processor requires expansion; and when the input data requires the expansion;
(1) storing a first set of data elements, corresponding to at least a subset of the input data, into a Q number of logical memories, wherein each of a P number of data elements of the first set of the data elements is stored in each of the Q number of logical memories, wherein P is an integer equal to or greater than one and Q is an integer equal to or greater than N, (2) shifting the first set of data elements from the Q number of logical memories into a first column of an array structure and storing a second set of data elements, corresponding to the subset of the input data, in the Q number of logical memories, (3) shifting the first set of the data elements from the first column of the array structure into a second column of the array structure and shifting the second set of data elements from the Q number of logical memories into the first column of the array structure, and (4) repeating storing and shifting steps using additional data elements corresponding to the subset of the input data until the subset of the input data is expanded based on a predetermined factor selected at least to increase utilization of the plurality of the multiplier circuits. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A neural network processor configured to perform convolution operations on input data and N by N matrices, wherein N is a positive integer greater than one, the neural network processor comprising:
-
a plurality of multiplier circuits; a window expander circuit comprising; a first logic circuit configured to store a set of data elements, corresponding to at least a subset of the input data, into a Q number of logical memories, wherein each of a P number of data elements of the set of the data elements is stored in each of the Q number of logical memories, wherein P is an integer equal to or greater than one and Q is an integer equal to or greater than N, and a second logic circuit configured to receive the first set of data elements from the Q number of logical memories and expand the at least the subset of the input data until the at least the subset of the input data is expanded based on a predetermined factor, wherein the second logic circuit comprises a rotate circuit and an array structure. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification