Dynamic Kernel Code Generation for Heterogeneous Processing Resources

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveease of managementVSAvoidexecution efficiency
Core Design Contradiction:
Ease of operationVSProductivity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

2Productivity

If dedicated processing resources are used for high-performance computing tasks, then processing speed and parallelism are improved, but resource cost increases

Engineering Contradiction:
Improveprocessing speedVSAvoidresource cost
Core Design Contradiction:
ProductivityVSQuantity of substance

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

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

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

Inventive Principle:
Principle #34Discarding and recovering

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

Engineering Contradiction:
Improveresource flexibilityVSAvoidtask assignment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11163610B2Method, device, and computer program product for assigning tasks to dedicated processing resources
Publication Date: 2021.11.02 EMC IP HLDG CO LLC
  • US11163610B2 patent drawing
  • US11163610B2 patent drawing
  • US11163610B2 patent drawing

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.