Neural Network Node Annotation for Dynamic CPU GPU Task Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Productivity
If operations are dynamically allocated based on runtime conditions, then execution efficiency and adaptability are improved, but system complexity increases
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
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
3Loss of time
If neural network models are compiled without node annotations, then compilation speed is improved, but adaptability to different hardware configurations deteriorates
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
4Adaptability or versatility
If node annotations are added during compilation, then hardware adaptability is improved, but compilation time increases
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
Data Source
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.


