GPU Instruction Emulation via Instrumented Kernels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing GPU simulation approaches are inefficient, taking approximately twenty-four hours to simulate one minute of GPU execution and requiring frequent re-implementation of new instructions during hardware design, which hinders effective evaluation of real-world applications.

Innovation Solution

The development of an instrumentation engine that modifies GPU kernels to create instrumented kernels, allowing for the emulation of new GPU instructions on existing hardware platforms, using inline, appended, or offloaded emulation approaches to execute real-world applications with performance close to real hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing GPU simulation approaches are used, then new GPU instructions can be evaluated, but simulation time is excessively long (twenty-four hours for one minute of execution)

Engineering Contradiction:
Improveinstruction evaluation capabilityVSAvoidsimulation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the emulation process into three distinct approaches: inline emulation (integrating emulation code directly into the kernel), appended emulation (adding emulation code after the original kernel), and offloaded emulation (transferring specific instructions to CPU for execution). This segmentation allows selection of the most appropriate method for each specific emulation scenario, optimizing the balance between accuracy and performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the execution parameters by introducing instrumentation that can dynamically adjust how instructions are emulated. The instrumentation engine modifies kernel parameters and execution flow to enable efficient emulation of next-generation instructions on current hardware, reducing simulation time while maintaining evaluation accuracy.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If existing GPU simulation approaches are used, then new instructions can be emulated, but frequent re-implementation is required during hardware design

Engineering Contradiction:
Improveinstruction support capabilityVSAvoidre-implementation frequency
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal instrumentation engine that can handle multiple emulation scenarios through a single unified framework. The engine supports inline, appended, and offloaded emulation approaches, making it adaptable to various next-generation instructions without requiring separate implementation efforts for each case. This multi-functional design reduces re-implementation frequency during hardware design iteration.

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

Solution Approach 2:

The instrumentation engine acts as an intermediary layer between the original GPU kernel and the execution hardware. It intercepts and translates next-generation instructions into equivalent operations that can be executed on current hardware, eliminating the need for frequent re-implementation of emulation logic when hardware designs evolve.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If existing GPU simulation approaches are used, then instruction evaluation is possible, but performance is significantly degraded compared to real hardware

Engineering Contradiction:
Improveinstruction evaluation capabilityVSAvoidexecution performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent introduces dynamic emulation strategies that can adapt to different instruction types and execution contexts. The instrumentation engine dynamically selects the most appropriate emulation approach (inline, appended, or offloaded) based on the specific instruction being executed, maintaining high performance for compatible instructions while providing accurate emulation for next-generation instructions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different emulation quality levels to different parts of the kernel based on local requirements. Critical next-generation instructions receive detailed inline emulation for high accuracy, while less critical operations use lighter emulation approaches. This localized quality adjustment maintains overall performance while ensuring accurate evaluation where needed.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11694299B2Methods and apparatus to emulate graphics processing unit instructions
Publication Date: 2023.07.04 INTEL CORP
  • US11694299B2 patent drawing
  • US11694299B2 patent drawing
  • US11694299B2 patent drawing

AI summary

Embodiments are disclosed for emulation of graphics processing unit instructions. An example method executing an instrumented kernel using a logic circuit, the instrumented kernel including an emulation sequence; saving, in response to determination that the emulation sequence is to be executed, source data to a shared memory; setting an emulation request flag to indicate to processor circuitry separate from the logic circuit that offloaded execution of the emulation sequence is to be executed; monitoring the emulation request flag to determine whether the offloaded execution of the emulation sequence is complete; and accessing resulting data from the shared memory.