US 12,277,488 B2
Buffer addressing for a convolutional neural network
Daniel Barnard, Berkhamsted (GB); Clifford Gibson, St. Albans (GB); and Colin McQuillan, Watford (GB)
Assigned to Imagination Technologies Limited, Kings Langley (GB)
Filed by Imagination Technologies Limited, Kings Langley (GB)
Filed on Jul. 19, 2022, as Appl. No. 17/868,675.
Application 17/868,675 is a continuation of application No. 17/401,219, filed on Aug. 12, 2021, granted, now 11,423,285.
Application 17/401,219 is a continuation of application No. 15/726,633, filed on Oct. 6, 2017, granted, now 11,100,386, issued on Aug. 24, 2021.
Claims priority of application No. 1616953 (GB), filed on Oct. 6, 2016.
Prior Publication US 2022/0383067 A1, Dec. 1, 2022
Int. Cl. G06N 3/04 (2023.01); G06F 12/02 (2006.01); G06F 12/06 (2006.01); G06N 3/045 (2023.01); G06N 3/063 (2023.01)
CPC G06N 3/04 (2013.01) [G06F 12/0207 (2013.01); G06F 12/0607 (2013.01); G06F 12/0653 (2013.01); G06N 3/045 (2023.01); G06N 3/063 (2013.01); G06F 2212/1016 (2013.01); G06F 2212/251 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of storing input data for a layer of a convolutional neural network (CNN) in a buffer comprising a plurality of banks for processing, the method comprising:
receiving input data comprising input data values to be processed in a layer of the CNN, each input data value has a position in the input data defined by x, y and p coordinates reflecting a column, row and plane of the input data value respectively;
determining addresses in the buffer in which the received input data values are to be stored dependent on a dimension of the input data and a dimension of a filter to be applied to the input data;
keeping a cursor for one or more salient positions to reduce arithmetic performed to determine the addresses in the buffer in which the received input data values are to be stored; and
storing the received input data values at the determined addresses in the buffer for retrieval for processing in the layer.