Heterogeneous Computing Autotuning for Runtime Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing heterogeneous computing systems face challenges in efficiently optimizing task distribution across different processors during runtime, leading to increased run-times due to the need for manual tuning, which is time-consuming and inefficient.

Innovation Solution

A method for online autotuning that configures program parameters during runtime by generating and adjusting tuning parameters, using a hybrid approach combining search, memorization, and model-based prediction to optimize performance metrics, while reducing the number of configurations tried and leveraging application-specific constraints and feedback to improve amortization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual tuning is performed to optimize task distribution across processors, then performance optimization is achieved, but time consumption increases significantly

Engineering Contradiction:
Improveperformance optimizationVSAvoidtuning time consumption
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system implements self-service through automatic tuning mechanisms that autonomously optimize task distribution without requiring manual intervention. The tuning system automatically analyzes system state, evaluates different configurations, and applies optimizations based on performance metrics, enabling the system to self-optimize while minimizing human time investment.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention applies parameter changes by dynamically adjusting tuning parameters such as task granularity, parallelization degree, and processor allocation based on real-time system state. These parameter adjustments allow the system to adapt to changing conditions and achieve optimal performance automatically without manual reconfiguration.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If online tuning is implemented to adjust parameters during runtime, then adaptability improves, but system complexity increases

Engineering Contradiction:
Improveruntime adaptabilityVSAvoidtuning system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms that continuously monitor performance metrics and system state during runtime. This feedback is used to automatically adjust tuning parameters and task distribution strategies, enabling the system to adapt to changing conditions while managing complexity through closed-loop control rather than complex open-loop configurations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The invention applies dynamics by making the tuning system flexible and adaptable during runtime. Rather than static configurations, the system dynamically adjusts task distribution, processor allocation, and parallelization strategies based on real-time conditions, achieving adaptability through controlled dynamic behavior rather than complex static structures.

Inventive Principle:
Principle #15Dynamics

3Productivity

If multiple computing applications are executed on heterogeneous processors, then computational efficiency improves, but task distribution optimization becomes more difficult

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidtask distribution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies segmentation by dividing the complex task distribution problem into manageable components. It segments applications into computational tasks, further divides tasks into subtasks suitable for different processor types, and allocates them systematically. This hierarchical segmentation simplifies the optimization of task distribution across heterogeneous processors while maintaining high computational efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention applies universality by creating a unified tuning framework that can handle multiple computing applications and heterogeneous processor types through a single system. This multi-functional approach allows the same optimization mechanisms to work across different application types and processor architectures, reducing overall complexity compared to separate optimization systems for each scenario.

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

Data Source

PatentUS20230236947A1Automatic tuning of a heterogeneous computing system
Publication Date: 2023.07.27 PARTEC AG
  • US20230236947A1 patent drawing
  • US20230236947A1 patent drawing
  • US20230236947A1 patent drawing

AI summary

The present invention provides a method of configuring program parameters during run-time of a computing program for computation in a heterogeneous computing system. A compile program is processed in an autotuning system to optimize the parameters of an application for processing in a heterogeneous system comprising, for example CPU and GPU cores.