Dynamic Kernel Code Generation for Heterogeneous Processing Resources
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods for assigning tasks to dedicated processing resources, such as GPUs and FPGAs, do not optimize for heterogeneous clusters, leading to inefficient resource utilization and low execution efficiency due to the use of the same kernel codes across different hardware resources.
Innovation Solution
A method that dynamically generates kernel codes based on the hardware capabilities of individual dedicated processing resources, allowing for dynamic optimization and efficient task scheduling across heterogeneous clusters by allocating tasks to resources that best match their capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the same kernel codes are used across different hardware resources, then the system is simple to operate and manage, but resource utilization is inefficient and execution efficiency is low
Solution Approach 1:
The patent implements dynamic task assignment that adapts to heterogeneous hardware resources. The system dynamically generates or selects kernel codes based on the specific hardware capabilities of each dedicated processing resource, transforming the static same-code approach into a dynamic adaptive approach that optimizes execution efficiency while maintaining manageable complexity through automated decision-making
Solution Approach 2:
The patent changes the parameter of kernel code configuration from uniform across all resources to variable based on hardware capabilities. By detecting hardware characteristics and adjusting kernel code parameters accordingly, the system achieves optimized performance on each hardware platform without requiring manual intervention for each configuration
2Productivity
If dedicated processing resources are used for high-performance computing tasks, then processing speed and parallelism are improved, but resource cost increases
Solution Approach 1:
The patent enables heterogeneous dedicated processing resources to be universally utilized for different computing tasks. By making the task assignment system adaptable to various hardware types and capabilities, the system maximizes the utility of existing resources, allowing older and newer devices to contribute effectively to high-performance computing tasks without requiring homogeneous hardware clusters
Solution Approach 2:
The patent enables effective utilization of older dedicated processing resources alongside newer ones. Instead of discarding or underutilizing legacy hardware, the system assigns appropriate tasks based on hardware capabilities, extracting remaining value from older resources while integrating newer high-performance devices, thereby reducing the need for continuous hardware replacement and investment
3Adaptability or versatility
If multiple different types of dedicated processing resources are used simultaneously, then resource flexibility and utilization are improved, but task assignment complexity increases
Solution Approach 1:
The patent implements a self-service task assignment mechanism where the system automatically detects hardware capabilities and assigns tasks without requiring manual configuration or complex user intervention. The automated detection and assignment process manages the complexity of heterogeneous resource coordination internally, presenting a simple interface to users while handling the sophisticated task distribution behind the scenes
Data Source
AI summary
A method comprises obtaining hardware information of a plurality of dedicated processing resources, wherein the plurality of dedicated processing resources comprises a first dedicated processing resource and a second dedicated processing resource, and the hardware information comprises first hardware information of the first dedicated processing resource and second hardware information of the second dedicated processing resource. The method further comprises generating a first task based on the first hardware information and a second task based on the second hardware information, and allocating the first task to the first dedicated processing resource and the second task to the second dedicated processing resource. For task scheduling in heterogeneous dedicated processing resources (for example, accelerator devices) scenario, the method generates corresponding kernel codes according to different hardware capabilities. Thus, dynamic optimization for the heterogeneous dedicated processing resources is implemented, thereby improving resource utilization rate and execution efficiency.


