A system and a corresponding method are configured to generate a plurality of output feature maps from an input feature map. The system includes a first input data path (IDP), a request assembly unit (RAU), and a multiply accumulate array (MAA). The IDP transforms a first input feature map to a Winograd domain and generates a first plurality of requests in which each request is for a first plurality of non-zero weights of transformed weight kernels with corresponding elements. The RAU receives the first plurality of requests. The MAA generates a plurality of output matrices in parallel for a first output feature map based on applying the first plurality of non-zero weights to corresponding elements for each input matrix.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method, comprising: transforming, by a first input data path (IDP) unit, a first input feature map to a Winograd domain, wherein the transformed first input feature map includes a first plurality of input matrices, and wherein each input matrix of the first plurality of input matrices includes a plurality of elements; providing, by the first IDP unit, a first plurality of requests, each for a first plurality of non-zero weights of transformed weight kernels with corresponding elements to a first request assembly unit (RAU); and generating, by a first multiply accumulate array (MAA), a first plurality of output matrices in parallel for a first output feature map based on applying the first plurality of non-zero weights to corresponding elements for each input matrix. 2. The method of claim 1, further comprising: determining, by a position determiner within the first IDP unit, a position of at least one non-zero-value weight within the first transformed weight kernel; and wherein providing, by the first IDP unit, the first plurality of requests further comprises providing, by the first IDP unit, the first plurality of requests, each for the first plurality of non-zero weights of transformed weight kernels with corresponding elements to the first RAU. 3. The method of claim 2, further comprising: skipping, by the first IDP unit, a request corresponding to a zero-value weight within the first transformed weight kernel based on an indication of the zero-value weight. 4. The method of claim 1, further comprising: transforming, by a second IDP unit, a second input feature map to the Winograd domain, wherein the transformed second input feature map includes a second plurality of input matrices, and wherein each input matrix of the second plurality of input matrices includes a plurality of elements; providing, by the second IDP unit, a second plurality of requests, each for a second plurality of non-zero weights of transformed weight kernels with corresponding elements to the first RAU; reordering, by the first RAU, the first plurality of requests and the second plurality of requests based on processing requests associated with elements at a common position of a respective matrix; and generating, by the first MAA, the plurality of output matrices in parallel for the first output feature map based on the reordered requests. 5. The method of claim 4, further comprising: providing, by the first IDP unit, a third plurality of requests, each for a third plurality of non-zero weights of transformed weight kernels with corresponding elements to a second RAU; providing, by the second IDP unit, a fourth plurality of requests, each for a fourth plurality of non-zero weights of transformed weight kernels with corresponding elements to the second RAU; reordering, by the second RAU, the third plurality of requests and the fourth plurality of requests based on processing the requests associated with the elements at a common position of the respective matrix; and generating, by a second MAA, a second plurality of output matrices in parallel for a second output feature map based on the reordered requests, where the second output feature map is generated in parallel with the first output feature map. 6. The method of claim 4, further comprising: determining, by a first position determiner within the first IDP unit, a position of at least one non-zero-value weight within the first transformed weight kernel; determining, by a second position determiner within the second IDP unit, a position of at least one non-zero-valued weight within the second transformed weight kernel; and wherein providing, by the first IDP unit, the first plurality of requests further comprises providing, by the first IDP unit, the first plurality of requests, each for the first plurality of non-zero weights of transformed weight kernels with corresponding elements to the RAU, and wherein providing, by the second IDP unit, the second plurality of requests further comprises providing, by the second IDP unit, the second plurality of requests, each for the second plurality of non-zero weights of transformed weight kernels with corresponding elements to the RAU. 7. A system to generate a plurality of output feature maps from an input feature map, the system comprising: a first input data path (IDP) to transform a first input feature map to a Winograd domain, the transformed first input feature map including a first plurality of input matrices, and each input matrix of the first plurality of input matrices including a plurality of elements, the first IDP to further generate a first plurality of requests, each for a first plurality of non-zero weights of transformed weight kernels with corresponding elements; a request assembly unit (RAU) coupled to the first IDP to receive the first plurality of requests; and a first multiply accumulate array (MAA) coupled to the RAU, to generate a plurality of output matrices in parallel for a first output feature map based on applying the first plurality of non-zero weights to corresponding elements for each input matrix. Patent Application Page 22 of 26 Attorney Docket No. 1535-321 8. The system of claim 7, further comprising: a position determiner to determine a position of at least one non-zero-value weight within the first transformed weight kernel; and wherein the first IDP unit is further to provide the first plurality of requests, each for the first plurality of non-zero weights of transformed weight kernels with corresponding elements to the RAU. 9. The system of claim 8, wherein the first IDP unit skips a request corresponding to a zero-value weight within the first transformed weight kernel based on an indication of the zero-value weight. 10. The system of claim 7, further comprising: a second IDP unit to transform a second input feature map to the Winograd domain, the transformed second input feature map including a second plurality of input matrices, and each input matrix of the second plurality of input matrices including a plurality of elements, the second IDP to further generate a second plurality of requests, each for a second plurality of non-zero weights of transformed weight kernels with corresponding elements; wherein the RAU is to further reorder the first plurality of requests and the second plurality of requests based on processing requests associated with elements at a common position of a respective matrix; and wherein the first MAA is to further generate the plurality of output matrices in parallel for the first output feature map based on the reordered requests. 11. The system of claim 10, wherein: the first IDP unit provides a third plurality of requests, each for a third plurality of non-zero weights of transformed weight kernels with corresponding elements to a second RAU; the second IDP unit provides a fourth plurality of requests, each for a fourth plurality of non-zero weights of transformed weight kernels with corresponding elements to the second RAU; the second RAU reorders the third plurality of requests and the fourth plurality of requests based on processing the requests associated with the elements at a common position of the respective matrix; and a second MAA generates a second plurality of output matrices in parallel for a second output feature map based on the reordered requests, where the second output feature map is generated in parallel with the first output feature map. 12. The system of claim 10, further comprising: a first position determiner to determine a position of at least one non-zero-value weight within the first transformed weight kernel; and a second position determiner to determine a position of at least one non-zero-valued weight within the second transformed weight kernel, wherein the first IDP unit is to further provide the first plurality of requests, each for the first plurality of non-zero weights of transformed weight kernels with corresponding elements to the RAU, and wherein the second IDP unit is to further provide the second plurality of requests, each for the second plurality of non-zero weights of transformed weight kernels with corresponding elements to the RAU. 13. The system of claim 12, wherein the first IDP unit skips a request corresponding to a zero-value weight within the first transformed weight kernel based on an indication of the zero-value weight. 14. The system of claim 12, wherein the second IDP unit skips a request corresponding to a zero-value weight within the second transformed weight kernel based on an indication of the zero value weight. 15. The system of claim 7, further comprising a memory storing the first input feature map, the first IDP receiving the stored first input feature map from the memory.