Neural Network Node Annotation for Dynamic CPU GPU Task Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for deploying deep neural networks lack the capability to dynamically allocate operations between CPUs and GPUs based on available resources and other factors during runtime, leading to inefficient execution on varying hardware platforms.

Innovation Solution

The implementation annotates each node of a neural network model to indicate whether operations should be performed on a CPU or GPU, considering factors like hardware capabilities and resource utilization, allowing for dynamic task allocation during runtime to minimize total runtime across different devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If operations are statically allocated to CPU or GPU without runtime consideration, then deployment simplicity is improved, but execution efficiency and adaptability to hardware conditions deteriorate

Engineering Contradiction:
Improvedeployment simplicityVSAvoidexecution efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic task allocation by annotating each neural network node with metadata indicating CPU or GPU execution preference, allowing the system to adaptively allocate operations at runtime based on hardware availability and conditions rather than using static allocation, thus resolving the contradiction between deployment simplicity and execution efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the execution parameter (CPU vs GPU) based on runtime hardware conditions and resource availability. By modifying the execution platform parameter dynamically according to actual device state, the system achieves both ease of deployment through annotation and improved execution efficiency through adaptive allocation

Inventive Principle:
Principle #35Parameter changes

2Productivity

If operations are dynamically allocated based on runtime conditions, then execution efficiency and adaptability are improved, but system complexity increases

Engineering Contradiction:
Improveexecution efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by annotating each node during the neural network model preparation phase with execution preference metadata. This pre-computed annotation eliminates the need for complex runtime decision-making algorithms, reducing system complexity while maintaining dynamic adaptability and execution efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The annotation metadata serves as an intermediary between the neural network model and the execution platform. This intermediate layer simplifies the system by providing pre-determined execution preferences that guide runtime allocation without requiring complex allocation algorithms, thus reducing system complexity while maintaining efficiency

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If neural network models are compiled without node annotations, then compilation speed is improved, but adaptability to different hardware configurations deteriorates

Engineering Contradiction:
Improvecompilation speedVSAvoidhardware adaptability
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary annotation of each node during model compilation, storing execution preference metadata that enables hardware adaptability. This pre-computed annotation approach allows the model to be efficiently adapted to different hardware configurations without requiring re-compilation, resolving the contradiction between compilation speed and hardware adaptability

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If node annotations are added during compilation, then hardware adaptability is improved, but compilation time increases

Engineering Contradiction:
Improvehardware adaptabilityVSAvoidcompilation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The annotation process changes the parameter representation of each node by adding execution preference metadata. This parameter addition is designed to be computationally efficient during compilation, achieving hardware adaptability while minimizing compilation time overhead through optimized annotation algorithms

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12182619B2Annotation override determination for a neural network
Publication Date: 2024.12.31 ULTRA PRO INTERNATIONAL LLC
  • US12182619B2 patent drawing
  • US12182619B2 patent drawing
  • US12182619B2 patent drawing

AI summary

The subject technology provides for dynamic task allocation for neural network models. The subject technology determines an operation performed at a node of a neural network model. The subject technology assigns an annotation to indicate whether the operation is better performed on a CPU or a GPU based at least in part on hardware capabilities of a target platform. The subject technology determines whether the neural network model includes a second layer. The subject technology, in response to determining that the neural network model includes a second layer, for each node of the second layer of the neural network model, determines a second operation performed at the node. Further the subject technology assigns a second annotation to indicate whether the second operation is better performed on the CPU or the GPU based at least in part on the hardware capabilities of the target platform.