Neuron Output Realigning Synchronization Module for ANN Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for accelerating artificial neural network (ANN) computations, such as GPUs and FPGAs, face challenges in power consumption, programming complexity, and inefficient data processing, particularly in handling large-scale parallel operations and massive data movement required for industrial applications.

Innovation Solution

A system and method for realigning streams of neuron outputs using a synchronization module to order and align neuron outputs from multiple processing units, reducing unnecessary mathematical operations by selectively processing input values and dynamically aligning results, thereby accelerating ANN computations on integrated circuits or FPGAs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If GPUs are used to process large ANNs to overcome throughput limitations, then computational throughput is improved, but power consumption increases excessively

Engineering Contradiction:
Improvecomputational throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the neural network computation into multiple processing units (e.g., multiple FPGAs or CPU cores) that work in parallel. Each processing unit handles a subset of neurons or operations, distributing the computational load across multiple lower-power devices rather than concentrating it in a single high-power GPU, thereby reducing overall power consumption while maintaining throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic task allocation and data distribution strategies where processing units adaptively receive and process data packets based on current computational needs. This dynamic approach allows the system to optimize power usage by activating only the necessary processing units for each computation batch, rather than continuously operating all units at full power

Inventive Principle:
Principle #15Dynamics

2Productivity

If FPGAs are configured to perform ANN computations in parallel, then computational efficiency is improved, but programming complexity increases significantly

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidprogramming complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent develops a universal programming framework and abstraction layer that enables FPGAs to perform various ANN computations (different network architectures, layers, and operations) using a single standardized interface. This universal approach allows the same high-level code to be deployed across different FPGA configurations and ANN types, significantly reducing programming complexity while maintaining parallel computational efficiency

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

Solution Approach 2:

The patent introduces an intermediary software layer (such as a compiler or runtime system) that translates high-level neural network descriptions into optimized FPGA-specific configurations. This intermediary handles the complexity of parallelization, memory management, and resource allocation automatically, shielding the user from low-level FPGA programming complexities while enabling efficient parallel computation

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If multiple processing units generate neuron outputs in parallel, then computation speed is improved, but data alignment becomes difficult

Engineering Contradiction:
Improvecomputation speedVSAvoiddata alignment complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements preliminary synchronization mechanisms where processing units exchange timing information and data metadata before actual computation begins. This preliminary action allows the system to pre-calculate data dependency relationships and establish synchronization barriers, ensuring that parallel processing units can operate independently at high speed while automatically aligning their outputs without complex post-processing

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs feedback-based synchronization where processing units continuously monitor each other's computation progress and dynamically adjust their processing pace. Through feedback signals and acknowledgment protocols, faster units can wait for slower units or re-synchronize at designated checkpoints, maintaining data alignment across parallel processors while minimizing idle time and preserving overall computation speed

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11126912B2Realigning streams of neuron outputs in artificial neural network computations
Publication Date: 2021.09.21 XILINX INC
  • US11126912B2 patent drawing
  • US11126912B2 patent drawing
  • US11126912B2 patent drawing

AI summary

Systems and methods for realigning streams of neuron outputs are provided. An example method may include generating, by a processing unit, neuron outputs including at least a first neuron output and a second neuron output, generating, by at least one further processing unit, further neuron outputs including at least a further first neuron output and a further second neuron output, receiving, by a synchronization module communicatively coupled to the processing unit and the further processing unit, the neuron outputs, wherein the neuron outputs and the further neuron outputs are received in an arbitrary order, and ordering, by the synchronization module, the first neuron output, the further first neuron output, the second neuron output and the further second neuron output according to a further order, the further order being different from the arbitrary order.