Systolic Processor Array Neural Network Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systolic processor arrays used for deep convolutional neural networks (CNNs) are inefficient due to significant time spent organizing and regrouping intermediate data, leading to high resource demand and slow execution.

Innovation Solution

A neural network architecture with an array of processing elements, each equipped with local memory and data propagation circuitry for synchronous lateral mixing of neuron data, using an expanding spiral shift sequence to optimize data propagation and reduce latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing systolic processor arrays are used to implement CNNs, then neural network processing can be performed, but significant time is spent organizing and regrouping intermediate data, leading to slow execution

Engineering Contradiction:
Improveprocessing speedVSAvoidtime spent organizing and regrouping data
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-organizing the systolic processor array into a grid structure where processing elements are predetermined to handle specific data flow patterns. The local memories are pre-configured to store neuron data in a manner that eliminates the need for dynamic reorganization during processing, allowing neurons to be activated in a predetermined sequence without intermediate regrouping operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the neural network processing into independent processing elements arranged in a grid, where each PE handles specific neuron computations. This segmentation allows parallel processing of different neuron groups simultaneously, eliminating the sequential bottlenecks that require data reorganization in traditional systolic arrays.

Inventive Principle:
Principle #1Segmentation

2Productivity

If existing systolic processor arrays are used to implement CNNs, then neural network computation can be performed, but processing resources are heavily demanded due to data reorganization operations

Engineering Contradiction:
Improvecomputational throughputVSAvoidresource demand for data organization
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal processing element design that can handle multiple neuron types (input, hidden, output layers) with the same basic computational structure. Each PE is multi-functional, capable of performing convolution, activation, and pooling operations through configurable parameters rather than dedicated hardware, reducing overall resource demand while maintaining high computational throughput.

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

Solution Approach 2:

The processing elements are designed to be self-sufficient with local memories that autonomously manage their own neuron data without requiring external control for data reorganization. Each PE independently retrieves necessary data from neighbors, performs computation, and stores results, eliminating the need for complex centralized data management resources.

Inventive Principle:
Principle #25Self-service

3Productivity

If traditional data propagation methods are used in systolic arrays, then neural network layers can be processed sequentially, but latency is increased due to repeated data transfers

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidlatency from data transfers
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a nested data structure where neuron data is organized in local memories that are hierarchically arranged. Each PE's local memory contains not only its own neuron data but also references to neighboring PEs' data, creating a nested access pattern that minimizes external transfers. This nesting allows neurons to access required data through localized memory operations rather than repeated physical data transfers across the array.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS20240232573A1Neural network architecture for a systolic processor array and method of processing data using a neural network
Publication Date: 2024.07.11 COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
  • US20240232573A1 patent drawing
  • US20240232573A1 patent drawing
  • US20240232573A1 patent drawing

AI summary

The present disclosure relates to an electronic circuit implementing a neural network, the electronic circuit comprising: an array of processing elements (PE) implementing one or more neurons of the neural network, each processing element comprising a data processing circuit, and a local memory configured to store neuron data; and data propagation circuitry configured to perform forward or reverse lateral mixing of the neuron data by propagating, synchronously by each processing element, the neuron data to the local memory of each processing element from the local memory of one or more neighboring processing elements, wherein each of the processing elements is configured to process, during a first processing iteration, the neuron data from the one or more neighboring processing elements in order to generate updated neuron data and to store the updated neuron data in the local memory for use during a subsequent processing iteration.