Neural Network Accelerator Layer Scheduling via Shared Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The transfer of data between a host computer system and a neural network accelerator in hardware accelerator-based implementations of neural networks can degrade performance due to the need for frequent data transfers, which is inefficient compared to CPU or GPU implementations.

Innovation Solution

A method where the host computer system copies an input data matrix to shared memory and instructs the neural network accelerator to perform operations on each layer sequentially, waiting for completion before initiating the next layer, and using the results data matrix from one layer as input for the next, thereby reducing the need for time-consuming data transfers between the host and accelerator.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If data is transferred between host computer system and neural network accelerator for each layer operation, then the neural network can be processed by hardware accelerator with faster speed and lower power consumption, but the frequent data transfers degrade overall performance

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing performance
Core Design Contradiction:
PowerVSProductivity

Solution Approach 1:

The patent merges the neural network accelerator with shared memory into a unified system where the accelerator can directly access and operate on data in the shared memory without requiring transfers to host memory. This integration eliminates the performance-degrading data transfer step while maintaining the power efficiency benefits of hardware acceleration.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared memory acts as an intermediary between the host computer system and the neural network accelerator, allowing the accelerator to access input data and store results without direct host intervention. This mediator enables the accelerator to perform multiple layer operations autonomously, reducing the frequency of data transfers and improving overall processing performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If data is transferred between host computer system and neural network accelerator for each layer operation, then the neural network can be processed by hardware accelerator with faster speed, but the frequent data transfers degrade overall performance

Engineering Contradiction:
Improveprocessing speedVSAvoidprocessing performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent merges the neural network accelerator with shared memory into a unified system where the accelerator can directly access and operate on data in the shared memory without requiring transfers to host memory. This integration eliminates the performance-degrading data transfer step while maintaining the speed advantages of hardware acceleration.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared memory enables continuous operation of the neural network accelerator by providing persistent access to data across multiple layer operations. The accelerator can continuously process data through multiple layers without interruption for data transfers, maintaining high processing speed and improving overall productivity.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If host waits for completion of each layer before initiating the next layer, then data transfer overhead is minimized, but control logic complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcontrol logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The neural network accelerator is designed to autonomously manage its own operation sequence, automatically waiting for completion of one layer before initiating the next layer without requiring complex host control logic. The accelerator self-manages the layer-by-layer processing workflow, reducing control complexity while maintaining processing efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a feedback mechanism where the neural network accelerator signals completion of each layer operation, and this completion signal automatically triggers the initiation of the next layer. This feedback-based control simplifies the overall control logic by using straightforward signal-based coordination between host and accelerator rather than complex sequential control.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11429848B2Host-directed multi-layer neural network processing via per-layer work requests
Publication Date: 2022.08.30 XILINX INC
  • US11429848B2 patent drawing
  • US11429848B2 patent drawing
  • US11429848B2 patent drawing

AI summary

In disclosed approaches of neural network processing, a host computer system copies an input data matrix from host memory to a shared memory for performing neural network operations of a first layer of a neural network by a neural network accelerator. The host instructs the neural network accelerator to perform neural network operations of each layer of the neural network beginning with the input data matrix. The neural network accelerator performs neural network operations of each layer in response to the instruction from the host. The host waits until the neural network accelerator signals completion of performing neural network operations of layer i before instructing the neural network accelerator to commence performing neural network operations of layer i+1, for i≥1. The host instructs the neural network accelerator to use a results data matrix in the shared memory from layer i as an input data matrix for layer i+1 for i≥1.