Reconfigurable Compiler Capsules for Multi-Architecture Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing executable programs compiled for a specific processor architecture are often incompatible with different architectures, requiring retargeting or recompilation, which is time-consuming and increases program size and processing requirements.

Innovation Solution

A compiler generates executable instructions and annotations that allow programs to be compatible with multiple processor architectures, including GPUs and CPUs, by decoding and optimizing instructions to create bundled capsules that include both executable instructions and annotations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If executable programs are compiled for a specific processor architecture, then execution efficiency on that architecture is improved, but compatibility with different architectures deteriorates

Engineering Contradiction:
Improveexecution efficiencyVSAvoidarchitecture compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal executable program format that can be executed on multiple processor architectures (CPU, GPU, FPGA, etc.) without requiring separate compilations. The bundled capsule structure with architecture-agnostic bytecode and runtime translation layer enables one program to serve multiple architectures, directly resolving the contradiction between optimization for specific architecture and compatibility across architectures.

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

Solution Approach 2:

The patent introduces an intermediary runtime system that translates architecture-specific instructions from the bundled capsule into native code for the target processor at execution time. This intermediary layer allows the executable to maintain architecture independence while achieving native execution efficiency, resolving the contradiction by mediating between the universal bytecode format and architecture-specific execution requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If retargeting or recompilation is performed for different processor architectures, then compatibility with different architectures is improved, but processing time and resource usage increase

Engineering Contradiction:
Improvearchitecture compatibilityVSAvoidcompilation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary compilation actions by pre-generating architecture-independent bundled capsules containing bytecode and necessary instructions for multiple target architectures during a single compilation process. This preliminary action eliminates the need for time-consuming retargeting or recompilation when deploying to different architectures, as the executable is already prepared for multiple targets in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges multiple architecture-specific compiled versions into a single bundled capsule executable that contains all necessary machine code and instructions for different architectures. This consolidation reduces compilation time by performing one compilation operation that produces a universally compatible executable, rather than requiring separate compilation operations for each architecture.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If retargeting or recompilation is performed for different processor architectures, then compatibility with different architectures is improved, but program size increases drastically

Engineering Contradiction:
Improvearchitecture compatibilityVSAvoidprogram size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements a nested structure where a compact bundled capsule containing architecture-independent bytecode is nested within a runtime translation system. The actual architecture-specific machine code is generated on-demand during execution rather than being stored in the executable file. This nesting approach dramatically reduces program size compared to storing multiple complete architecture-specific versions, while maintaining compatibility across architectures.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent uses copying by storing a single shared copy of the architecture-independent bundled capsule that can be copied and executed on any supporting architecture. Instead of maintaining separate copies for each architecture, the system creates one master copy that adapts to different architectures through the runtime translation mechanism, significantly reducing the total program size required for multi-architecture support.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20260010355A1Compiler to generate reconfigurable executable programs
Publication Date: 2026.01.08 NVIDIA CORP
  • US20260010355A1 patent drawing
  • US20260010355A1 patent drawing
  • US20260010355A1 patent drawing

AI summary

Apparatuses, systems, and techniques to perform a compiler to generate one or more executable programs that may be configured to be performed by one or more of a plurality of different processor architectures. In at least one embodiment, a compiler generates one or more executable programs that may be configured to be performed by one or more of a plurality of different processor architectures based, at least in part, on said original uncompiled executable program.