US 12,271,439 B2
Flexible compute engine microarchitecture
Mohammed Elneanaei Abdelmoneem Fouda, Irvine, CA (US)
Assigned to Rain Neuromorphics Inc.
Filed by Rain Neuromorphics Inc., San Francisco, CA (US)
Filed on Jun. 21, 2024, as Appl. No. 18/750,830.
Claims priority of provisional application 63/523,003, filed on Jun. 23, 2023.
Prior Publication US 2024/0427844 A1, Dec. 26, 2024
Int. Cl. G06F 17/16 (2006.01); G06F 5/01 (2006.01)
CPC G06F 17/16 (2013.01) [G06F 5/01 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A compute engine, comprising:
an input buffer configured to store a vector, the vector including a vector sign; and
a plurality of compute-in-memory (CIM) hardware modules coupled with the input buffer, configured to store a plurality of weights corresponding to a matrix, and configured to perform a vector-matrix multiplication (VMM) for the matrix and the vector, each of the plurality of weights including a weight sign, the plurality of CIM hardware modules further including:
a plurality of storage cells for storing the plurality of weights; and
a plurality of vector multiplication units (VMUs) coupled with the plurality of storage cells and the input buffer, each VMU of the plurality of VMUs configured to multiply, with the vector, at least a portion of a weight of a portion of the plurality of weights;
wherein a set of VMUs of the plurality of VMUs are configured to perform multiplications for a first weight length and a second weight length different from the first weight length such that each VMU of the set of VMUs performs the multiplications for both the first weight length and the second weight length, an indication of the vector sign being propagated to each VMU of the set of VMUs, the weight sign being propagated to a portion of the VMUs in the set of VMUs for the second weight length; and
wherein each VMU in the portion of the VMUs is configured to extend the weight sign for a remaining portion of the VMU for the second weight length.