A method in a hardware implementation of a Convolutional Neural Network (CNN), includes receiving a first subset of data having at least a portion of weight data and at least a portion of input data for a CNN layer and performing, using at least one convolution engine, a convolution of the first subset of data to generate a first partial result; receiving a second subset of data comprising at least a portion of weight data and at least a portion of input data for the CNN layer and performing, using the at least one convolution engine, a convolution of the second subset of data to generate a second partial result; and combining the first partial result and the second partial result to generate at least a portion of convolved data for a layer of the CNN.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method in a hardware implementation of a Convolutional Neural Network (CNN), the method comprising: receiving a first subset of data comprising at least a portion of weight data and at least a portion of input data for a CNN layer and performing, using at least one convolution engine, a convolution of the first subset of data to generate a first partial result; receiving a second subset of data comprising at least a portion of weight data and at least a portion of input data for the CNN layer and performing, using the at least one convolution engine, a convolution of the second subset of data to generate a second partial result; and combining the first partial result and the second partial result to generate at least a portion of convolved data for a layer of the CNN. 2. The method according to claim 1, wherein: the first subset of data comprises a first portion of the input data and weight data; and the second subset of data comprises a second portion of the input data and weight data. 3. The method according to claim 2, wherein the second portion of the input data comprises a subset of the first portion of the input data and wherein the size of the subset of the first portion of the input data is based upon a size of a convolution kernel. 4. The method according to claim 2, wherein the first subset of data and the second subset of data each comprise all of the weight data for a particular layer. 5. The method according to claim 1, wherein: the first subset of data comprises a first portion of the weight data and input data; and the second subset of data comprises a second portion of the weight data and input data. 6. The method according to claim 5, wherein the first subset of data and the second subset of data each comprise all of the input data for a particular layer. 7. The method according to claim 5, wherein the first portion of the weight data comprises a different portion of the weight data for the layer to the second portion of the weight data. 8. The method according to claim 1, wherein the combining of the first partial result and the second partial result comprises writing the first partial result and the second partial result to a memory. 9. The method according to claim 1, wherein: the first subset of data comprises a first portion of a weight and input data; and the second subset of data comprises a second portion of a weight and input data. 10. The method according to claim 9, wherein combining the first partial result and the second partial result to generate at least a portion of convolved data for a layer of the CNN comprises: performing, using at least one convolution engine, a convolution of the first portion of a weight with the input data to generate the first partial result; performing, using at least one convolution engine, a convolution of the second portion of a weight with the input data to generate the second partial result; placing the first partial result in an accumulator buffer; combining the first partial result with the second partial result in an accumulator. 11. The method according to claim 9, wherein the first portion of a weight and the second portion of a weight are non-overlapping portions of the same weight. 12. The method according to claim 5, wherein the input data of the first subset of data and the input data of the second subset of data comprises all of the input data for the layer. 13. The method according to claim 1, further comprising receiving command data that defines the first subset of data and the second subset of data for processing in the layer. 14. A hardware implementation of a Convolutional Neural Network (CNN), the hardware implementation comprising: an interface configured to receive a first subset of data comprising at least a portion of weight data and at least a portion of input data for a CNN layer, and configured to receive a second subset of data comprising at least a portion of weight data and at least a portion of input data for the CNN layer; at least one convolution engine configured to perform a convolution of the first subset of data to generate a first partial result and configured to perform a convolution of the second subset of data to generate a second partial result; and wherein the hardware implementation is configured to combine the first partial result and the second partial result to generate at least a portion of convolved data for a layer of the CNN. 15. The hardware implementation according to claim 14, wherein: the first subset of data comprises a first portion of the input data and weight data; and the second subset of data comprises a second portion of the input data and weight data. 16. The hardware implementation according to claim 14, wherein: the first subset of data comprises a first portion of the weight data and input data; and the second subset of data comprises a second portion of the weight data and input data. 17. The hardware implementation according to claim 14, wherein the hardware implementation is configured to combine the first partial result and the second partial result by writing the first partial result and the second partial result to a memory. 18. The hardware implementation according to claim 14, wherein: the first subset of data comprises a first portion of a weight and input data; and the second subset of data comprises a second portion of a weight and input data. 19. The hardware implementation according to claim 14, wherein the hardware implementation is configured to receive command data that defines the first subset of data and the second subset of data for processing in the layer. 20. A non-transitory computer readable storage medium having stored thereon a computer readable description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture a hardware implementation of a Convolutional Neural Network (CNN), the hardware implementation comprising: an interface configured to receive a first subset of data comprising at least a portion of weight data and at least a portion of input data for a CNN layer, and configured to receive a second subset of data comprising at least a portion of weight data and at least a portion of input data for the CNN layer; at least one convolution engine configured to perform a convolution of the first subset of data to generate a first partial result and configure to perform a convolution of the second subset of data to generate a second partial result; and wherein the hardware implementation is configured to combine the first partial result and the second partial result to generate at least a portion of convolved data for a layer of the CNN.