Kernel Tuning Parameter Prediction via Neural Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional profiling systems for determining program tuning parameters on hardware devices are inefficient, requiring costly and time-consuming search algorithms that do not account for different input sizes and problem types, leading to degraded performance for unselected programs and long delays for user-tuned kernels.

Innovation Solution

The use of machine learning algorithms to predict tuning parameter values by converting numeric inputs to words and employing neural machine language translation techniques, with predetermined constraints to prevent invalid results, allowing for efficient and accurate prediction of tuning parameters based on performance efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional search algorithms are used to determine tuning parameters, then tuning parameter values can be determined, but the process requires costly compute resources and a large amount of time

Engineering Contradiction:
Improvetuning parameter accuracyVSAvoidtuning time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary profiling by executing the program with different combinations of tuning parameter values to collect performance data before actual use. This pre-computed performance data is stored and used to create performance models, eliminating the need for time-consuming search algorithms during runtime or user interaction.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates performance models that copy and represent the complex relationships between tuning parameters and performance outcomes. These models serve as simplified representations that can quickly predict optimal tuning parameters without requiring actual program execution or expensive search algorithms.

Inventive Principle:
Principle #26Copying

2Measurement precision

If conventional search algorithms are used to determine tuning parameters, then tuning parameter values can be determined, but costly compute resources are required

Engineering Contradiction:
Improvetuning parameter accuracyVSAvoidcompute resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system performs the computationally intensive work of exploring different tuning parameter combinations in advance during a profiling phase. The results are stored in performance models that can be queried efficiently later, avoiding repeated expensive computations during actual program execution or user tuning sessions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates performance models that replicate the complex computational relationships between tuning parameters and performance metrics. These models serve as lightweight copies that can provide accurate predictions without requiring the original expensive search algorithm computations.

Inventive Principle:
Principle #26Copying

3Productivity

If conventional search algorithms are used, then tuning parameters can be determined for selected programs, but unselected programs experience degraded performance and user-tuned kernels experience long delays

Engineering Contradiction:
Improveprogram selection speedVSAvoidperformance efficiency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system creates performance models that are universally applicable to the program and its variations. Once the program is profiled with different input sizes and problem types, the resulting performance model can predict optimal tuning parameters for any input configuration, eliminating the need for separate search algorithms for each program instance.

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

Solution Approach 2:

The system profiles the program with different combinations of tuning parameter values and input parameters to capture how performance varies across different conditions. This creates a comprehensive performance model that can adapt to different input sizes and problem types by selecting appropriate parameters from the pre-explored parameter space.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12033035B2Method and apparatus for predicting kernel tuning parameters
Publication Date: 2024.07.09 ADVANCED MICRO DEVICES INC
  • US12033035B2 patent drawing
  • US12033035B2 patent drawing
  • US12033035B2 patent drawing

AI summary

A processing device, which improves processing performance, is provided which comprises memory configured to store data and a processor, in communication with the memory. The processor is configured to receive tuning parameters, each having a numeric value, for executing a portion of a program on an identified hardware device and convert the numeric values of the tuning parameters to words. The processor is also configured to predict, using one or more machine language learning algorithms, which combination of the words to execute the portion of the program on the identified hardware device based on performance efficiency and convert the predicted combination of the words to corresponding numeric values for executing the portion of the program on the identified hardware device.