CNN Operation Grouping for SRAM Capacity Constraints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep learning frameworks like Convolutional Neural Networks (CNNs) face challenges in power consumption and cost due to limited Static Random-Access Memory (SRAM) capacity in embedded devices, particularly when processing high-resolution data that exceeds the memory limits, leading to reduced computing efficiency.

Innovation Solution

The method involves splitting data operations into smaller parts to fit within the memory unit capacity, allowing input and output data to be processed entirely within the memory unit by grouping operations and storing intermediate results efficiently, thereby avoiding the need for external memory storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the capacity of SRAM is reduced to lower cost, then the cost of the embedded device is reduced, but the data amount that can be processed exceeds the memory capacity

Engineering Contradiction:
ImprovecostVSAvoiddata amount
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent divides the data operation into multiple split operations, each processing a subset of data that fits within the SRAM capacity. This segmentation allows the system to handle large datasets using limited on-chip memory by processing data in manageable chunks rather than attempting to load the entire dataset at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a time dimension to memory utilization by processing data sequentially in multiple passes. Instead of requiring all data to be available simultaneously in memory, the system processes data in temporal segments, loading only the necessary portions into SRAM at each processing stage and utilizing external memory for data storage across time steps.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If the input data amount is increased to ensure output accuracy, then the output accuracy is maintained, but the data amount exceeds the memory unit capacity

Engineering Contradiction:
Improveoutput accuracyVSAvoiddata amount
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the data operation into multiple smaller operations, each processing a portion of the input data that fits within SRAM capacity. This allows the system to maintain accuracy by processing complete data through multiple sequential operations rather than attempting to process the entire large dataset simultaneously in limited memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent maintains continuous processing by sequentially executing multiple split operations that collectively process the entire input dataset. Each operation continues the data processing flow from the previous operation, ensuring that the complete input data is processed through the neural network operations to maintain output accuracy while managing memory constraints through temporal continuity.

Inventive Principle:
Principle #20Continuity of useful action

3Quantity of substance

If data is stored in external memory storage, then the data amount can exceed memory capacity, but the computing efficiency is reduced

Engineering Contradiction:
Improvedata amountVSAvoidcomputing efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments data operations to load only the necessary data portions into SRAM for processing, rather than loading the entire external memory content. This selective loading approach minimizes data transfer requirements while maintaining the ability to process large datasets, thereby improving computing efficiency by reducing the overhead of external memory access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary identification and selection of data portions that need to be processed, organizing them into split operations that can be efficiently loaded into SRAM. This preliminary organization reduces the complexity of subsequent processing and minimizes external memory access during the actual computation, improving overall computing efficiency.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If operations are split into multiple split operations, then the data amount fits within memory capacity, but the processing time increases

Engineering Contradiction:
Improvedata amountVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments operations to fit data within SRAM capacity, which enables faster processing by eliminating external memory access during computation. Although multiple operations are required, each operation benefits from working entirely within on-chip memory, significantly reducing the time penalty compared to the alternative of loading entire large datasets into external memory and processing them there.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12131182B2Convolutional neural network operation grouping based on memory unit capacity
Publication Date: 2024.10.29 NANJING HORIZON ROBOTICS TECH CO LTD
  • US12131182B2 patent drawing
  • US12131182B2 patent drawing
  • US12131182B2 patent drawing

AI summary

Systems and methods of data processing are provided. The method comprises receiving an input data to be processed by a series of operations, identifying a first operation from the series of operations, selecting at least one second operation from the series of operations to be grouped with the first operation based at least in part on an amount of an input data and an output data of the grouped operations and the capacity of the memory unit, and processing a portion of the input data of the grouped operations. An efficiency of the series of data operations can be improved by ensuring the input data and output data of any data operations are both stored in the memory unit.