Back to results
US 11,455,370 B2Granted
Flattened input stream generation for convolution with expanded kernel
AssigneeGroq, Inc.
InventorsJonathan Alexander Ross, Thomas Hawkins, Gregory Michael Thorson, Matt Boyd
Life of this patent
Estimating the term…
Abstract
A method comprises receiving an input tensor for convolution with a kernel, dividing the input tensor into one or more tiles with each tile having a size equal to the kernel, flattening the values in the one or more tiles into vectors to generate the flattened input stream.
Claims20
A method to efficiently compute a convolution of input values modified by weights of a kernel to generate output activations, the method comprising:
- receiving, at an input stream generator, the kernel and an input tensor comprising the input values;
- dividing, by the input stream generator, the input tensor into a plurality of tiles with each tile having a size equal to a size of the kernel;
- flattening, by the input stream generator, the input values in the plurality of tiles into a plurality of flattened input vectors;
- expanding, by an expanded kernel generator, the kernel into an expanded version of the kernel having a plurality of kernel vectors, a number of the kernel vectors being equal to a number of elements in each tile of the input tensor;
- and
- performing, by a multiply-add unit coupled to the input stream generator and the expanded kernel generator, the convolution between the plurality of flattened input vectors and the plurality of kernel vectors to generate an output tile of the output activations for each tile of the input tensor.
3 more elements
A processor circuit comprising:
- an input stream generator configured to:
- receive a kernel and an input tensor comprising input values,
- divide the input tensor into a plurality of tiles with each tile having a size equal to a size of the kernel, and
- flatten the input values in the plurality of tiles into a plurality of flattened input vectors;
- an expanded kernel generator configured to expand the kernel into an expanded version of the kernel having a plurality of kernel vectors, a number of the kernel vectors being equal to a number of elements in each tile of the input tensor;
- and
- a multiply-add unit coupled to the input stream generator and the expanded kernel generator, the multiply-add unit configured to perform a convolution between the plurality of flattened input vectors and the plurality of kernel vectors to generate an output tile of output activations for each tile of the input tensor.
4 more elements
Dependencies are inferred from the claim text.