Artificial neural network implementation
AssigneeXmos Ltd
InventorLaszlo Peter Kindrat
Life of this patent
Estimating the term…
Abstract
A method of implementing an artificial neural network, ANN, (100) comprises applying a splitting operation for each respective target portion (130b) of a target tensor (130a): i) determining a respective source portion (130a) of a source tensor (120a) required to produce that target portion (130b); ii) loading values from the determined source portion (130a, and not other values from the source tensor (120a), to a working memory (202a); iii) calculating the target portion (130b) using the source portion (130a) in the working memory (202a); iv) outputting the calculated target portion (130b) for storing in an output memory (202b).
Claims20
A computer-implemented method of implementing an artificial neural network, ANN, comprising a plurality of blocks, each block being arranged to operate on at least one input tensor to produce an output tensor to be operated on by one or more subsequent blocks of said plurality of blocks in the ANN, or to be output from the ANN, the method comprising applying a splitting operation for each respective target portion of a plurality of target portions of a target tensor, the target tensor being the output tensor of a target one of said blocks, said splitting operation comprising:
- i), determining a respective source portion of a source tensor required to produce the respective target portion, the source tensor being an input tensor of a source one of said blocks;
- ii) loading values from the determined respective source portion of the source tensor, and not other values from the source tensor, to a working memory;
- iii) calculating the respective target portion of the target tensor using the respective source portion of the source tensor in the working memory;
- and
- iv) outputting the calculated respective target portion of the target tensor for storing in an output memory.
A computer program product comprising computer-executable code embodied on a computer-readable storage medium configured so as when executed by one or more processing units to perform a method of implementing an artificial neural network, ANN, comprising a plurality of blocks, each block being arranged to operate on at least one input tensor to produce an output tensor to be operated on by one or more subsequent blocks of said plurality of blocks later in the ANN, or to be output from the ANN, the method comprising applying a splitting operation for each respective target portion of a plurality of target portions of a target tensor, the target tensor being the output tensor of one of said blocks, said splitting operation comprising:
- i) determining a respective source portion of a source tensor required to produce the respective target portion, the source tensor being an input tensor of a source one of said blocks;
- ii) loading values from the determined respective source portion of the source tensor, and not other values from the source tensor, to a working memory;
- iii) calculating the respective target portion of the target tensor using the respective source portion of the source tensor in the working memory;
- and
- iv) outputting the calculated respective target portion of the target tensor for storing in an output memory.
Dependencies are inferred from the claim text.