Configurable Neural Network Accelerator for Flexible Layer Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

General-purpose compute engines, especially GPUs, are limited in processing power and cannot keep up with the increasing computational demands of neural network (NN) processing, and prior NN accelerators are inflexible when implementing different types and shapes of NN layers, leading to inefficiencies in memory access and computation.

Innovation Solution

A configurable NN accelerator architecture that employs a two-dimensional array of registers for data reuse and flexible implementation of various NN layer types and shapes, allowing for efficient computation and reduced storage requirements through dynamic reconfiguration of compute pipes and data processing circuits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If general-purpose compute engines (GPUs) are used for NN processing, then flexibility in implementation is maintained, but processing power and computational speed are insufficient

Engineering Contradiction:
Improveflexibility in implementationVSAvoidcomputational speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments NN processing into distinct layers (convolutional layers, fully-connected layers, etc.) and implements dedicated hardware circuits for each layer type. This segmentation allows each circuit to be optimized for its specific function while maintaining overall system flexibility through configurable parameters that adapt to different NN architectures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The accelerator employs dynamic reconfiguration capabilities where compute blocks can be programmatically configured to handle different layer types and shapes. The system dynamically adjusts operational parameters such as input/output feature map dimensions, number of filters, and stride values to match the specific NN layer being processed, enabling both high speed and adaptability.

Inventive Principle:
Principle #15Dynamics

2Productivity

If dedicated NN accelerators are used, then processing speed is improved, but flexibility in implementing different layer types and shapes is reduced

Engineering Contradiction:
Improveprocessing speedVSAvoidflexibility in implementing different layer types
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The accelerator design implements universal compute blocks that can perform multiple functions depending on configuration. The same hardware circuit can process convolutional layers, fully-connected layers, or other NN layer types by programmatically adjusting operational parameters. This multi-functionality maintains high processing speed while enabling flexibility across different NN architectures.

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

Solution Approach 2:

The system achieves flexibility through dynamic parameter changes rather than structural reconfiguration. Key parameters such as input feature map size, output feature map size, number of filters, kernel size, and stride values can be programmatically adjusted to match different layer requirements. This allows the same hardware to adapt to various layer types and shapes while maintaining optimized processing performance.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If rigid accelerator architecture is used, then hardware complexity is reduced, but memory access efficiency deteriorates due to inability to optimize for different layer shapes

Engineering Contradiction:
Improvehardware complexityVSAvoidmemory access efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system performs preliminary configuration of operational parameters before processing each layer. By pre-configuring the compute blocks with the specific dimensions, shapes, and parameters of the upcoming layer, the system optimizes memory access patterns in advance. This preliminary action enables efficient memory utilization without requiring complex dynamic reconfiguration hardware.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12079710B2Scalable neural network accelerator architecture
Publication Date: 2024.09.03 NXP USA INC
  • US12079710B2 patent drawing
  • US12079710B2 patent drawing
  • US12079710B2 patent drawing

AI summary

A scalable neural network accelerator may include a first circuit for selecting a sub array of an array of registers, wherein the sub array comprises LH rows of registers and LW columns of registers, and wherein LH and RH are integers. The accelerator may also include a register for storing a value that determines LH. In addition, the accelerator may include a first load circuit for loading data received from the memory bus into registers of the sub array.