CPC G06N 3/08 (2013.01) [G06F 7/5443 (2013.01); G06N 3/063 (2013.01); G06F 2207/3824 (2013.01); G06F 2207/4824 (2013.01)] | 20 Claims |
1. A processor-implemented method for data manipulation comprising:
obtaining, from input data, a first left group comprising eight bytes of data from a first row of a first matrix and a first right group of eight bytes of data from a second row of the first matrix for computation using a processor;
obtaining, from the input data, a second left group comprising eight bytes of data from a first column of a second matrix and a second right group of eight bytes of data from a second column of the second matrix;
performing a sum of products between the first left and right groups and the second left and right groups, wherein the sum of products is performed on bytes of 8-bit integer data, and wherein:
a first result is based on a summation of eight values that are products of the first group's left eight bytes and the second group's left eight bytes; and
a second result is based on the summation of eight values that are products of the first group's left eight bytes and the second group's right eight bytes;
outputting the first result and the second result as four-byte results for neural network data processing, based on the performing;
adding the first result to a value in a first accumulation register and adding the second result to a value in a second accumulation register;
determining whether the input data comprises greater than 32 bytes of input data; and
in response to a determination that the input data comprises greater than 32 bytes of input data then iterating the obtaining, performing, output, and adding steps.
|