GPU Simulator Module for External Data Binding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing unit (GPU) systems lack flexibility in utilizing user data from external applications during image rendering, leading to potential mismatches and performance issues or crashes due to tightly controlled constant buffers.

Innovation Solution

A simulator module that communicates with external applications to provide user data to the GPU for use by shader functions, allowing entities to tailor the output of shader functions by binding user data to the rendering pipeline, enabling independent control over image rendering processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the data in constant buffers is tightly controlled by the application, then rendering reliability is improved, but adaptability for external applications deteriorates

Engineering Contradiction:
Improverendering reliabilityVSAvoidadaptability for external applications
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a simulator module as an intermediary layer between external applications and the GPU rendering pipeline. This module receives user data from external applications, processes it through the existing graphics library interface (DirectX, OpenGL, or OpenGL ES), and binds it to constant buffers in a manner that maintains rendering reliability while enabling external application adaptability. The simulator module acts as a mediator that translates external application data into the tightly controlled format required by the rendering pipeline.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If shader functions are called at high frequency for high-resolution imagery, then productivity is improved, but the risk of data mismatches and performance degradation increases

Engineering Contradiction:
Improveframe generation rateVSAvoiddata matching accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The simulator module performs preliminary actions by pre-processing and validating user data from external applications before it enters the high-frequency rendering pipeline. It binds user data to constant buffers in advance, ensuring data format compatibility and correctness before shader functions are called. This preliminary data preparation and validation prevents mismatches during high-speed rendering operations, maintaining both productivity and reliability.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If external applications can directly modify rendering data, then adaptability is improved, but system complexity increases

Engineering Contradiction:
Improveexternal application controlVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The simulator module is designed with universality to handle multiple types of external applications and various graphics libraries (DirectX, OpenGL, OpenGL ES) through a single unified interface. It provides multi-functional capabilities including data reception, validation, processing, and binding to constant buffers, thereby enabling external application adaptability without requiring separate complex systems for each application type or graphics API.

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

Data Source

PatentUS10013732B2Externally directed GPU data
Publication Date: 2018.07.03 LOCKHEED MARTIN CORP
  • US10013732B2 patent drawing
  • US10013732B2 patent drawing
  • US10013732B2 patent drawing

AI summary

Mechanisms for externally directing graphics processing unit data are disclosed. A simulator module includes an external application interface that is configured to communicate with an external application that is independent of the simulator module. The simulator module is configured to receive from the external application via the external application interface first user data and provide the first user data to a graphics processing unit (GPU) for use by a first shader function for image rendering during a first period of time. The simulator module continuously generates simulation data associated with a simulation and provides the simulation data to the GPU for the image rendering during the first period of time.