US 11,809,514 B2
Expanded kernel generation
Jonathan Alexander Ross, Palo Alto, CA (US); Thomas Hawkins, Bellingham, WA (US); Gregory Michael Thorson, Palo Alto, CA (US); and Matt Boyd, Portland, OR (US)
Assigned to Groq, Inc., Mountain View, CA (US)
Filed by Groq, Inc., Mountain View, CA (US)
Filed on Nov. 4, 2021, as Appl. No. 17/519,425.
Application 17/519,425 is a continuation of application No. 16/686,864, filed on Nov. 18, 2019, granted, now 11,204,976.
Claims priority of provisional application 62/769,444, filed on Nov. 19, 2018.
Prior Publication US 2022/0129522 A1, Apr. 28, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 17/15 (2006.01); G06F 17/16 (2006.01); G06N 20/10 (2019.01); G06N 3/08 (2023.01); G06F 7/76 (2006.01); G06N 7/00 (2023.01); G06F 7/544 (2006.01); G06F 9/54 (2006.01); G06N 3/04 (2023.01); G06F 18/2137 (2023.01)
CPC G06F 17/153 (2013.01) [G06F 7/5443 (2013.01); G06F 7/76 (2013.01); G06F 9/544 (2013.01); G06F 17/16 (2013.01); G06F 18/2137 (2023.01); G06N 3/04 (2013.01); G06N 3/08 (2013.01); G06N 7/00 (2013.01); G06N 20/10 (2019.01)] 20 Claims
OG exemplary drawing
 
1. An integrated circuit comprising:
an expanded kernel generator configured to:
receive a kernel,
for a first dimension of the kernel, generate a block of values for each single dimensional vector of the kernel that includes rotations of each single dimensional vector,
for each additional dimension of one or more additional dimensions of the kernel:
group blocks of a dimension of the kernel preceding each additional dimension into sets of blocks, each set of blocks including blocks of the dimension that are aligned along a vector that is parallel to an axis of each additional dimension,
generate one or more blocks of values, each block including rotations of blocks within each of the sets of blocks of the dimension, and
output the block of values corresponding to a last dimension of the one or more additional dimensions of the kernel as an expanded kernel; and
a multiply-add unit coupled to the expanded kernel generator, the multiply-add unit configured to convolve a tensor with the expanded kernel.