US 11,868,426 B2
Hardware implementation of convolutional layer of deep neural network
Chris Martin, Leighton Buzzard (GB); David Hough, Watford (GB); Clifford Gibson, Wheathampstead (GB); and Daniel Barnard, Berkhamsted (GB)
Assigned to Imagination Technologies Limited, Kings Langley (GB)
Filed by Imagination Technologies Limited, Kings Langley (GB)
Filed on Oct. 26, 2021, as Appl. No. 17/510,633.
Application 17/510,633 is a continuation of application No. 17/165,014, filed on Feb. 2, 2021, granted, now 11,157,592.
Application 17/165,014 is a continuation of application No. 16/179,270, filed on Nov. 2, 2018, granted, now 10,942,986, issued on Mar. 9, 2021.
Claims priority of application No. 1718297 (GB), filed on Nov. 3, 2017.
Prior Publication US 2022/0043886 A1, Feb. 10, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 17/15 (2006.01); G06N 3/063 (2023.01); G06F 7/544 (2006.01); G06N 3/04 (2023.01); G06N 3/045 (2023.01)
CPC G06F 17/153 (2013.01) [G06F 7/5443 (2013.01); G06N 3/04 (2013.01); G06N 3/063 (2013.01); G06N 3/045 (2023.01)] 20 Claims
OG exemplary drawing
 
1. An input buffer for a convolution layer of a deep neural network, configured to:
store in a memory of the input buffer a plurality of input data values for the convolution layer;
provide the plurality of input data values to a plurality of 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, fetch that set of input data values from the memory of the input buffer; and
store 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, and if a portion of a next set of input data values to be fetched is in the cache that portion of the next set of input data values is not fetched from the memory of the input buffer and is obtained from the cache.