Neural Network Kernel Selection for Matrix Computations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Selecting an optimal kernel for matrix computations is challenging due to various performance-affecting factors, and existing methods require significant time and resources for training deep neural networks to accurately predict kernel relevancies, especially when dealing with diverse input sizes and hardware constraints.

Innovation Solution

A system that utilizes a deep neural network to rank kernels based on input factors and hardware specifications, with a kernel selection process involving a candidate generator, filter, neural network, sorter, and selection engine to efficiently choose the most relevant kernel for computations, and further trains the network using generated data to address difficult prediction areas.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a deep neural network is trained to accurately predict kernel relevancies, then kernel selection accuracy is improved, but training time and resource consumption increase

Engineering Contradiction:
Improvekernel selection accuracyVSAvoidtraining time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by generating synthetic training data that represents difficult prediction scenarios before actual kernel selection is needed. This pre-generated training data enables the neural network to be trained more efficiently on targeted cases, improving accuracy without requiring extensive training on all possible input variations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies local quality by focusing training efforts on specific difficult prediction areas rather than uniformly training on all possible inputs. By identifying and generating training data for problematic cases (such as specific matrix size ranges or hardware configurations), the neural network achieves higher accuracy in these critical regions while reducing overall training time.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If comprehensive training data is used to train the neural network, then prediction accuracy across diverse inputs is improved, but training resource consumption increases

Engineering Contradiction:
Improveprediction accuracyVSAvoidtraining resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system extracts and isolates the most critical training needs by identifying difficult prediction areas and generating targeted synthetic data for those specific cases. This extraction approach allows the neural network to be trained on a smaller, more focused dataset that captures the essential challenging scenarios, reducing overall training resource consumption while maintaining prediction accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If multiple kernels are evaluated to ensure optimal selection, then computation performance is improved, but selection time increases

Engineering Contradiction:
Improvecomputation performanceVSAvoidselection time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The neural network performs preliminary evaluation and ranking of candidate kernels based on input characteristics before actual kernel execution. This preliminary action allows the system to predict which kernels are likely to perform best without exhaustively evaluating all possible kernels, thus maintaining high computation performance while reducing selection time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11625605B2Selecting computational kernel variants using neural networks
Publication Date: 2023.04.11 NVIDIA CORP
  • US11625605B2 patent drawing
  • US11625605B2 patent drawing
  • US11625605B2 patent drawing

AI summary

Apparatuses, systems, and techniques to optimize kernel selection for performing a computation. In at least one embodiment, a neural network is trained and utilized to generate a list of kernels so that an (e.g., optimal) kernel may be identified. The neural network receives characteristics of the input matrices and determines relevancy scores for a list of possible kernels. Based on an ordered listing of kernels by relevant score, a kernel is selected from the list and utilized to perform the computation and provide the result.