IP Library Granted Patent US 12664414
Granted Patent B2
US 12664414 · App. 17/359,297 · Granted Jun 23, 2026

Compute in memory-based machine learning accelerator architecture

Inventor: Ren Li (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06N3/065G06F7/5443G06J1/005G06N3/044G06N3/045G06N3/048H03M1/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12664414
App. No.
17/359,297
Granted
Jun 23, 2026
Kind
B2
Abstract

Certain aspects of the present disclosure provide techniques for processing machine learning model data with a machine learning task accelerator, including: configuring one or more signal processing units (SPUs) of the machine learning task accelerator to process a machine learning model; providing model input data to the one or more configured SPUs; processing the model input data with the machine learning model using the one or more configured SPUs; and receiving output data from the one or more configured SPUs.

Claims (75)

1 . A machine learning task accelerator, comprising:

one or more mixed signal processing units (MSPUs), each respective MSPU of the one or more MSPUs comprising:

a compute-in-memory (CIM) circuit;

a local activation buffer connected to the CIM circuit and configured to store activation data for processing by the CIM circuit;

one or more analog to digital converters (ADCs) connected to the CIM circuit and configured to convert analog computation result signals from the CIM circuit to digital computation result data;

a first nonlinear operation circuit connected to one or more outputs of the one or more ADCs and configured to perform nonlinear processing on the digital computation result data;

a hardware sequencer circuit configured to execute instructions received from a host system and control operation of the MSPU; and

a local direct memory access (DMA) controller configured to control access to a shared activation buffer;

a digital multiplication and accumulation (DMAC) circuit connected to the one or more MSPUs and configured to perform multiplication and accumulation operations on activation data output from one or more of the one or more MSPUs;

a digital element-wise multiplication and accumulation circuit connected to the one or more MSPUs and configured to:

perform element-wise multiplication and element-wise accumulation operations on activation data output from one or more of the one or more MSPUs; and

generate an output signal based on the element-wise multiplication and element-wise accumulation operations, wherein the output signal is provided back as input to the digital element-wise multiplication and accumulation circuit via a delay loop; and

a second nonlinear operation circuit connected to the one or more MSPUs, wherein the second nonlinear operation circuit is configured to receive the output signal.

2 . The machine learning task accelerator of claim 1 , further comprising one or more digital signal processing units (DSPUs), each respective DSPU of the one or more DSPUs comprising:

a DSPU DMAC circuit configured to perform digital multiplication and accumulation operations;

a DSPU local activation buffer connected to the DMAC circuit and configured to store activation data for processing by the DMAC circuit;

a DSPU nonlinear operation circuit connected to the DMAC circuit and configured to perform nonlinear processing on the data output from the DMAC circuit;

a DSPU hardware sequencer circuit connected to configured to execute instructions received from the host system and control operation of the respective DSPU; and

a DSPU local direct memory access (DMA) controller configured to control access to a shared activation buffer.

3 . The machine learning task accelerator of claim 1 , further comprising a shared activation buffer connected to the one or more MSPUs and configured to store output activation data generated by the one or more MSPUs.

4 . The machine learning task accelerator of claim 1 , wherein the first nonlinear operation circuit comprises a cubic approximator and a gain block.

5 . The machine learning task accelerator of claim 1 , wherein at least one respective MSPU of the one or more MSPUs further comprises a CIM finite state machine

(FSM) configured to control writing of weight data and activation data to the respective MSPU's CIM circuit.

6 . The machine learning task accelerator of claim 1 , further comprising a plurality of registers connected to the one or more MSPUs and configured to enable data communication directly between the MSPUs.

7 . The machine learning task accelerator of claim 1 , wherein at least one respective MSPU of the one or more MSPUs further comprises a digital post processing circuit configured to apply one of a gain, a bias, a shift or a pooling operation.

8 . The machine learning task accelerator of claim 7 , wherein the digital post processing circuit comprises at least one ADC of the one or more ADCs of the respective MSPU.

9 . The machine learning task accelerator of claim 1 , further comprising a tiling control circuit configured to:

cause weight data for a single layer of a neural network model to be loaded into at least two separate CIM circuits of two separate MSPUs of the one or more MSPUs;

receive partial output from the two separate MSPUs; and

generate final output based on the partial outputs.

10 . The machine learning task accelerator of claim 9 , wherein the tiling control circuit is further configured to control an interconnection of rows between the at least two separate CIM circuits.

11 . The machine learning task accelerator of claim 1 , wherein the one or more MSPUs are configured to perform processing of a convolutional neural network layer of a convolutional neural network model.

12 . The machine learning task accelerator of claim 11 , wherein the one or more MSPUs are configured to perform processing of a fully connected layer of the convolutional neural network model.

13 . The machine learning task accelerator of claim 11 , further comprising:

a shared nonlinear operation circuit configured to perform processing of a pointwise convolution of the convolutional neural network layer, wherein:

the convolutional neural network layer comprises a depthwise separable convolutional neural network layer, and

at least one of the one or more MSPUs is configured to perform processing of a depthwise convolution of the convolutional neural network layer.

14 . The machine learning task accelerator of claim 1 , wherein the one or more MSPUs are configured to perform processing of a recurrent layer of a neural network model.

15 . The machine learning task accelerator of claim 1 , wherein the one or more MSPUs are configured to perform processing of a long short-term memory (LSTM) layer of a neural network model.

16 . The machine learning task accelerator of claim 1 , wherein the one or more MSPUs are configured to perform processing of a gated recurrent unit (GRU) layer of a neural network model.

17 . The machine learning task accelerator of claim 1 , wherein the one or more MSPUs are configured to perform processing of a transformer layer of a neural network model.

18 . The machine learning task accelerator of claim 17 , wherein the transformer layer comprises an attention component and a feed forward component.

19 . The machine learning task accelerator of claim 1 , further comprising a hardware sequencer memory connected to the hardware sequencer circuit and configured to store the instructions received from the host system.

20 . The machine learning task accelerator of claim 1 , wherein the CIM circuit of each of the one or more MSPUs comprising a CIM circuit comprises a plurality of static random-access memory (SRAM) bit cells.

21 . A method of processing machine learning model data with a machine learning task accelerator, comprising:

configuring one or more mixed signal processing units (MSPUs) of the machine learning task accelerator to process a machine learning model;

providing model input data to the one or more configured MSPUs;

processing the model input data with the machine learning model using the one or more configured MSPUs; and

receiving output data from the one or more configured MSPUs, wherein the machine learning task accelerator comprises:

a digital multiplication and accumulation (DMAC) circuit connected to the one or more MSPUs and configured to perform multiplication and accumulation operations on activation data output from one or more of the one or more MSPUs;

a digital element-wise multiplication and accumulation circuit connected to the one or more MSPUs and configured to:

perform element-wise multiplication and element-wise accumulation operations on activation data output from one or more of the one or more MSPUs; and

generate an output signal based on the element-wise multiplication and element-wise accumulation operations, wherein the output signal is provided back as input to the digital element-wise multiplication and accumulation circuit via a delay loop; and

a second nonlinear operation circuit connected to the one or more MSPUs, wherein the second nonlinear operation circuit is configured to receive the output signal.

22 . The method of claim 21 , wherein:

each of the one or more MSPUs comprises:

a compute-in-memory (CIM) circuit;

a local activation buffer connected to the CIM circuit and configured to store activation data for processing by the CIM circuit;

one or more analog to digital converters (ADCs) connected to the CIM circuit and configured to convert analog computation result signals from the CIM circuit to digital computation result data;

a first nonlinear operation circuit connected to one or more outputs of the one or more ADCs and configured to perform nonlinear processing on the digital computation result data;

a hardware sequencer circuit connected to configured to execute instructions received from a host system and control operation of the MSPU; and

a local direct memory access (DMA) controller configured to control access to a shared activation buffer.

23 . The method of claim 22 , wherein the machine learning task accelerator further comprises a shared activation buffer connected to the one or more MSPUs and configured to store output activation data generated by the one or more MSPUs.

24 . The method of claim 22 , wherein the machine learning model comprises a convolutional neural network model.

25 . The method of claim 22 , wherein processing the model input data with the machine learning model comprises:

performing a depthwise convolution operation of a depthwise separable convolution operation with a CIM circuit of the one or more MSPUs; and

performing a pointwise convolution operation of the depthwise separable convolution operation with the DMAC circuit.

26 . The method of claim 22 , wherein the machine learning model comprises a recurrent neural network model.

27 . The method of claim 26 , wherein the machine learning model comprises at least one long short-term memory (LSTM) layer.

28 . The method of claim 26 , wherein the machine learning model comprises at least one gated recurrent unit (GRU) layer.

29 . The method of claim 22 , wherein the machine learning model comprises a transformer neural network model comprising an attention component and a feed forward component.

30 . The method of claim 22 , further comprising:

loading weight data for a single layer of the machine learning model in at least two separate CIM circuits of two separate MSPUs of the one or more MSPUs;

receiving partial output from the two separate MSPUs; and

generating final output based on the received partial outputs.