Neural Network Accelerator Subgraph Merging for Execution Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural network computations are hindered by sequential execution of operators due to data dependencies and significant memory access times, leading to increased execution times in existing hardware accelerators.

Innovation Solution

Implementing a neural network hardware accelerator with merged operator mapping tables that allow for piece-wise polynomial approximation of subgraphs, enabling faster data processing by reducing arithmetic operations and memory access, and dynamically programming these tables to expand operational sequences without rebooting the hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential execution of operators is used in hardware accelerators, then data dependencies are handled correctly, but execution time increases significantly

Engineering Contradiction:
Improvecorrect handling of data dependenciesVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges multiple sequential operators into a single merged operator that can be executed in parallel. The merged operator combines the functionality of multiple operators (e.g., convolution, activation, normalization) into one unified operation, allowing the hardware accelerator to process multiple operations simultaneously without violating data dependencies, thus reducing execution time while maintaining correctness.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary analysis to identify operators that can be merged before execution. The system analyzes the computational graph to determine which operators have compatible data dependencies and can be combined into merged operators. This preliminary action enables the hardware accelerator to prepare parallel execution patterns in advance, reducing runtime execution time while ensuring correct handling of dependencies.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If multiple mapping tables are stored in hardware accelerator, then operational sequences are expanded, but hardware resources increase

Engineering Contradiction:
Improveoperational sequencesVSAvoidhardware resources
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal mapping table structure that can represent multiple operational sequences using a compact encoding scheme. Instead of storing separate mapping tables for each operational sequence, the system uses a single mapping table with additional control bits or parameters that enable the same hardware structure to perform multiple functions. This reduces hardware resource requirements while maintaining the ability to expand operational sequences.

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

Solution Approach 2:

The patent transitions from storing multiple separate mapping tables in the horizontal dimension to using a single mapping table with vertical dimension expansion through parameterization. By adding control parameters, address bits, or configuration registers to a single mapping table, the system can selectively access different operational sequences without increasing the fundamental hardware resource footprint, thus achieving expansion in a different dimensional space.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If arithmetic operations are reduced through polynomial approximation, then processing speed increases, but computational precision may decrease

Engineering Contradiction:
Improveprocessing speedVSAvoidcomputational precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent changes the parameter representation of computational operations by replacing exact arithmetic operations with piece-wise polynomial approximations. The system divides the input range into multiple segments and uses different polynomial parameters for each segment, allowing faster computation through simplified mathematical operations while maintaining precision through careful parameter selection and segmentation. This parameter transformation enables speed improvement without significant precision loss.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies partial arithmetic operations by using polynomial approximation only for portions of the computational workflow where precision requirements are lower or where the approximation error can be compensated. Critical operations that require high precision are still performed using exact arithmetic, while less critical operations use the faster polynomial approximation. This selective application of approximation maintains overall computational precision while achieving speed improvements in non-critical paths.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12045611B1Reconfigurable neural network processing based on subgraph recognition
Publication Date: 2024.07.23 AMAZON TECH INC
  • US12045611B1 patent drawing
  • US12045611B1 patent drawing
  • US12045611B1 patent drawing

AI summary

In one example, a method comprises: receiving input codes, wherein the input codes represent a computational dataflow graph; traversing the computational dataflow graph to identify single-entry-single-exit (SESE) subgraphs of the computational dataflow graph, wherein each SESE subgraph has a sequence of nodes comprising a root node and a child node and representing a sequence of element-wise operators, wherein the root node receives a single input tensor, and wherein the child node outputs a single output tensor; determining a merged operator for each SESE subgraph; and generating executable instructions for the computational dataflow graph to be executed by a hardware accelerator having a first execution unit and a second execution unit, wherein the executable instructions comprise first executable instructions for the merged operators targeted at the first execution unit, and second executable instructions for other operators of the computational dataflow graph targeted at the second execution unit.