Patent ID: 11868426
Assignee: IMAGINATION TECHNOLOGIES LIMITED
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 12:
13. A method of providing data to a plurality of convolution engines of a hardware implementation of a convolution layer of a deep neural network, each convolution engine comprising hardware logic configured to perform a multiply accumulate operation on a set of weights and a set of input data values, the method comprising, at an input buffer:
storing a plurality of input data values for the convolution layer in a memory of the input buffer;
providing the plurality of input data values in the memory of the input buffer to the convolution engines over a plurality of cycles, wherein in any cycle each convolution engine is provided with a different set of input data values relative to the other convolution engines;
prior to providing a set of input data values of the plurality of input data values to a convolution engine for a first time, fetching the set of input data values from the memory of the input buffer;
storing the K most recent sets of input data values fetched from the memory of the input buffer in a cache, wherein K is an integer greater than or equal to two;
prior to fetching a next set of input data values from the memory of the input buffer, determining whether a portion of the next set of input data values is in the cache; and
in response to determining that a portion of the next set of input data values is in the cache, not fetching that portion of the next set of input data values from the memory of the input buffer and obtaining that portion of the next set of input data values from the cache.