CNN Compiler for Programmable Functional Array Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hardware solutions for implementing convolutional neural networks (CNNs) face challenges due to inefficient memory usage and power consumption, as traditional load/store architectures are not optimized for CNNs, leading to the need for a specialized processor architecture that can efficiently process CNNs without relying on external memory.

Innovation Solution

A compiler is developed to convert CNNs into a memory-efficient format suitable for programmable functional array processors, utilizing intelligent memory buffers and core compute elements that optimize memory usage by storing only necessary data, eliminating redundant data movement, and allowing asynchronous operation of components, thereby reducing power consumption and chip area.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional load/store architectures are used for CNN processing, then general-purpose computing is achieved, but memory efficiency deteriorates and power consumption increases

Engineering Contradiction:
Improvegeneral-purpose computing capabilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The processor is divided into multiple specialized functional units including convolution units, pooling units, normalization units, and activation units. Each unit is optimized for specific CNN operations, eliminating the need for general-purpose load/store instructions and reducing memory access overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Intelligent memory buffers are introduced as intermediary components between external memory and compute units. These buffers store intermediate activation maps and weight data, reducing frequent accesses to external memory and thereby lowering power consumption while maintaining computational efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If traditional memory architectures are used, then simplicity of design is maintained, but memory efficiency deteriorates due to redundant data movement

Engineering Contradiction:
Improvememory architecture simplicityVSAvoidenergy from redundant data movement
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

Data is pre-loaded into intelligent memory buffers before computation begins. Weight data and activation maps are staged in advance in the buffers, eliminating redundant data movement during the actual computation phase and reducing overall energy consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The intelligent memory buffers maintain continuous data supply to compute units during processing. By keeping data in the buffers and enabling continuous computation without frequent memory access interruptions, the system eliminates redundant data movement while maintaining design simplicity.

Inventive Principle:
Principle #20Continuity of useful action

3Area of stationary object

If external memory is used for CNN processing, then chip area is reduced, but processing speed deteriorates due to memory access latency

Engineering Contradiction:
Improvechip areaVSAvoidprocessing speed
Core Design Contradiction:
Area of stationary objectVSSpeed

Solution Approach 1:

Intelligent memory buffers are nested within the processor chip, creating a hierarchical memory structure. The buffers are positioned between external memory and compute units, providing fast local storage for frequently accessed data and reducing access latency without significantly increasing chip area.

Inventive Principle:
Principle #7Nested doll (Nesting)

4Speed

If data is stored in primary memory for processing, then processing speed improves, but memory requirements increase power consumption

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption from memory storage
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The intelligent memory buffers provide localized storage specifically for CNN data processing. By creating a dedicated storage region within the processor for activation maps and weight data, the system achieves fast access speeds while minimizing the energy required for memory storage and access.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11954467B2Convolutional neural network compiler for programmable functional array (PFA) processors
Publication Date: 2024.04.09 AARISH TECH
  • US11954467B2 patent drawing
  • US11954467B2 patent drawing
  • US11954467B2 patent drawing

AI summary

Convolutional neural network compilers for programmable functional array processors are provided. One such compiler involves a method for fitting a convolutional neural network (CNN) to a CNN processor to be performed by a compiler, the method comprising: receiving a CNN; converting the CNN into a CNN graph; converting the CNN graph into a memory graph comprising graph primitives corresponding to a plurality of components of the CNN processor including a primary memory; performing a memory analysis to determine an amount of memory required in the primary memory for at least one of the graph primitives; identifying a plurality of tokens within the memory graph to form a token graph, each of the plurality of tokens comprising one or more of the graph primitives; and generating, using the plurality of identified tokens, configuration settings for each of the plurality of components of the CNN processor.