GPU Kernel Fusion Using IR and JIT for Compute-Limited Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing applications targeting specific processor architectures face challenges in maximizing performance due to the difficulty in exposing specialized implementations, leading to inefficiencies in compute-limited workloads like matrix multiplies and convolutions.

Innovation Solution

Implementing kernel fusion through separate compilation and just-in-time compilation of GPU kernels, using an active component to fuse low-level representations and optimize compute-limited operations, while maintaining proprietary functionality undisclosed to users.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If kernel fusion is implemented through separate compilation and just-in-time compilation, then performance and energy efficiency are enhanced, but device complexity and compilation overhead increase

Engineering Contradiction:
ImproveperformanceVSAvoidcompilation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing separate compilation of compute-limited kernels and user functionality ahead of runtime execution. The compute-limited kernel is compiled into an intermediate representation and stored for later fusion, preparing the optimization structure in advance without burdening the runtime system.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediate representation as a mediator between the compute-limited kernel and user functionality. This intermediate form allows the compute-limited kernel to be compiled separately and then fused with user code at runtime through a compilation manager, bridging the gap between pre-compilation and final execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Use of energy by moving object

If kernel fusion optimizes compute-limited operations, then energy efficiency improves, but code size and memory requirements increase

Engineering Contradiction:
Improveenergy efficiencyVSAvoidcode size
Core Design Contradiction:
Use of energy by moving objectVSQuantity of substance

Solution Approach 1:

The patent merges the compute-limited kernel with user functionality into a single fused kernel at runtime. This combination eliminates redundant operations and data transfers between separate kernel executions, optimizing energy efficiency by performing multiple operations in a unified computational pass.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent applies local quality by selectively fusing only the compute-limited portions of the workload while leaving other operations separate. The compilation manager identifies which kernels benefit from fusion and applies optimization locally to those specific operations rather than forcing universal fusion.

Inventive Principle:
Principle #3Local quality

3Productivity

If specialized hardware implementations are exposed, then performance for specific devices is maximized, but portability and ease of operation decrease

Engineering Contradiction:
Improvedevice performanceVSAvoidportability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent achieves universality by creating a compilation framework that works across different device types without requiring device-specific code changes. The compute-limited kernel is compiled into a device-agnostic intermediate representation that can be fused with user functionality for various target devices, maintaining portability while enabling optimization.

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

Solution Approach 2:

The patent uses parameter changes by adjusting compilation options and fusion strategies based on the target device characteristics. The system can modify compilation parameters such as optimization levels, fusion depth, and resource allocation to adapt to different hardware capabilities without changing the core algorithmic structure.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20260030004A1Kernel fusion for machine learning
Publication Date: 2026.01.29 NVIDIA CORP
  • US20260030004A1 patent drawing
  • US20260030004A1 patent drawing
  • US20260030004A1 patent drawing

AI summary

Apparatuses, systems, and techniques are presented to compile code. In at least one embodiment, one or more compilers are to compile one or more compiled portions of code with one or more intermediate representations of one or more portions of code.