Memory-Adaptive CNN Processing Reduces DRAM Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional neural networks (CNNs) face significant power consumption issues due to high DRAM access, particularly in edge devices, where optimizing DRAM access is crucial for reducing energy usage in AI computing.

Innovation Solution

A memory-adaptive processing method for CNNs that includes feature map counting, size relation calculation, and convolution calculation steps, which involve dividing output channels into groups and adapting the processing loop structure to minimize DRAM access by optimizing tile sizes and cache usage, employing techniques like input-layer-first and output-layer-first processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by stationary object

If conventional CNN processing is used, then computation is straightforward, but DRAM access consumes most of the power

Engineering Contradiction:
Improvepower consumptionVSAvoidDRAM access efficiency
Core Design Contradiction:
Use of energy by stationary objectVSProductivity

Solution Approach 1:

The patent segments the feature maps into tiles and divides the convolution operation into multiple processing stages. By processing smaller tile regions sequentially and using cache memory to store intermediate results, the system reduces repeated DRAM accesses while maintaining computational completeness. This segmentation allows the processor to work with smaller data chunks that fit in cache, thereby reducing power consumption from DRAM access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by pre-loading input feature map tiles into cache memory before the actual convolution computation. By preparing and storing necessary data in advance in the cache hierarchy, the system minimizes the need for repeated DRAM accesses during the computation phase, thus reducing power consumption while maintaining processing throughput.

Inventive Principle:
Principle #10Preliminary action

2Use of energy by stationary object

If feature map tile sizes are increased to reduce DRAM access, then cache utilization improves, but memory capacity requirements increase

Engineering Contradiction:
Improvepower consumptionVSAvoidcache memory size
Core Design Contradiction:
Use of energy by stationary objectVSVolume of stationary object

Solution Approach 1:

The patent dynamically adjusts the tile size and processing parameters based on the available cache memory capacity. By making the tile dimensions adaptive rather than fixed, the system can optimize the balance between reducing DRAM access frequency and fitting tiles within the available cache memory. This dynamic adjustment allows the same system to operate efficiently across different memory configurations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes key parameters such as tile size, number of output groups, and processing loop structure based on the calculated size relations between input/output feature maps and cache capacity. By varying these parameters adaptively, the system optimizes cache utilization and minimizes DRAM access without requiring a fixed large cache memory, thus resolving the contradiction between power consumption and memory size requirements.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If output channels are processed all at once, then computation is simpler, but cache memory cannot be efficiently utilized

Engineering Contradiction:
Improveprocessing throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent segments the output channels into multiple output groups and processes them in sequence rather than all at once. This segmentation allows the system to clear and reuse cache memory between different output group processing, significantly improving cache utilization efficiency. While the computation becomes slightly more complex due to the sequential processing, the reduction in DRAM access power consumption more than compensates for this overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic action by processing output channels in periodic batches (output groups) with cache clearing and reuse between batches. This periodic processing pattern allows the cache memory to be efficiently utilized for each group while maintaining overall processing throughput. The system alternates between computing for one output group, writing results to memory, clearing cache, and moving to the next group, creating a rhythmic processing cycle that optimizes both throughput and power consumption.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11467968B2Memory-adaptive processing method for convolutional neural network
Publication Date: 2022.10.11 NEUCHIPS CORP
  • US11467968B2 patent drawing
  • US11467968B2 patent drawing
  • US11467968B2 patent drawing

AI summary

A memory-adaptive processing method for a convolutional neural network includes a feature map counting step, a size relation counting step and a convolution calculating step. The feature map counting step is for counting a number of a plurality of input channels of a plurality of input feature maps, an input feature map tile size, a number of a plurality of output channels of a plurality of output feature maps and an output feature map tile size for a convolutional layer operation. The size relation counting step is for obtaining a cache free space size in a feature map cache and counting a size relation. The convolution calculating step is for performing the convolutional layer operation with the input feature maps to produce the output feature maps according to a memory-adaptive processing technique, and the memory-adaptive processing technique includes a dividing step and an output-group-first processing step.