CIM Array Kernel Layout for Depthwise CNN Dataflow

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computation in memory (CIM) processes struggle to efficiently process complex machine learning model architectures like depthwise separable convolutional neural networks without additional hardware elements, such as digital multiply-and-accumulate circuits, which increases space, power, and complexity, and requires significant data movement, leading to power usage and latency issues.

Innovation Solution

The implementation of a CIM array with distinct sets of CIM cells configured as different kernels on varying columns and rows, allowing for parallel operation and analog-to-digital conversion, enabling efficient depthwise and pointwise computations within the memory, reducing the need for additional hardware and minimizing data movement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional CIM processes are used to process depthwise separable convolutional neural networks, then processing capability is maintained, but additional hardware elements (DMACs) are required which increase space, power, and complexity

Engineering Contradiction:
Improvecapability to process depthwise separable CNNsVSAvoidhardware elements (DMACs and peripherals)
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory device is designed to perform multiple functions: it serves as both storage memory and compute unit. The memory cells directly perform multiply-accumulate operations for depthwise separable convolution, eliminating the need for separate DMAC hardware. This multi-functionality allows the same hardware structure to handle both conventional CNNs and depthwise separable CNNs without additional specialized components.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If additional hardware elements like DMACs are added to conventional CIM processes, then complex model architectures can be processed, but space, power, and complexity increase

Engineering Contradiction:
Improveprocessing of complex model architecturesVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent merges the compute function with the memory structure by implementing multiply-accumulate operations directly within the memory device. The memory cells perform the computational operations that would otherwise require separate DMAC hardware, consolidating storage and computation into a single integrated structure. This merging eliminates the need for data movement between separate compute and memory units, significantly reducing power consumption.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If data is moved to and from ancillary aspects with DMACs, then processing that cannot be directly performed in memory is achieved, but time and power are consumed

Engineering Contradiction:
Improveprocessing capabilityVSAvoiddata movement time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent extracts the computational functionality from separate DMAC hardware and integrates it directly into the memory device structure. By taking out the compute function and embedding it within the memory cells themselves, the system eliminates the need to move data between memory and separate compute units. The memory device performs all necessary computations in-place, removing data movement bottlenecks and time delays.

Inventive Principle:
Principle #2Taking out (Extraction)

4Adaptability or versatility

If data is moved across common data busses, then data sharing between processes is enabled, but significant power usage and latency are introduced

Engineering Contradiction:
Improvedata sharing capabilityVSAvoidpower usage on data bus
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The memory device serves itself by performing computational operations internally without requiring external compute hardware. The multiply-accumulate operations are executed within the memory structure using its own stored data, eliminating the need to transfer data across external data busses for processing. This self-service capability reduces power consumption on shared data busses by keeping data local to the memory device throughout the computation process.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20220414444A1Computation in memory (CIM) architecture and dataflow supporting a depth-wise convolutional neural network (CNN)
Publication Date: 2022.12.29 QUALCOMM INC
  • US20220414444A1 patent drawing
  • US20220414444A1 patent drawing
  • US20220414444A1 patent drawing

AI summary

Certain aspects provide an apparatus for signal processing in a neural network. The apparatus generally includes a first set of computation in memory (CIM) cells configured as a first kernel for a neural network computation, the first set of CIM cells comprising on one or more first columns and a first plurality of rows of a CIM array, and a second set of CIM cells configured as a second kernel for the neural network computation, the second set of CIM cells comprising on one or more second columns and a second plurality of rows of the CIM array. In some aspects, the one or more first columns are different than the one or more second columns, and the first plurality of rows are different than the second plurality of rows.