Neural Network Accelerator Scheduling for Variable Layer Parallelism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware configurations for artificial neural networks often have suboptimal performance due to fixed layer configurations that do not accommodate varying parallelisms, leading to over-provisioning, increased costs, reduced reliability, and excess power consumption.

Innovation Solution

A signal processing system comprising a CPU and an accelerator with a plurality of processing engines (PEs) and an instruction scheduler, which dynamically configures operators to match computation demands, allowing for flexible implementation of operators like ReLU and pooling operations, and enables efficient processing of bitmap image files for feature extraction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If fixed configuration of processing engines is used for each layer, then hardware implementation is simplified, but performance becomes suboptimal due to inability to accommodate varying parallelisms

Engineering Contradiction:
Improvehardware implementation simplicityVSAvoidneural network processing performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic configuration of processing engines where the number and arrangement of PEs can be adjusted based on the specific layer requirements. Each layer can be configured with an optimal number of PEs matching its parallelism needs, transforming the static hardware architecture into a dynamically adaptable system that optimizes performance for different neural network operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal processing engine architecture where a single pool of PEs can serve multiple layers with different computational requirements. The processing engines are designed to be reconfigurable and can be allocated to different layers as needed, allowing the same hardware resources to fulfill multiple functions across various neural network layers.

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

2Productivity

If over-provisioning of processing engines is done to handle varying parallelisms, then performance requirements are met, but cost increases

Engineering Contradiction:
Improveneural network processing performanceVSAvoidnumber of processing engines
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically allocates processing engines to layers based on actual computational demands. Rather than having a fixed over-provisioned number of PEs, the architecture allows the active number of processing engines to vary depending on which layers are being executed and their specific parallelism requirements, eliminating the need for excessive hardware provisioning.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of processing engine allocation from a fixed static value to a dynamic value that adjusts based on layer requirements. This parameter change allows the system to optimize the number of active PEs for each specific operation, avoiding the cost of maintaining a permanently over-provisioned hardware configuration.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If over-provisioning of processing engines is done, then performance requirements are met, but power consumption increases

Engineering Contradiction:
Improveneural network processing performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic power management where processing engines are activated only when needed for specific layer executions. The system adjusts the active processing engine count to match the computational workload, preventing unnecessary power consumption from idle or over-provisioned hardware components while maintaining required performance levels.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system dynamically changes the operational parameter of processing engine activation states, transitioning between active and idle states based on real-time computational demands. This parameter adjustment optimizes power consumption by ensuring that processing engines consume energy only when performing useful computational work rather than remaining in a permanently active state.

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If fixed layer configuration is used, then hardware design is simplified, but resource utilization becomes inefficient

Engineering Contradiction:
Improvehardware configuration complexityVSAvoidresource utilization efficiency
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic configurability to the hardware architecture, allowing the processing engine allocation and layer mapping to adapt based on the specific neural network being executed. This dynamic approach maintains relatively simple hardware design while significantly improving resource utilization efficiency through flexible, on-the-fly configuration adjustments.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11354888B2Method and apparatus for a neural network
Publication Date: 2022.06.07 GM GLOBAL TECHNOLOGY OPERATIONS LLC
  • US11354888B2 patent drawing
  • US11354888B2 patent drawing
  • US11354888B2 patent drawing

AI summary

A signal processing system includes a central processing unit (CPU) in communication with an accelerator, and an instruction scheduler in communication with the accelerator. A first memory device including a first instruction set is configured to operate the accelerator, a second instruction set is configured to operate the CPU, and a second memory device is configured to receive a datafile. The accelerator includes a plurality of processing engines (PEs) and an instruction scheduler, the instruction set includes a plurality of operators, and the instruction scheduler is configured to implement the operators in the accelerator employing the PEs. The CPU employs the operators implemented in the accelerator to analyze the datafile to extract a feature therefrom.