Graphics Function Virtualization Using Host GPU Redirection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtualizing graphics processing units (GPUs) in complex embedded systems, such as avionics devices and healthcare systems, is impractical due to scarce documentation, proprietary technology, and computational inefficiencies, leading to reduced fidelity and performance in simulation.
Innovation Solution
A host computer virtualizes and emulates certain hardware of the target system, intercepts graphics function calls at run-time, and redirects them to the host GPU without modifying the target code, using a virtual machine (VM) to maintain high-fidelity simulation and graphics output.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the target GPU is virtualized through a VM, then simulation fidelity is improved, but computing performance deteriorates due to the computational overhead of emulating complex graphics functions
Solution Approach 1:
The patent extracts the graphics function execution from the VM environment and redirects it to the host GPU. The VM no longer needs to emulate graphics functions, instead it intercepts function calls and redirects them to the host system's native GPU capabilities, eliminating the computational overhead of graphics emulation while maintaining simulation fidelity for other system components.
Solution Approach 2:
The patent introduces an intermediary mechanism (the VM with intercept functionality) between the target code and the host GPU. This intermediary captures graphics function calls and redirects them appropriately, allowing the VM to maintain high-fidelity simulation of the target system while leveraging the host GPU's native capabilities for graphics rendering.
2Measurement precision
If detailed knowledge of target hardware is acquired to build a VM that imitates the target system, then simulation fidelity is improved, but device complexity increases
Solution Approach 1:
The patent makes the VM universal by enabling it to run target code for different embedded systems without requiring specific GPU emulation for each target. The VM maintains fidelity by accurately emulating the target system's CPU, memory, and peripheral devices, while graphics rendering is handled by the host GPU through function call interception, eliminating the need for detailed target GPU knowledge.
3Ease of operation
If re-targeting of software is performed to compile on native hardware, then ease of operation is improved, but manufacturing precision deteriorates due to labor-intensive modification and reduced simulation fidelity
Solution Approach 1:
The patent creates a virtual copy of the target system's hardware environment (CPU, memory, peripherals) within the VM, allowing the target code to execute as if on the original embedded system. This virtual hardware copying maintains simulation fidelity without requiring software re-targeting, as the code runs natively on the emulated hardware while graphics functions are redirected to the host GPU.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A host computer for emulating a target system includes a host memory, a CPU, and a host GPU. The host memory is configured to store a library of graphics functions and a VM. The VM includes a section of emulated memory storing target code configured to execute on the target system. The CPU is configured to execute the VM to emulate the target system. The VM is configured to execute the target code and intercept a graphics function call in the target code. The VM is further configured to redirect the graphics function call to a corresponding graphics function in the library of graphics functions stored in the host memory. The host GPU is configured to execute the corresponding graphics function to determine at least one feature configured to be rendered on a display coupled to the host GPU.