Neural Network Processing Distribution Across Multiple Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current neural network processing on portable electronic devices is inefficient due to limited processing capabilities and heat generation constraints, making it challenging to handle increasingly complex and computationally intensive tasks.

Innovation Solution

The method involves distributing neural network processing across multiple processors within a data processing system, assigning portions of processing based on available capabilities, and optimizing data transfer to improve efficiency and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If neural network processing is performed on portable electronic devices, then processing capability is improved, but heat generation increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidheat generation
Core Design Contradiction:
PowerVSTemperature

Solution Approach 1:

The neural network processing is divided into multiple layers, with each layer assigned to different processors (e.g., first processor for convolutional layers, second processor for fully connected layers). This segmentation allows parallel processing that distributes computational load and heat generation across multiple devices, enabling complex tasks while managing thermal constraints through spatial distribution of processing operations.

Inventive Principle:
Principle #1Segmentation

2Power

If neural network processing is performed on portable electronic devices, then processing capability is improved, but power consumption increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidpower consumption
Core Design Contradiction:
PowerVSUse of energy by moving object

Solution Approach 1:

By segmenting the neural network into multiple layers distributed across different processors, the system can optimize power consumption through selective activation. Each processor handles specific computational tasks (convolutional vs. fully connected layers), allowing the system to manage power usage more efficiently compared to a single processor handling all computations, thereby extending battery life while maintaining processing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system processes only the necessary portions of neural network layers based on the specific inference task requirements. By assigning different layers to different processors and selectively executing only required computations, the system avoids unnecessary power consumption while maintaining adequate processing capability for the given task.

Inventive Principle:
Principle #16Partial or excessive action

3Power

If neural network processing is performed on portable electronic devices, then processing capability is improved, but device complexity increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidsystem architecture
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The system employs a multi-functional architecture where different processors (first processor for convolutional layers, second processor for fully connected layers) can be configured to handle various neural network processing tasks. This universality allows a single device to perform complex neural network inference by coordinating multiple processors with different specialized functions, improving capability without proportionally increasing overall system complexity.

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

Data Source

PatentUS11379713B2Neural network processing
Publication Date: 2022.07.05 ARM LTD
  • US11379713B2 patent drawing
  • US11379713B2 patent drawing
  • US11379713B2 patent drawing

AI summary

A data processing system operable to process a neural network, and comprising a plurality of processors. The data processing system is operable to determine whether to perform neural network processing using a single processor or using plural processors. When it is determined that plural processors should be used, a distribution of the neural network processing among two or more of the processors is determined and the two or more processors are each assigned a portion of the neural network processing to perform. A neural network processing output is provided as a result of the processors performing their assigned portions of the neural network processing.