Neural Network Task Allocation in Heterogeneous Resources
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods for allocating computing tasks of neural networks are limited in scope and accuracy, particularly when dealing with heterogeneous resources, as they primarily focus on minimizing memory usage and are only applicable to similar resources, lacking effectiveness in allocating tasks across diverse computing units.
Innovation Solution
A method that acquires task and resource information, determines allocation modes and costs, constructs a directed acyclic graph, and selects an optimal allocation path based on a loss function to minimize processing costs, allowing for efficient task distribution across heterogeneous resources such as GPUs and FPGAs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional memory-minimizing allocation mode is used, then memory usage is reduced, but allocation accuracy and applicability to heterogeneous resources deteriorates
Solution Approach 1:
The patent changes the optimization parameter from memory usage to task processing cost, which encompasses multiple dimensions including execution time, communication overhead, and resource utilization. This parameter transformation enables more accurate and comprehensive allocation decisions for heterogeneous resources.
Solution Approach 2:
The patent develops a universal allocation framework that can handle both homogeneous and heterogeneous resources through a unified cost model. The directed acyclic graph representation and loss function approach provide a multi-functional solution applicable to various resource types and task configurations.
2Ease of manufacture
If traditional allocation method for same-kind resources is used, then implementation simplicity is maintained, but applicability scope to heterogeneous resources deteriorates
Solution Approach 1:
The patent creates a universal allocation framework using directed acyclic graphs and loss functions that works across homogeneous and heterogeneous resource environments. The same mathematical framework adapts to different resource types by adjusting the cost function parameters.
Solution Approach 2:
The patent transforms the allocation problem into a parameter optimization problem where the loss function parameters can be adjusted to reflect different resource characteristics, enabling the same algorithm to handle diverse resource types effectively.
3Device complexity
If coarse-grained task allocation is used, then allocation complexity is reduced, but task allocation granularity and optimization precision deteriorates
Solution Approach 1:
The patent segments the neural network computation into multiple subtasks represented as nodes in a directed acyclic graph. This segmentation enables fine-grained allocation decisions for each subtask while maintaining overall task dependencies, achieving both granularity and manageability.
Solution Approach 2:
The patent introduces dynamic allocation where each subtask can be independently assigned to different resources based on real-time cost calculations. The loss function dynamically evaluates multiple allocation paths to find the optimal assignment, enabling adaptive fine-grained control.
Data Source
AI summary
A method and apparatus for allocating a computing task of a neural network in heterogeneous resources, a computer device, and a storage medium. The method includes: acquiring task information of the computing task of the neural network and resource information of the heterogeneous resources; determining, according to the task information and the resource information, an allocation mode for allocating each subtask to the heterogeneous resources for execution and a task processing cost corresponding to each allocation mode; constructing a directed acyclic graph according to each allocation mode and each task processing cost; obtaining a value of a loss function corresponding to each allocation path according to the task processing cost corresponding to each subtask in an allocation path of the directed acyclic graph; and selecting a target allocation path according to the value of each loss function.


