Dynamic Kernel Parameters for Data-Dependent Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing kernel optimization techniques are inefficient when data to be processed is unknown at the time of submission, leading to resource misallocation or increased latency due to delayed kernel execution.

Innovation Solution

Implementing a delayed kernel configuration and execution method where a kernel is submitted with configurable parameters, allowing for dynamic optimization based on data received later, using an agent to update these parameters and trigger execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the kernel is submitted before the data is received, then the kernel can be submitted early and resources can be allocated in advance, but the kernel parameters cannot be optimized because the data characteristics are unknown

Engineering Contradiction:
Improvekernel submission delayVSAvoidkernel execution efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The kernel is submitted in advance with placeholder parameters before the actual data is received. The system performs preliminary actions by preparing the kernel submission infrastructure, memory allocations, and execution frameworks ahead of time, so that when data arrives, the kernel can be executed immediately without waiting for data receipt to trigger submission.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The kernel parameters are made dynamic and configurable after submission. The system allows the kernel to be submitted with generic or placeholder parameters, then updates these parameters dynamically once the data characteristics become known. This enables the kernel to adapt its parameters (such as data type, size, format) based on the actual received data while maintaining early submission capability.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the kernel waits for data receipt before submission, then the kernel parameters can be optimized based on known data characteristics, but the submission and execution are delayed

Engineering Contradiction:
Improvekernel execution efficiencyVSAvoidsubmission delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system prepares and submits the kernel in advance before data receipt, performing the submission action beforehand. The kernel is queued and resources are allocated ahead of time, eliminating the need to wait for data before submission. When data arrives, the pre-submitted kernel can be executed immediately.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The kernel parameters are designed to be dynamically updateable after submission. The system maintains the ability to modify kernel parameters (such as data type specifications, memory allocation sizes, execution configurations) once the actual data characteristics are known, allowing optimization without delaying the initial submission.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If default kernel parameters are used when data is unknown, then the kernel can be submitted immediately, but resources may be over-allocated or under-allocated

Engineering Contradiction:
Improvesubmission timingVSAvoidresource allocation
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system performs preliminary resource allocation and kernel preparation before data receipt. Memory regions, execution contexts, and computational resources are allocated in advance based on expected or minimum requirements, enabling immediate kernel submission while preparing for subsequent parameter optimization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The kernel parameters are designed to be dynamically adjustable after submission. The system allows modification of resource allocation parameters (such as memory size, thread count, computational intensity) once the actual data characteristics are known, enabling the system to optimize resource usage to match the actual workload requirements.

Inventive Principle:
Principle #15Dynamics

4Productivity

If the application waits for data before submitting the kernel, then the kernel can be optimized for the specific data, but the execution timeline is pushed back

Engineering Contradiction:
Improvekernel optimizationVSAvoidexecution timeline
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The kernel submission is performed in advance before data receipt, establishing the execution timeline ahead of time. The system prepares the kernel with placeholder or generic parameters and queues it for execution, so that when data arrives and optimization becomes possible, the kernel is already positioned for immediate execution rather than being delayed by waiting for data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The kernel parameters are made dynamically configurable after submission. The system maintains the capability to update kernel parameters (such as data type specifications, optimization hints, execution configurations) once the actual data is received, allowing full optimization without pushing back the execution timeline.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12444013B2Kernel optimization and delayed execution
Publication Date: 2025.10.14 MELLANOX TECHNOLOGIES LTD(IL)
  • US12444013B2 patent drawing
  • US12444013B2 patent drawing
  • US12444013B2 patent drawing

AI summary

A kernel comprising at least one dynamically configurable parameter is submitted by a processor. The kernel is to be executed at a later time. Data is received after the kernel has been submitted. The at least one dynamically configurable parameter of the kernel is updated based on the data. The kernel having the at least one updated dynamically configurable parameter is executed after the at least one dynamically configurable parameter has been updated.